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

5368 Commits

Author SHA1 Message Date
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
Dean Herbert
94cbe1838f
Replace usages of is null with == null 2024-04-03 01:50:39 +08: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
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
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ồ
113dbcd10f
Merge branch 'master' into fix-rotate-editor-button-disabled 2024-03-30 13:56:31 +07: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
Dan Balasescu
600098d845
Fix bulbs on Catmull sliders 2024-03-27 04:05:04 +09: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
4979305b2d
Ensure TryDisableCustomRulesetsCausing() never actually crashes itself 2024-03-25 11:34:29 +01: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
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
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
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
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
2b83e6bc4c
Fix check crash on empty beatmap 2024-03-19 19:17:22 +01: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
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
Arthur Araujo
f7aff76592 Fix codefactor issues 2024-03-16 23:03:06 -03:00
Arthur Araujo
63816adbc0 Add verify checks to unused audio at the end 2024-03-16 21:20:12 -03:00
Dan Balasescu
0beaa8e8c5
Merge branch 'master' into tcm-resume 2024-03-14 12:22:46 +09:00
Bartłomiej Dach
20c760835a
Fix audio in video check crashing on unexpected failures 2024-03-13 13:55:49 +01:00
nathen
8a26cdaaab Merge master 2024-03-09 22:33:13 -05:00
Bartłomiej Dach
44d0dc6113
Fix 1px flashlight gaps when gameplay scaling mode is active
Closes https://github.com/ppy/osu/issues/27522.

Concerns mostly taiko and catch.

Not much of a proper fix rather than a workaround but it is what it is.
I tried a few other things, including setting `MaskingSmoothness = 0` on
the scaling container itself, to no avail.
2024-03-08 11:07:30 +01:00
Bartłomiej Dach
3d8fdc52a4
Merge pull request #27501 from turbedi/throw_helper
Use ThrowHelper methods in more places
2024-03-07 11:36:21 +01:00
Dean Herbert
65ce4ca390
Never set waitingOnFrames if a replay is not attached 2024-03-06 04:37:11 +08:00
Berkan Diler
a891303484 Use ArgumentOutOfRangeException throw helper methods 2024-03-05 10:20:30 +01:00
Berkan Diler
9bac60a98f Use ArgumentNullException.ThrowIfNull in more places 2024-03-05 10:19:47 +01:00
Dan Balasescu
bce3bd55e5
Fix catch by moving cursor-specific handling local 2024-03-04 16:08:17 +09:00
Dan Balasescu
5bd037fe8f
Merge branch 'master' into catch-fail-on-banana 2024-03-04 13:13:26 +09:00
Dean Herbert
19ed78eef5
Log backwards seeks to sentry 2024-03-01 12:40:05 +08:00
Dean Herbert
cc8b838bd4
Add comprehensive log output to help figure out problematic clocks 2024-02-29 23:05:28 +08:00
Dean Herbert
4184a5c1ef
Add flag to allow backwards seeks in tests 2024-02-29 23:05:28 +08:00
Huo Yaoyuan
a11e63b184 Make the code more clear 2024-02-29 20:02:04 +08:00
Dean Herbert
3a780e2b67
Add logging when workaround is hit 2024-02-29 18:27:50 +08:00
Dean Herbert
3355764a68
"Fix" tests 2024-02-29 18:21:44 +08:00
Dean Herbert
76e8aee9cc
Disallow backwards seeks during frame stable operation when a replay is not attached 2024-02-29 14:15:32 +08:00
Huo Yaoyuan
f28f19ed7e
Fix method indent size
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2024-02-29 10:47:16 +08:00
Huo Yaoyuan
e86ebd6cdb Fix formatting 2024-02-29 00:24:24 +08:00
Huo Yaoyuan
470d2be2e1 The overhead of LINQ is not ignorable 2024-02-29 00:07:00 +08:00
Huo Yaoyuan
bcb91f348d Use ArrayPool instead of stackalloc 2024-02-28 22:51:36 +08:00
Huo Yaoyuan
fe34577ee2 Update parsing. 2024-02-28 22:42:08 +08:00
Huo Yaoyuan
4bff54d35d Add ToString on PathControlPoint for debugging 2024-02-28 22:37:14 +08:00
Huo Yaoyuan
f49aa4d815 Parse points and segments for path string 2024-02-28 22:01:39 +08:00
Bartłomiej Dach
46ec477191
Merge pull request #27386 from peppy/fix-use-current-distance-snap
Fix "Use current" snap not working
2024-02-26 12:30:35 +01:00
Bartłomiej Dach
353485a707
Merge branch 'master' into flashlight-playfield-based-size- 2024-02-26 10:55:06 +01:00
Bartłomiej Dach
115d82664b
Assert proportional scaling rather than assume average
Because if scaling is ever actually non-proportional then this should be
somewhat loud.

Also use the absolute value to prevent funny things happening if/when
someone does negative scale.
2024-02-26 10:53:04 +01:00
Dean Herbert
9a46e738bd
Fix inspections 2024-02-26 15:45:29 +08:00
Dean Herbert
4c744ccb69
Fix "Use current" snap not working
Regressed with https://github.com/ppy/osu/pull/27249.

I was suspicious of this specific operation at the time but didn't test properly.
2024-02-26 14:11:54 +08:00
Andrei Zavatski
9e3defebda Remove unused using 2024-02-25 19:05:40 +03:00
Andrei Zavatski
c3fa97d062 Reduce allocations in HitObjectLifetimeEntry 2024-02-25 18:02:42 +03:00
Dean Herbert
e8d2abc4f7
Merge pull request #27364 from EVAST9919/spinner-alloc
Reduce osu spinner allocations
2024-02-25 09:36:02 +08:00
Andrei Zavatski
1fb19e7129 Reduce allocations in DrawableSpinner 2024-02-24 20:18:30 +03:00
Dan Balasescu
006416057b
Merge pull request #27144 from cdwcgt/allow-muted-ranked
Allow pp for muted mod for any combination of settings
2024-02-25 00:31:37 +09:00
Andrei Zavatski
c758640311 Reduce allocations in ComposerDistanceSnapProvider 2024-02-19 20:49:56 +03:00
Dean Herbert
4d4d69521f
Merge pull request #27114 from EVAST9919/judgements-rework
Cache created judgement in `HitObject`
2024-02-18 18:07:58 +08:00
Dean Herbert
9655e8c48a
Adjust xmldoc slightly 2024-02-18 17:54:29 +08:00
Andrei Zavatski
22f5a66c02 Reduce allocations during beatmap selection 2024-02-17 15:46:38 +03:00
Andrei Zavatski
060b01eee8 Make CreateJudgement public again and add remarks 2024-02-16 20:24:02 +03:00
Andrei Zavatski
dd32c0a226 Merge branch 'master' into judgements-rework 2024-02-16 20:08:57 +03:00
Dean Herbert
c1d9f53ab4
Merge pull request #27068 from smoogipoo/mania-hd-fi-progression
Add progressive coverage for mania's Hidden and FadeIn mods
2024-02-16 01:00:53 +08:00
Dean Herbert
9e9297bfb3
Add inline documentation as to why classic mod is not ranked
See https://github.com/ppy/osu/pull/27149#issuecomment-1939509941.
2024-02-15 13:22:54 +08:00
Bartłomiej Dach
2c0a5b7ef5
Fix missing tiny droplet not triggering fail with perfect on
Stable does this:

    46cd3a10af/osu!/GameplayElements/HitObjectManagerFruits.cs#L98-L102

I'd rather not say what I think about it doing that, since it's likely
to be unpublishable, but to approximate that, just make it so that
only the "default fail condition" is beholden to the weird ebbs
and flows of what the ruleset wants. This appears to fix the problem
case and I'm hoping it doesn't break something else but I'm like 50/50
on it happening anyway at this point. Just gotta add tests add nauseam.
2024-02-14 14:21:48 +01:00
Bartłomiej Dach
16d893d40c
Fix draining processor failing gameplay on bonus misses and ignore hits 2024-02-13 13:06:19 +01:00
cdwcgt
1944a12634
allow ModMuted to ranked when setting adjusted 2024-02-12 21:18:31 +09:00
tsunyoku
901b82384d replace linq usage in Previous and Next with more direct computation 2024-02-10 15:42:55 +00:00
Andrei Zavatski
c500264306 Cache created judgement in HitObject 2024-02-09 23:20:31 +03:00
Berkan Diler
6adf0ac01e Use new LINQ Order() instead of OrderBy() when possible 2024-02-08 18:01:00 +01:00
Dan Balasescu
5bc7befbd4
Add progressive cover to mania HD and FI mods 2024-02-06 23:47:20 +09:00
Dean Herbert
d784934bce
Merge pull request #26935 from bdach/new-mods-for-pp
Allow a few new mods and mod settings for pp
2024-02-06 20:54:20 +08:00
Bartłomiej Dach
8df593a8e6
Allow pp for No Scope
Deemed as not affecting difficulty or pp in
https://github.com/ppy/osu/pull/26935#issuecomment-1925644008,
so can be treated pretty much as nomod.
2024-02-06 13:04:19 +01:00
Dan Balasescu
c18cd65081
Merge pull request #26694 from chandler14362/hit-object-result-allocations
Avoid closure allocations when applying hit object results
2024-02-06 17:49:26 +09:00
Bartłomiej Dach
f65449375e
Merge branch 'master' into scrolling-alloc 2024-02-05 19:59:47 +01:00
Bartłomiej Dach
4b5348bbbf
Merge branch 'master' into ur-alloc 2024-02-05 19:14:08 +01:00
Bartłomiej Dach
7b03bebd5f
Move algorithm description to remarks section of xmldoc 2024-02-05 18:57:57 +01:00
Bartłomiej Dach
a5aeb2ff9e
Use better variable names
It's not the 1970s. We can spare a few extra letters.
2024-02-05 18:56:20 +01:00
Bartłomiej Dach
3e29a9c334
Merge pull request #26877 from smoogipoo/adjust-default-minresult
Adjust default min result of `SliderTailHit`, remove override
2024-02-05 14:15:38 +01:00
Bartłomiej Dach
39fe078984
Merge branch 'master' into hit-object-result-allocations 2024-02-05 13:24:10 +01:00
Bartłomiej Dach
2976f225e0
Improve xmldoc of state param 2024-02-05 13:22:58 +01:00
Bartłomiej Dach
efe6bb25b1
Refactor result application around again to remove requirement for fields
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-02-05 13:21:01 +01:00
Bartłomiej Dach
83df6297d2
Merge branch 'master' into new-mods-for-pp 2024-02-04 12:20:31 +01:00
Dean Herbert
c64d414d1b
Merge pull request #26934 from bdach/which-mods-for-pp
Display which mods grant pp
2024-02-04 19:15:11 +08:00
Andrei Zavatski
4aa27482a9 Use SlimReadOnlyDictionaryWrapper for AliveEntries 2024-02-03 19:54:08 +03:00
Andrei Zavatski
57bc5ee04f Improve readability 2024-02-03 00:19:04 +03:00
Andrei Zavatski
dde7e068a4 Incorporate new unstable rate algo 2024-02-02 22:46:52 +03:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections 2024-02-02 21:00:28 +09:00
Andrei Zavatski
53c5483eba Reduce allocation in Playfield 2024-02-02 04:53:48 +03:00
Bartłomiej Dach
ea76f7a5d8
Allow pp for Double/Half Time's "adjust pitch" setting 2024-02-01 22:33:49 +01:00
Bartłomiej Dach
96f66aaa2e
Allow pp for Accuracy Challenge
Addresses https://github.com/ppy/osu/discussions/26919.
2024-02-01 22:30:26 +01:00
Bartłomiej Dach
c114fd8f89
Allow pp for Sudden Death and Perfect regardless of "restart on fail" setting
Closes https://github.com/ppy/osu/issues/26844.
2024-02-01 22:28:49 +01:00
Bartłomiej Dach
f89923aeae
Annotate mods that give pp 2024-01-31 14:59:35 +01:00
Dan Balasescu
0642d74014
Expose as ReadOnlyDictionary 2024-01-31 22:52:57 +09:00
Bartłomiej Dach
e71c95f1fe
Reintroduce IMod.Ranked
What goes around, comes around.
2024-01-31 14:48:35 +01:00
Dan Balasescu
0642a0ee11
Adjust default min result of SliderTailHit, remove override 2024-01-31 18:01:29 +09:00
Dean Herbert
fbc923b47e
Revert "Merge pull request #26870 from smoogipoo/adjust-default-minresult"
This reverts commit 1acff746ee, reversing
changes made to 696ecda398.
2024-01-31 17:51:38 +09:00
Dan Balasescu
9b1bbe5f48
Adjust default min result of SliderTailHit, remove override 2024-01-31 16:12:05 +09:00
Andrei Zavatski
6b1de5446a Reduce allocaations in ScrollingHitObjectContainer 2024-01-31 07:54:28 +03:00
Andrei Zavatski
3aefc91967 Make AliveDrawableMap public 2024-01-31 07:54:07 +03:00
Andrei Zavatski
87f853fcd2 Reduce overhead in ScrollingHitObjectContainer 2024-01-30 00:59:31 +03:00
Bartłomiej Dach
2667cb8b36
Merge pull request #26703 from peppy/smaller-slider-misses
Adjust slider tick / end defaults again
2024-01-29 13:51:07 +01:00
Dean Herbert
a1fe5eedd5
Merge pull request #26751 from frenzibyte/fix-multiplayer-fail-freezing-score
Fix score processor no longer applying results when failing in multiplayer match
2024-01-29 19:51:31 +09:00
Dean Herbert
760368709a
Mark some delegates as static because we can 2024-01-29 16:16:28 +09:00
Dean Herbert
76832a1495
Remove ScorePerformanceCache
This class was only used in two places, both on the results screen, but
was holding references to `OsuPlayfield` game-wide (due to unrelated
issues, but still).

Because I can't really think of future use cases for this, and running
the calculation twice at results screen isn't a huge overhead, let's
just do that for now to keep things simple.
2024-01-29 15:28:20 +09:00
Dean Herbert
de32e7815b
Clean up DrawableHitObject events on Dispose
This is just general safeties to avoid cases where
components don't correctly unbind events.
2024-01-29 15:28:20 +09:00
Salman Ahmed
64b61108ad Move solution to multiplayer flow instead 2024-01-28 00:42:04 +03:00
Salman Ahmed
5f68999893 Fix TestSceneFailJudgement asserts no longer being correct 2024-01-27 23:23:32 +03:00
Salman Ahmed
a25be9927d Fix score processor no longer applying results when failing in multiplayer match 2024-01-27 23:23:10 +03:00
Dean Herbert
347e88f597
Add note about using static callback 2024-01-26 16:21:48 +09:00
Chandler Stowell
93bd3ce5ae update DrawableHitCircle.ApplyResult to pass this to its callback 2024-01-25 11:25:41 -05:00
OliBomby
c2d57dc77c Merge remote-tracking branch 'upstream/master' into edit-nodesample 2024-01-25 11:33:29 +01:00
Dean Herbert
107b37494e
Update triangles skin judgment display 2024-01-25 19:31:57 +09:00
Dean Herbert
dda96d7106
Rename JudgementPiece to TextJudgementPiece 2024-01-25 19:31:57 +09:00
Nguyên Minh Hồ
94ada87cba Un-hardcode tooltip from EditorRadioButton and add disabled tooltip for rotation popover 2024-01-25 14:32:48 +07:00
Nguyên Minh Hồ
500bed0121 Split editor toolbox radio button disabling logic from EditorRadioButton, then add disabling logic for rotate popover 2024-01-25 14:24:35 +07:00
Chandler Stowell
d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Bartłomiej Dach
cb8ec48717
Make RankFromScore()'s dictionary param readonly
Just to make sure nobody tries any "funny" business.
2024-01-22 19:56:30 +01:00
Bartłomiej Dach
5bae9074aa
Merge branch 'master' into s-rank-change 2024-01-22 19:54:53 +01:00
Bartłomiej Dach
b85a861175
Merge pull request #26668 from peppy/adjust-tick-end-misses
Adjust slider tick / end miss animations to be less busy
2024-01-22 15:03:33 +01:00
Bartłomiej Dach
17d05b0fdf
Fix non-miss drawable judgements fading out instantly on triangles skin
`else if` proves to be insidious once again.
2024-01-22 14:23:46 +01:00
Dean Herbert
c8521b49cd
Change S rank to require no miss 2024-01-22 21:43:32 +09:00
Bartłomiej Dach
7f31070b87
Merge pull request #26648 from peppy/fix-followpoint-pooling
Fix `FollowPointConnection` pool filling up when follow points are hidden
2024-01-22 13:31:43 +01:00
Dean Herbert
47e9846315
Adjust slider tick / end miss animations to be less busy 2024-01-22 18:48:48 +09:00
Bartłomiej Dach
77ef12ebb0
Merge branch 'master' into frame-stable-catchup-zoom 2024-01-22 10:37:06 +01:00
Dean Herbert
1999e772f6
Fix FollowPointConnection pool filling up when follow points are hidden
Closes https://github.com/ppy/osu/issues/26642.

I think this applied to all pooling cases here.
2024-01-21 10:31:27 +09:00
Dean Herbert
e73910571f
Allow FrameStabilityContainer to continue updating while paused during replay playback 2024-01-18 20:13:28 +09:00
Dean Herbert
2afa4c7e1c
Remove redundant RequiresChildrenUpdate usage
We are already manually calling `base.UpdateSubTree` when we need to.
Changing this flag is doing nothing and just adds to the complexity of
the implementation.
2024-01-18 20:13:28 +09:00
Dean Herbert
c362a93a36
Change frame stable catch-up method to allow for much faster sync 2024-01-18 14:01:37 +09:00
Dean Herbert
45e52854ca
Change key overlay to use the ordering provided by rulesets
osu!mania already goes out of its way to order things correctly.
Arguably, osu!taiko just did it wrong.
2024-01-17 17:37:38 +09:00
Bartłomiej Dach
cde0c0b2ee
Merge pull request #26561 from peppy/fix-catch-banana-health-bar
Fix argon health bar showing "miss" bar for bananas
2024-01-16 11:04:38 +01:00
Dean Herbert
57a6025a2c
Add helper method to bypass judgement woes 2024-01-16 15:52:05 +09:00
Dean Herbert
902a5436f3
Fix silver S/SS not being awarded correctly 2024-01-16 13:21:15 +09:00
Dean Herbert
6b844ed8b6
Split out judgement pooling concepts from OsuPlayfield for reuse 2024-01-15 20:50:09 +09:00
Salman Ahmed
13060c8698
Merge branch 'master' into slider-tick-display 2024-01-14 16:35:34 +03:00
Bartłomiej Dach
1cd7656f33
Reorder hit results so that SliderTailHit is next to SmallTickHit
This addresses https://github.com/ppy/osu/discussions/26507.
2024-01-14 09:33:04 +01:00
Bartłomiej Dach
b7d74fda88
Revert "Keep editor in frame stable mode when possible" 2024-01-14 09:10:39 +01:00
Bartłomiej Dach
7c9adc7ad3
Fix incorrect score conversion on selected beatmaps due to incorrect difficultyPeppyStars rounding
Fixes issue that occurs on *about* 246 beatmaps and was first described
by me on discord:

    https://discord.com/channels/188630481301012481/188630652340404224/1154367700378865715

and then rediscovered again during work on
https://github.com/ppy/osu/pull/26405:

    https://gist.github.com/bdach/414d5289f65b0399fa8f9732245a4f7c#venenog-on-ultmate-end-by-blacky-overdose-631

It so happens that in stable, due to .NET Framework internals, float
math would be performed using x87 registers and opcodes.
.NET (Core) however uses SSE instructions on 32- and 64-bit words.
x87 registers are _80 bits_ wide. Which is notably wider than _both_
float and double. Therefore, on a significant number of beatmaps,
the rounding would not produce correct values due to insufficient
precision.

See following gist for corroboration of the above:

    https://gist.github.com/bdach/dcde58d5a3607b0408faa3aa2b67bf10

Thus, to crudely - but, seemingly accurately, after checking across
all ranked maps - emulate this, use `decimal`, which is slow, but has
bigger precision than `double`. The single known exception beatmap
in whose case this results in an incorrect result is

    https://osu.ppy.sh/beatmapsets/1156087#osu/2625853

which is considered an "acceptable casualty" of sorts.

Doing this requires some fooling of the compiler / runtime (see second
inline comment in new method). To corroborate that this is required,
you can try the following code snippet:

    Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3f).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3).Select(x => x.ToString("X2"))));
    Console.WriteLine();

    decimal d1 = (decimal)1.3f;
    decimal d2 = (decimal)1.3;
    decimal d3 = (decimal)(double)1.3f;

    Console.WriteLine(string.Join(' ', decimal.GetBits(d1).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', decimal.GetBits(d2).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', decimal.GetBits(d3).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));

which will print

    66 66 A6 3F
    CD CC CC CC CC CC F4 3F

    0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    8C 5D 89 FB 3B 76 00 00 00 00 00 00 00 00 0E 00

Note that despite `d1` being converted from a less-precise floating-
-point value than `d2`, it still is represented 100% accurately as
a decimal number.

After applying this change, recomputation of legacy scoring attributes
for *all* rulesets will be required.
2024-01-10 19:30:18 +01:00
Dean Herbert
a4c9e9f84d
Merge pull request #26405 from bdach/catch-scoring
Adjust catch scoring to match stable score V2
2024-01-10 01:28:56 +09:00
Bartłomiej Dach
00a4c055b3
Merge branch 'master' into catch-scoring 2024-01-09 15:49:37 +01:00
Bartłomiej Dach
8110c995dd
Merge branch 'master' into allocs-off-the-charts 2024-01-09 14:11:00 +01:00
Dean Herbert
6f8a3e15d8
Merge pull request #26382 from peppy/editor-more-frame-stable
Keep editor in frame stable mode when possible
2024-01-09 13:25:03 +09:00
Bartłomiej Dach
aa83b84bb2
Fix Cinema mod being compatible with mods that can force failure
Addresses
https://github.com/ppy/osu/pull/26080#issuecomment-1868833214.
2024-01-08 22:34:41 +01:00
Bartłomiej Dach
8295ad1feb
Change catch scoring to match score V2 2024-01-05 20:46:11 +01:00
Dean Herbert
e9289cfbe7
Reduce precision of audio balance adjustments during slider sliding 2024-01-05 02:26:30 +09:00
Dean Herbert
b12011d501
Avoid rank updates after failing 2024-01-04 17:13:24 +09:00
Dean Herbert
a4dee1a01a
Don't unset Disabled on rank (never actually disabled?) 2024-01-04 17:13:24 +09:00
Dean Herbert
705f25e4b9
Make ScoreProcessor.Rank read-only 2024-01-04 17:13:24 +09:00
Dean Herbert
65c29b4f09
Make editor remain frame stable during normal playback 2024-01-04 15:47:16 +09:00
OliBomby
98505d0bba improve grid from points tool code 2024-01-01 16:12:28 +01:00
OliBomby
f223487e1c improve code 2024-01-01 15:13:10 +01:00
OliBomby
b16c232490 add basic control by grid tool box 2024-01-01 15:13:10 +01:00
Dan Balasescu
807443b648
Add HitResult.SliderTailHit 2023-12-30 10:38:47 +09:00
Dan Balasescu
a6313c4ee8
Expose Mod.UsesDefaultConfiguration 2023-12-29 17:16:16 +09:00
rushiiMachine
75b9d0fe66
Make flashlight scale with playfield
When the playfield is shrunk with mods such as BarrelRoll, flashlight does not account for this, making it significantly easier to play. This makes it scale along with the playfield.
2023-12-27 23:02:45 -08:00
Bartłomiej Dach
288ac930e4
Use new icons in editor
Some that exist on figma are purposefully not used due to an editorial
request from @peppy.
2023-12-27 17:42:18 +01:00
Dean Herbert
8e6ea2dd9b
Update argon and triangles to match display style 2023-12-25 17:37:28 +09:00
Dean Herbert
d72ec81684
Merge pull request #26083 from smoogipoo/try-improve-hp-drain
Replace recently-added HP drain density calculation with combo-end bonus
2023-12-24 01:30:49 +09:00
Dan Balasescu
d1000b2e6c
remove HP density 2023-12-23 23:36:15 +09:00
Bartłomiej Dach
0cbf594a8c
Make cinema mod incompatible with no fail 2023-12-23 15:10:31 +01:00
Dean Herbert
15a9740eb6
Change "cinema" mod to never fail
Addresses https://github.com/ppy/osu/discussions/26032.
2023-12-23 21:12:47 +09:00
Dean Herbert
21e9e103fd
Merge pull request #26039 from smoogipoo/hp-drain-density
Add basic density consideration to HP drain
2023-12-23 01:04:53 +09:00
Dean Herbert
7e09164d70
Merge pull request #26036 from smoogipoo/fix-perfect-mod-special-judgements
Fix perfect mod not failing with special judgements
2023-12-22 18:22:28 +09:00
Dan Balasescu
a0185508b7
Add basic consideration of density for HP drain 2023-12-22 18:08:26 +09:00
Dan Balasescu
5703546d71
Revert change to ModSuddenDeath 2023-12-22 16:43:17 +09:00
Dan Balasescu
ea778c6e0a
Fix perfect/sudden death not working on slider tails 2023-12-22 14:02:25 +09:00
Dan Balasescu
6b4b2a57fc
Expose only as one method 2023-12-21 14:58:23 +09:00
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +09:00
Bartłomiej Dach
a763ad8473
Add remarks to Is{Hit,Miss}() to explain their simultaneous existence 2023-12-20 19:07:18 +01:00
Dean Herbert
eb8fb8092d
Attempt to standardise miss handling logic 2023-12-21 00:59:35 +09:00
Dean Herbert
9b383e3276
Add support for showing tick misses 2023-12-20 20:23:19 +09:00