Dan Balasescu
2ae34530f7
Avoid NaN values during ApplyBeatmap processing()
2023-05-19 14:14:34 +09:00
Dan Balasescu
7cbf48ffcf
Fix TestSceneScoring and incorrect combo calculations
2023-05-19 14:09:19 +09:00
Dan Balasescu
8b56a3f87d
Remove ClassicScoreMultiplier and DefaultScoreProcessor
2023-05-19 12:24:52 +09:00
Dan Balasescu
00e0411369
Fix/rework ModAccuracyChallenge calculation
2023-05-18 20:45:02 +09:00
Dan Balasescu
ef86be6d21
Fix base score added for non-accuracy-affecting objects
2023-05-18 20:32:50 +09:00
Dan Balasescu
510b8e4c78
Remove ScoreManager.Mode, handle per-use
2023-05-18 20:08:49 +09:00
Dan Balasescu
829e47d30b
Add MaxTotalScore for performance breakdown calculator
2023-05-18 17:47:25 +09:00
Dan Balasescu
f2483a1cf8
Add some helper methods, fix precision differences
...
Introduces some error at all times, but if we're to store scores everywhere as
`long`, then the same precision should be applied to the "during
gameplay" path as well.
2023-05-18 17:44:31 +09:00
Dean Herbert
ee522253cb
Remove a couple of unnecessary volume
declarations
2023-05-18 14:12:57 +09:00
Dean Herbert
b58ab28765
Make EditorClock
non-nullable in PlacementBlueprint
2023-05-17 21:40:52 +09:00
Dean Herbert
0b25818bd2
Update combo information on placement blueprint
2023-05-17 17:26:19 +09:00
Dean Herbert
8d925c8a8a
Move combo information updating to an interface level helper method
2023-05-17 17:26:19 +09:00
Dean Herbert
e43f2c2c43
Improve previous hitobject lookup efficient and correctness
2023-05-17 17:19:29 +09:00
Dean Herbert
7d7d402d4e
Apply NRT to PlacementBlueprint
2023-05-17 17:19:29 +09:00
Dean Herbert
510ebe1f23
Fix weird optional usage in HitSampleInfo.With
2023-05-17 14:11:52 +09:00
Dean Herbert
dc51d5ecf3
Rename GetSampleInfo
to better describe what method does
...
Also add full xmldoc
2023-05-17 14:07:48 +09:00
John
e2633ae993
Removed unnecessary [Resolved] attribute (thanks bdach)
...
Moved accent color assignment from OnUpdate to ApplyCustomUpdateState. In order to get this to work, a flag needed to be added to DrawableHitObject.cs to disable combo color updates also being applied.
2023-05-16 21:08:56 -07:00
Dean Herbert
d9ae822966
Fix bank not correctly being assigned when adding sample additions in editor
2023-05-16 18:52:52 +09:00
Dean Herbert
83dcd78826
Make HitSampleInfo.Bank
non-nullable
2023-05-16 18:12:56 +09:00
Bartłomiej Dach
e6786e0244
Merge branch 'master' into editor-slider-placement-input
2023-05-14 10:52:22 +02:00
Bartłomiej Dach
325de2dc22
Merge pull request #23507 from peppy/editor-blueprint-end-placement
...
Move blueprint validity conditions to allow more correct external usage of `EndPlacement`
2023-05-14 10:24:04 +02:00
Dean Herbert
8c542c6c51
Fix hold-for-right-click showing during gameplay
2023-05-13 21:32:30 +09:00
John
7a907f7207
Code quality improvements (thanks to ItsShamed): Removed #nullable disable, fixed incorrect LocalisableString, removed incorrect dependency injection for OsuColour, fixed nullable dependency for IBeatmap
...
Removed unnecessary usage of "this." caught by the CI code quality check
2023-05-12 22:13:39 -07:00
John
e5884016ab
Initial commit for the snap colour mod. Implements basic functionality.
2023-05-12 19:07:25 -07:00
Dean Herbert
0c1959ef2f
Allow commiting / undoing placement of blueprints using back / select bindings
2023-05-12 16:06:20 +09:00
Dean Herbert
f443cfb93e
Move blueprint validity conditions to allow more correct external usage of EndPlacement
...
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.
By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
Dan Balasescu
a7b623f52a
Reimplement classic scoring mode
2023-05-09 20:21:38 +09:00
Dan Balasescu
3c3c812ed6
Initial implementation of ScoreV2
2023-05-09 19:33:33 +09:00
Bartłomiej Dach
1d162d1d15
Merge pull request #23440 from peppy/drawable-hit-object-sync-animations
...
Fix hit object animations not being played back in sync
2023-05-08 23:44:37 +02:00
Bartłomiej Dach
30ce86a582
Merge pull request #23437 from peppy/fix-hold-note-input-test
...
Fix `TestSceneHoldNoteInput` not displaying correctly
2023-05-08 22:22:33 +02:00
Dean Herbert
64498e95a4
Add an IAnimationTimeReference
to DrawableHitObject
to synchronise all animations
2023-05-08 18:56:29 +09:00
Dan Balasescu
d2380bd840
Remove usages of [ExcludeFromDynamicCompile]
2023-05-08 18:12:56 +09:00
Dean Herbert
1b7dd32eb1
Apply nullability in related classes and remove unused variable
2023-05-08 17:09:08 +09:00
Bartłomiej Dach
34b19dd6f4
Merge branch 'master' into slider-velocity-inspector
2023-05-05 20:20:16 +02:00
Bartłomiej Dach
4ca80cf6be
Merge pull request #23404 from peppy/show-sv-in-inspector
...
Show slider velocity in hit object inspector
2023-05-05 20:19:50 +02:00
Dean Herbert
490df8073c
Fix one incorrect namespace syntax file
2023-05-05 21:15:26 +09:00
Dean Herbert
cc70d89bf9
Move editor inspector classes out of ruleset namespace
2023-05-05 15:57:38 +09:00
Dean Herbert
4663057060
Split out EditorInspector
implementation for reuse
2023-05-05 15:54:15 +09:00
Dean Herbert
76b2f0e6dd
Show slider velocity in hit object inspector
2023-05-05 15:15:18 +09:00
Dean Herbert
698baa78bf
Merge pull request #22711 from Terochi/keep-shared-settings-ruleset-change
...
Keep shared mod settings when changing ruleset
2023-05-05 13:29:55 +09:00
Bartłomiej Dach
485b7282dc
Clarify type check
2023-05-04 19:06:07 +02:00
Bartłomiej Dach
1f1342b099
Reword xmldoc
2023-05-04 18:33:49 +02:00
Bartłomiej Dach
88e77ad390
Rename Settings{-> Map}
2023-05-04 18:30:41 +02:00
Bartłomiej Dach
26337dbcd8
Do not rely on unspecified Dictionary.Values
ordering
2023-05-04 18:29:01 +02:00
Bartłomiej Dach
0d2396c557
Rename method to better indicate directionality
2023-05-04 18:15:12 +02:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
...
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
e42b0cc5b1
Merge pull request #23370 from peppy/fix-editor-playfield-padding
...
Add more padding around playfield in editor to avoid overlap with tool areas
2023-05-03 11:44:55 +09:00
Dean Herbert
414b80d44e
Change flashlight depth in a more standard way
2023-05-02 17:00:54 +09:00
Dean Herbert
b2b9f2a036
Merge branch 'master' into bubble_mod_implementation_clean
2023-05-02 16:59:55 +09:00
OliBomby
2e018c8b06
Fix comment 2 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:47 +02:00
OliBomby
c2ad8c2320
Fix comment 1 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:30 +02:00
Dean Herbert
67f83f246b
Add more padding around playfield in editor to avoid overlap with tool areas
...
Closes #23130 .
2023-05-02 15:37:02 +09:00
Dean Herbert
e3c384c6b5
Merge branch 'master' into sample-control-points
2023-05-02 14:38:39 +09:00
OliBomby
cf5211aec9
Enable current distance snap when exactly on a hit object
2023-05-01 19:22:52 +02:00
OliBomby
27cfadca16
add sample info to Banana and SpinnerBonusTick
2023-05-01 14:54:06 +02:00
OliBomby
2a94757154
Make sure the first object you place has bank and volume
2023-05-01 00:49:01 +02:00
OliBomby
608fa3cc73
Merge remote-tracking branch 'upstream/master' into sample-control-points
2023-04-30 19:47:03 +02:00
OliBomby
83111223e0
fix null sample
2023-04-30 01:08:52 +02:00
OliBomby
92efd04f31
fix sample of drumroll ticks being bankless
2023-04-29 23:52:24 +02:00
OliBomby
ffcc8e91b2
fix legacy parser incorrectly assigning sample info for sliders
2023-04-29 23:51:49 +02:00
OliBomby
354cd23874
removed all usage of hitobject's DifficultyControlPoint
2023-04-26 18:17:02 +02:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00
OliBomby
c6fc180659
remove all test usages of SampleControlPoint
2023-04-26 14:21:52 +02:00
OliBomby
6c70948681
Remove IContext & add IHasGenerateTicks
2023-04-26 13:10:57 +02:00
OliBomby
e27c4dfa10
Invoke ApplyDefaultsToSelf
2023-04-26 11:46:05 +02:00
Terochi
332c199dc2
further simplification
2023-04-26 10:46:29 +02:00
cdwcgt
bfd81b77fa
provide more Accuracy Mode for ModAccuracyChallenge
2023-04-26 17:40:25 +09:00
Dean Herbert
27f81288ef
Merge branch 'master' into keep-shared-settings-ruleset-change
2023-04-26 15:51:31 +09:00
Dean Herbert
cb7b246e33
Fix naming and update in line with nullability
2023-04-26 15:27:58 +09:00
Dean Herbert
210c5e7c53
Merge branch 'master' into decouple-mod-fails
2023-04-26 15:26:20 +09:00
Terochi
0841e73a39
Improved readability and sounds
2023-04-25 21:07:17 +02:00
OliBomby
66eda40cdf
fix implementations of IHasSliderVelocity
2023-04-25 18:22:22 +02:00
OliBomby
065464d90c
Fixed DifficultyPointPiece
2023-04-25 18:12:53 +02:00
OliBomby
ebe1d852f5
remove other usages of hitobject SampleControlPoint
2023-04-25 16:01:43 +02:00
OliBomby
97910d6be6
remove unused directives
2023-04-25 13:06:37 +02:00
OliBomby
891b87a5ff
remove ApplyLegacyInfo method
2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798
Add LegacyContext
2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2
made the SampleControlPoint and DifficultyControlPoint obsolete
2023-04-25 11:34:09 +02:00
Dan Balasescu
c0a25144cf
Apply changes to custom ShaderManager
2023-04-18 11:31:56 +09:00
Bartłomiej Dach
db86ced4b4
Invoke RevertResult
on parent DHO when nested DHO is reverted
...
The behaviour described above was removed in
812a4b412a
, thus henceforth
contradicting `RevertResult`'s xmldoc. As it is relied on by some
external rulesets, bring it back to unbreak them.
2023-04-11 18:29:08 +02:00
Bartłomiej Dach
ead5e9f027
Merge branch 'master' into editor-inspector
2023-04-10 14:29:05 +02:00
Bartłomiej Dach
60358c7203
Perform first inspector text update immediately
...
Provides better and more consistent initial state for the inspector.
2023-04-10 14:13:53 +02:00
Bartłomiej Dach
641415ca32
Unify displayed duration format for single/multiple selection
2023-04-10 14:05:32 +02:00
Dan Balasescu
15f6bc155e
Add progressive score multiplier for HT
2023-04-10 13:35:48 +09:00
Dan Balasescu
c923482976
Add progressive score multiplier for DT
2023-04-10 13:31:48 +09:00
Dean Herbert
ad717d2368
Fix scheduled calls piling up during transactions
2023-04-06 23:39:36 +09:00
Andrei Zavatski
ed565b1e59
Fix SampleStore isn't being disposed
2023-04-06 11:40:04 +03:00
Bartłomiej Dach
e5d57a65c9
Fix incorrect indent
2023-04-05 19:47:25 +02:00
Bartłomiej Dach
432f698697
Merge branch 'master' into gameplay/key-counter-abstraction
2023-04-05 19:45:14 +02:00
Dean Herbert
9c8b25e034
Fix display not always updating when expected by updating on a schedule
2023-04-05 13:45:24 +09:00
Dean Herbert
f07d859532
Optimise how often we update the display
2023-04-04 19:31:33 +09:00
Dean Herbert
3209b09270
Move inspector into own file
2023-04-04 19:17:34 +09:00
Dean Herbert
4aed483005
Tidy up dependency resolution
2023-04-04 19:14:30 +09:00
Dean Herbert
195b5fc3f1
Add view for selections of size != 1
2023-04-04 19:11:48 +09:00
Dean Herbert
b0d5761667
Add object type
2023-04-04 19:05:50 +09:00
Dean Herbert
c356c163fa
Add hit object inspector view
2023-04-04 19:03:45 +09:00
Dean Herbert
f9ebdadfe8
Move right-side editor toolbox to base HitObjectComposer
...
Move right-side editor toolbox to base `HitObjectComposer`
2023-04-04 19:00:56 +09:00
Dean Herbert
7011928d86
Fix abysmal debug performance due to try-catch logic in DrawableRulesetDependencies
2023-04-03 18:04:33 +09:00
Dean Herbert
b0c09df259
Merge branch 'master' into gameplay/key-counter-abstraction
2023-04-03 15:33:35 +09:00
Dean Herbert
0d77ec013a
Fix ruleset-local shader manager not correctly falling back to existing cached shaders
2023-03-28 15:00:49 +09:00
Dean Herbert
c742b3f0a8
Update DrawableRulesetDependencies
xmldoc to read more correctly
2023-03-28 14:15:19 +09:00
Salman Ahmed
678e8ed736
Update UBO usages inline with framework changes
2023-03-16 14:06:35 +03:00
Dean Herbert
7b34607676
Merge branch 'master' into bubble_mod_implementation_clean
2023-03-16 13:45:22 +09:00
Dean Herbert
5f9b13a775
Rename Add
/AddRange
methods as they are no longer conflicting with Container
2023-03-15 18:02:41 +09:00
Dean Herbert
969c0e9c9d
Merge branch 'master' into veldrid-renderer
2023-03-14 17:35:38 +09:00
Terochi
8e8dda3ac0
Big simplifying
2023-03-11 23:29:36 +01:00
Dan Balasescu
e327993d11
Merge pull request #22527 from Terochi/replay-length-extension
...
Replay recording extension until results screen transition
2023-03-11 15:41:32 +09:00
Terochi
b51c41a804
Addressed changes
2023-03-09 20:14:58 +01:00
tsrk
44297a7d0a
refactor: make KCD a CompositeDrawable
2023-03-08 00:47:16 +00:00
Bartłomiej Dach
72695f7c90
Merge branch 'master' into omit-barline-in-timing-control-point
2023-03-07 22:46:24 +01:00
Terochi
8bf84869a5
Fixed errors covered in new tests
2023-03-07 20:39:50 +01:00
Bartłomiej Dach
7ade525eef
Display corner radius setting as percentage
2023-03-07 19:43:52 +01:00
Dean Herbert
28520414aa
Move KeyCounter
components to HUD
namespace
2023-03-07 16:41:39 +09:00
Dean Herbert
8f6df5ea0f
Merge branch 'master' into gameplay/key-counter-abstraction
2023-03-07 16:09:45 +09:00
Dean Herbert
044b0604b2
Move OmitFirstBarLine
to TimingControlPoint
2023-02-28 19:29:31 +09:00
Dan Balasescu
dd9748a25c
Adjust DrawNodes to use UBOs
2023-02-25 01:42:55 +09:00
Terochi
09e7c21b23
Implemented a more complex setting conversion logic + tests
2023-02-24 15:11:22 +01:00
Bartłomiej Dach
d679703fa2
Merge pull request #22659 from peppy/fix-taiko-drum-nested-sample-detection
...
Fix `GameplaySampleTriggerSource` not considering nested objects when determining the best sample to play
2023-02-22 18:56:59 +01:00
tsrk
1beec71037
refactor(KeyCounterDisplay): apply suggestions
...
I also took the freedom to add type checking, as we can't limit the
usage of `Add()` since it's a Container. The exception thrown also
advises of using the suggested `AddTrigger()` instead.
2023-02-22 14:58:27 +00:00
Dean Herbert
a8c692a215
Merge pull request #22635 from peppy/use-overlays-container-more
...
Use `Overlays` container rather than `KeyBindingInputManager` for flashlight
2023-02-22 18:30:21 +09:00
Bartłomiej Dach
ab97b02235
Remove contradictory remark from xmldoc
2023-02-21 21:05:46 +01:00
Terochi
dd53a70071
Addressed change requests
2023-02-21 21:01:31 +01:00
Terochi
191604340f
Added a way for mod settings to be kept when changing ruleset + test
2023-02-21 19:05:10 +01:00
Dean Herbert
9384687d6d
Switch ModMuted
to add its metronome to components rather than overlays
2023-02-21 19:04:06 +09:00
Dean Herbert
1acc536248
Move DrawableRuleset.Audio
to a less generic level
2023-02-21 19:03:52 +09:00
Dean Herbert
5ba6059911
Merge branch 'master' into fix-taiko-drum-nested-sample-detection
2023-02-21 13:58:15 +09:00
MK56
b74c1c8334
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-19 21:36:59 +01:00
Bartłomiej Dach
3183f5cee2
Merge branch 'master' into revert-result-in-playfield
2023-02-19 16:33:10 +01:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing
2023-02-19 15:06:40 +01:00
Bartłomiej Dach
aac32a2c9f
Combine config and time checks into one
...
Functionally equivalent right now, but the combined variant is more
localised to what it actually needs to do, and less error-prone if
any new code gets appended to the method.
2023-02-19 13:14:51 +01:00
Maximilian Kruse
f3522c4162
change bindable seekToHitObject to private
2023-02-19 10:18:02 +01:00
Maximilian Kruse
ddd37bb319
Add setting to disable automatic seeking after object placement
2023-02-18 19:43:45 +01:00
Dean Herbert
19d5293ad1
Change early return to also find the earliest nested object
2023-02-17 18:59:31 +09:00
Bartłomiej Dach
3ee046000e
Merge branch 'master' into revert-result-in-playfield
2023-02-16 21:54:29 +01:00
Bartłomiej Dach
b8084a15eb
Revert ResumeOverlay
setter accessibility change
2023-02-16 21:26:01 +01:00
Dean Herbert
affa9507a1
Fix GameplaySampleTriggerSource
not considering nested objects when determining the best sample to play
2023-02-16 18:21:33 +09:00
Dean Herbert
ce9ef3bc3c
Always create ResumeOverlay
, with UseResumeOverlay
flag only affecting whether it is displayed or not
2023-02-16 15:47:20 +09:00
Dean Herbert
7afdcb9383
Merge branch 'master' into hide-resume-overlay
2023-02-16 15:42:14 +09:00
tsrk
076eb81b21
refactor: rename trigger classes
...
Makes it better to understand their purpose
2023-02-15 21:46:13 +00:00
tsrk
157bba7830
refactor: rename Trigger
class to InputTrigger
2023-02-15 21:41:36 +00:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object
2023-02-15 14:48:15 +09:00
Dean Herbert
5024838f3a
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-15 13:47:18 +09:00
Dean Herbert
5ec5222d8a
Expose and consume OsuInputManager
explicitly
2023-02-14 17:36:07 +09:00
Dean Herbert
b42b5f97cf
Use Overlays
container rather than KeyBindingInputManager
for flashlight
2023-02-14 17:36:07 +09:00
Dean Herbert
970388d4e2
Move Overlays
container to accept input and be frame-stable
2023-02-14 17:35:12 +09:00
Dean Herbert
7aaaf7fca2
Combine and attempt to simplify the score import / preparation process further
2023-02-14 16:55:35 +09:00
Dean Herbert
63f3498762
Restructure UseResumeOverlay
to correctly handle a value change before BDL load
2023-02-14 15:11:33 +09:00
Pasi4K5
e4b84ebd0b
Add UseResumeOverlay
and use it for hiding the ResumeOverlay
2023-02-13 23:51:39 +01:00
tsrk
74a58fb674
refactor: separate things in KeyCounter
...
To implement different different sources of input for KeyCounter, it
is now possible to create a Trigger class (to inherit) instead of
inheriting KeyCounter. This eases the creation of more input sources
(like for tests) while allowing to implement different UI variants.
That way, if another variant of the key counter needs to implemented
(for whathever reason), this can be done by only inheriting KeyCounter
and changing how things are arranged visually.
2023-02-13 01:24:27 +00:00
Dean Herbert
9d09141ab7
Move taiko-specific property out of DrawableHitObject
2023-02-12 16:09:28 +09:00
Dean Herbert
ad8b01b478
Merge pull request #22589 from sw1tchbl4d3r/file_hitsample_additions
...
Always add to additions soundbank in `convertSoundType`
2023-02-10 17:14:29 +09:00
Dean Herbert
eccde923e5
Merge pull request #22554 from Walavouchey/ranking-accuracycircle-readability
...
Improve readability of `AccuracyCircle`
2023-02-10 17:03:46 +09:00
Dean Herbert
1df6fc6311
Use if
statements rather than conditional case
2023-02-10 17:03:27 +09:00
Bartłomiej Dach
96c1832af4
Fix grammar in xmldoc
...
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2023-02-10 00:07:24 +01:00
sw1tchbl4d3
f0d11f44fc
Always add to additions soundbank in convertSoundType
2023-02-09 22:27:52 +01:00
Dean Herbert
34d1890f1c
Change snapping to only apply to classic mod
2023-02-09 18:22:14 +09:00
ekrctb
258de3b2d8
Store RawTime in JudgementResult
2023-02-09 17:15:37 +09:00
ekrctb
5f0636c330
Merge branch 'maximum-judgement-offset-in-hit-object' into revert-result-in-playfield
2023-02-09 16:47:58 +09:00
Dean Herbert
cf009432cc
Centralise accuracy cutoff constants and add lookup helper methods
2023-02-09 15:41:58 +09:00
Dean Herbert
c691a0d3af
Merge branch 'master' into sheared_slider_implementation_clean_ii
2023-02-06 17:49:33 +09:00
Dean Herbert
a67d5d2a14
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-06 17:24:20 +09:00
Joseph Madamba
191259c050
Use equals instead and update other usage
2023-02-04 19:58:48 -08:00
mk56-spn
3f0ce75bf5
Rename NormalSliderBar.cs to RoundedSliderBar.cs
2023-02-02 17:24:45 +01:00
Dean Herbert
b792dc3af0
Merge pull request #22281 from cdwcgt/editor-check-previewtime
...
Add preview time setting check
2023-02-02 15:10:06 +09:00
Dean Herbert
5b3d7a8f26
Fix typo in missing-preview-point message
2023-02-02 14:34:59 +09:00
Dean Herbert
c2cde8361a
Fix message not reading well
2023-02-02 14:33:41 +09:00
Dean Herbert
3a861fd943
Remove multiple cases of excess braces
2023-02-02 14:28:21 +09:00
Dean Herbert
10df64467a
Merge pull request #22430 from peppy/skin-editor-nrt
...
Apply NRT to all skin editor classes
2023-02-02 13:57:57 +09:00
cdwcgt
76296eb35a
Consistent with BeatmapsetVerifier
2023-02-01 11:52:14 +08:00
Bartłomiej Dach
c5e1f54185
Fix sample store creation mutating shared resource store
2023-01-30 20:48:52 +01:00
MK56
c50604f701
Merge branch 'master' into bubble_mod_implementation_clean
2023-01-27 11:58:56 +01:00
ekrctb
27578c48f5
Remove JudgementResultEntry
...
It is not needed anymore as TimeAbsolute is stored raw.
2023-01-27 19:35:44 +09:00
Dean Herbert
74ab036f3e
Refactor SkinnableSound.Samples
to be non-nullable
2023-01-27 19:32:30 +09:00
mk56-spn
3988131475
Rename OsuSliderBar.cs as NormalSliderBar.cs
2023-01-26 12:12:56 +01:00
Dean Herbert
f0406c34fd
Merge branch 'master' into revert-result-in-playfield
2023-01-25 17:35:33 +09:00
Dean Herbert
a966d6c330
Merge pull request #18402 from ggliv/mod-accuracy-challenge
...
Add accuracy challenge mod
2023-01-24 16:00:55 +09:00
ekrctb
e1702a8ee9
Fix inspection issue
2023-01-24 15:43:57 +09:00
ekrctb
efef97d5be
Store Result.TimeAbsolute separately from offset
...
Calculating from TimeOffset is bad because it loses precision.
The result time won't change anymore
even If `HitObject.GetEndTime()` changes later.
2023-01-24 15:35:06 +09:00
Gabe Livengood
b46ef67a14
increase min minimum accuracy to 60%
2023-01-24 00:31:46 -05:00
ekrctb
cc87923179
Fix OnRevertResult timing
2023-01-24 14:19:24 +09:00
ekrctb
e66e43e17c
Remove unused code
2023-01-24 14:15:17 +09:00
Pasi4K5
8b47af6503
Remove HidesResumeOverlay
and set ResumeOverlay
to null
in OsuModAutopilot
2023-01-24 00:49:09 +01:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap
2023-01-23 21:33:16 +01:00
Bartłomiej Dach
1f40b2daf6
Clean up xmldocs
2023-01-23 21:22:18 +01:00
cdwcgt
5afb733fb2
change IssueTemplatePreviewTimeConflict's text
2023-01-23 15:26:28 +09:00
Dean Herbert
73f083a316
Refactor how additional points are provided to avoid confusion
2023-01-23 14:13:46 +09:00
Pasi4K5
75a1a2ec2f
Hide ResumeOverlay
when OsuModAutopilot
is enabled
2023-01-22 03:44:59 +01:00
ekrctb
d8f9b7d02f
Use MaximumJudgementOffset for lifetime
2023-01-19 21:25:21 +09:00
ekrctb
11e1b22bf5
Move MaximumJudgementOffset to HitObject
...
We want to access this property for computing lifetime
2023-01-19 21:23:55 +09:00
ekrctb
812a4b412a
Move judgement result revert logic to Playfield
...
Previously, some judgement results were not reverted
when the source DHO is not alive (e.g. frames skipped in editor).
Now, all results are reverted in the exact reverse order.
2023-01-19 19:57:13 +09:00
Wleter
f8d8a627b8
change property name
2023-01-18 22:00:39 +01:00
Wleter
ab78dd0436
add collection of selection points.
2023-01-18 21:34:23 +01:00
Gabe Livengood
150195b887
use extension method to check accuracy impact
2023-01-18 12:24:41 -05:00
Gabe Livengood
e0f3fa1af6
remove this
in ruleset assignment
2023-01-18 12:22:27 -05:00
cdwcgt
e5eab72aeb
add check for preview time setting
2023-01-19 01:08:37 +09:00
Dean Herbert
522bb8bcca
Use ComputeAccuracy
to get imminent accuracy
2023-01-18 18:08:58 +09:00
Gabe Livengood
0b1e5c0f53
lambdaify function
2023-01-17 10:23:57 -05:00
Dean Herbert
23ea77cb74
Use ScoreProcessor
to fetch accuracy rather than calculating manually
2023-01-17 17:03:04 +09:00
Dean Herbert
70cb23bbc9
Merge branch 'master' into mod-accuracy-challenge
2023-01-17 16:46:54 +09:00
Andrei Zavatski
d74a5ef9e6
Use property instead of ctor parameter
2023-01-12 23:26:29 +03:00
Andrei Zavatski
a7ac31fa34
Use IsLegacyRuleset extension method
2023-01-12 23:21:33 +03:00
Andrei Zavatski
a9915d6a64
Make OverlayRulesetSelector display only legacy rulesets
2023-01-12 22:44:41 +03:00
Dan Balasescu
bbec42c00e
Fix incorrect max combo after watching imported legacy replays
2023-01-12 14:18:21 +09:00
MK56
f9b42161e3
Merge branch 'master' into bubble_mod_implementation_clean
2023-01-11 14:56:21 +01:00
Dean Herbert
d1ca4ebd40
Merge pull request #21559 from OliBomby/stream-tool-1
...
Add segment end completions list to SliderPath
2023-01-11 15:31:04 +09:00
Dan Balasescu
d9a6e4b862
Ensure drain lenience of 1.0 completly removes drain
2023-01-11 13:01:11 +09:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap
2023-01-10 21:22:13 +01:00
Wleter
e5863fbaf1
add ScreenSpaceEndPoint field
2023-01-10 21:20:09 +01:00
Bartłomiej Dach
6ed474d4fb
Rearrange formula for maximum accuracy
...
Feels like it's easier to understand this way. The difference of the
maximum scoring values for the entire beatmap and the max values for the
part of the beatmap that has already been played represents the act of
filling the rest of the unjudged objects with maximum results.
2022-12-30 20:56:54 +01:00
Bartłomiej Dach
8ace635249
Adjust minimum values
2022-12-30 20:55:51 +01:00
Bartłomiej Dach
bb2822a175
xmldoc pass
2022-12-30 20:55:48 +01:00
Bartłomiej Dach
6d42cc5a36
Naming pass
2022-12-30 20:30:58 +01:00
cdwcgt
3c32a50c12
add new accuracy counter display
2022-12-30 21:19:46 +09:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
mk56-spn
bbb22479a8
Add "ModBubbles" for the osu ruleset.
2022-12-25 23:09:52 +01:00
Bartłomiej Dach
80de5dac66
Fix judgement text never being added to hierarchy
2022-12-24 09:37:40 +01:00
Bartłomiej Dach
f973befcd4
Remove unused resolved member
2022-12-24 09:34:30 +01:00
Dean Herbert
5e9fb1063a
Move judgement text creation to base class and tidy things up
2022-12-24 12:22:36 +08:00
Dean Herbert
727ac00f6d
Combine base class for JudgementPiece
2022-12-24 03:32:13 +08:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
Dean Herbert
4a7d7c6ed9
Use MaxBy
in all locations that can and update inspection level to match dotnet-build
2022-12-19 16:47:10 +09:00
Dean Herbert
877413524f
Cherry-picked android changes from #17462
2022-12-19 15:46:54 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
Dean Herbert
5800734589
Merge pull request #21587 from smoogipoo/spectatorstate-maximum-statistics
...
Store maximum statistics to spectator state
2022-12-12 20:00:52 +09:00
Dean Herbert
df94af4495
Inline ScoringValues
and make some more methods private
inside ScoreProcessor
2022-12-12 19:22:09 +09:00
Dan Balasescu
7a54bcac57
Remove unused using
2022-12-12 11:41:07 +09:00
Dan Balasescu
6e41efede8
Simplify dictionary construction
2022-12-12 11:40:47 +09:00
Dan Balasescu
5e8d75bbbf
Remove unused overload
2022-12-12 11:39:03 +09:00
Dean Herbert
85039209f8
Fix parsing of ruleset configuration values being incorrect on some locales
...
Closes #21611 .
2022-12-12 01:56:36 +09:00
Dan Balasescu
e9998f1690
Store maximum statistics to spectator state
2022-12-09 20:15:07 +09:00
OliBomby
98a312ca96
Fix segmentEnds incorrect on shortened paths
2022-12-07 09:52:09 +01:00
OliBomby
cd46ca31f9
Add segmend end completions to SliderPath
2022-12-07 09:51:22 +01:00
Bartłomiej Dach
81a42dc05d
Fix extended values in difficulty adjust being truncated to 10 on beatmap change
2022-12-06 23:25:48 +01:00
Dan Balasescu
9e64f8dab1
Fix loss of precision when computing accuracy
2022-12-05 19:08:50 +09:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
...
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
...
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dean Herbert
ba99f1288c
Update IBeatSnapProvider
documentation to mention the pre-divided BeatSnap
2022-12-02 17:57:15 +09:00
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
...
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dean Herbert
25120060aa
Use new helper method in ModTimeRamp
2022-12-02 16:09:46 +09:00
Dean Herbert
809d02cda0
Fix two implementation oversights
2022-12-02 16:05:14 +09:00
Dean Herbert
d8dd7e7e0f
Fix test failures when no hitobjects are present in a scrolling ruleset
2022-12-01 21:42:03 +09:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Dean Herbert
c5bc071c4b
Merge pull request #21439 from LumpBloom7/Fix-DHO-load-state
...
Update DrawableHitObject state based on entry result during LoadComplete
2022-12-01 15:36:36 +09:00
Bartłomiej Dach
2e19e93036
Rename method
2022-11-30 22:54:14 +01:00
Bartłomiej Dach
6ebde9a747
Annotate Playfield.Mods
as maybe-null
2022-11-30 20:00:25 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead
2022-11-30 12:17:58 +01:00
Dean Herbert
5ce2d6f54a
Hide the game mouse cursor when playing osu!catch with relax mod
2022-11-30 18:13:53 +09:00
Dean Herbert
bb0237d4a9
Fix nullability inspection on disposal path
2022-11-30 17:49:08 +09:00
Dean Herbert
4215f4f5d7
Merge branch 'master' into Editor-DrawableRuleset-Dependencies
2022-11-30 17:42:46 +09:00
Derrick Timmermans
93ba84e5ff
Fix code style
2022-11-27 21:48:44 +01:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints
2022-11-27 21:43:33 +01:00
Derrick Timmermans
cff3e06ad6
Update state based on result during LoadComplete
2022-11-27 20:57:00 +01:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework
2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
76e9382e0b
Fix triangles showing on ExpandableButton
s when in contracted state
2022-11-25 20:18:35 +09:00
Derrick Timmermans
65e5c9a3ae
Dispose DrawableRulesetDependencies in HitObjectComposer
2022-11-25 08:27:22 +01:00
Dean Herbert
f6e229c24d
"Fix" mod copy failure
2022-11-25 01:15:11 +09:00
Dean Herbert
2b2beadd06
Merge branch 'master' into update-framework
2022-11-25 01:00:08 +09:00
Derrick Timmermans
7b620392fe
Provide DrawableRulesetDependencies from HitObjectComposer
2022-11-24 13:13:45 +01:00
Dean Herbert
a2438428a2
Move base call to end
2022-11-24 13:57:43 +09:00
Dean Herbert
b381b4fd2d
Merge branch 'master' into update-framework
2022-11-24 01:27:58 +09:00
Bartłomiej Dach
508f1f488c
Merge branch 'master' into limit-barline-generation-sanity
2022-11-23 17:12:36 +01:00
Dean Herbert
f9d952220f
Fix barlines being misaligned if generation start time is clamped
2022-11-23 18:12:03 +09:00
Dean Herbert
172e798847
Merge pull request #21228 from Terochi/recent-messages-implementation
...
Add ability to view chat send history in input box
2022-11-23 14:58:42 +09:00
Dean Herbert
1632df1f4d
Update DifficultyBindable
to match new bindable spec
2022-11-22 14:51:19 +09:00
Dean Herbert
40f2da364c
Limit how far before the first hitobject that barlines can be generated
2022-11-21 14:40:25 +09:00
Bartłomiej Dach
0f382590e6
Remove unnecessary #nullable disable
2022-11-20 15:31:51 +01:00
Salman Ahmed
58296bd4f0
Introduce IDrawableScrollingRuleset
for editor consumption
2022-11-20 04:11:10 +03:00
Terochi
eff6c7be64
Removed unnecessary methods, changed tests, and moved LimitedCapacityQueue.cs to a more generic namespace.
2022-11-19 16:53:35 +01:00
Dan Balasescu
57b8495c7a
Merge branch 'master' into long-standard
2022-11-18 14:24:04 +09:00
Dan Balasescu
d47c46d144
Compute raw score in-line
...
Saves on an allocation (though it seems to only be a ValueType so it
shouldn't be a big deal) and a tail-call.
2022-11-18 14:22:28 +09:00
Susko3
56fd1f95b1
Fix FallbackSampleStore.GetAsync
fallback logic
2022-11-13 18:47:28 +01:00
maromalo
1911120afe
Merge branch 'master' into long-standard
2022-11-12 09:52:11 -03:00
Dean Herbert
106f1cf90b
Merge branch 'master' into combo-colour-brightness-limit
2022-11-11 18:24:39 +09:00
Dan Balasescu
fe58329478
Merge pull request #21151 from peppy/taiko-judgement-fixes
...
Fix various issues surrounding hit judgements
2022-11-11 16:41:46 +09:00
Dan Balasescu
5bdbf56f43
Merge branch 'master' into taiko-judgement-fixes
2022-11-11 15:48:33 +09:00
Dan Balasescu
1a1a186d22
Merge branch 'master' into taiko-barline-separation
2022-11-11 15:47:06 +09:00
Dan Balasescu
db25e9e9c8
Merge branch 'master' into combo-colour-brightness-limit
2022-11-11 15:31:28 +09:00
maromalo
83a3f1b82e
Add computeRawScore()
2022-11-10 14:15:20 -03:00
Dan Balasescu
606d42c679
Merge pull request #21184 from peppy/skinnable-things-cleanup
...
Skinnable class naming pass
2022-11-10 12:52:08 +09:00
Dan Balasescu
051f7f4c68
Merge pull request #21173 from peppy/toggle-hit-markers
...
Add the ability to toggle off hit marker displays in the editor
2022-11-10 12:23:53 +09:00
Dean Herbert
1aa0e40f2f
Add "Component" prefix to lookup naming
2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b
Rename ISkinComponent
to ISkinLookup
2022-11-09 17:46:43 +09:00
Dean Herbert
bf26dbffc2
Apply nullability to skinning support classes
2022-11-09 13:59:13 +09:00
Dean Herbert
dd4cd3cf8e
Move gameplay configuration to interface to allow editor overriding
2022-11-08 18:25:24 +09:00
Dean Herbert
ada039151b
Add the ability to toggle off hit marker displays in the editor
2022-11-08 18:07:06 +09:00
maromalo
64e6276397
Fix score rounding issue
2022-11-08 01:10:21 -03:00
Dean Herbert
2b72c3833b
Remove unnecessary centering logic in DrawableJudgement
2022-11-07 17:19:32 +09:00
Dean Herbert
c69a4f9333
Move major barline portion to default implementation to allow for further customisation
...
Of note, this removes the "major" barline triangles from legacy skins. I
think this is more correct, as they did not display in stable.
2022-11-07 14:29:58 +09:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Dean Herbert
51078bddf9
Remove unused bindable
2022-11-06 23:34:04 +09:00
Dean Herbert
e02c477008
Merge pull request #21017 from andy840119/remove-nullable-disable-in-the-checks
...
Remove nullable disable in the checks.
2022-11-06 18:39:03 +09:00
Bartłomiej Dach
84179fb087
Merge branch 'master' into combo-colour-brightness-limit
2022-11-05 16:48:56 +01:00
Dean Herbert
566738494f
Merge pull request #20952 from OliBomby/bezier-convert
...
Add conversion algorithm for lazer slider curves to work with stable
2022-11-04 16:49:51 +09:00
Dean Herbert
3ec9686e58
Fix test failures and rename configuration value to match better
2022-11-02 18:15:18 +09:00
Dean Herbert
99ba7c29dd
Change range to 0-100% and rename to "normalisation"
2022-11-02 13:47:11 +09:00
Dean Herbert
2f3c80f884
Remove toggle and change method of application to blend with original colour
2022-11-02 13:08:29 +09:00
Dean Herbert
a01602e63c
Merge branch 'master' into combo-colour-brightness-limit
2022-11-02 12:09:27 +09:00
Bartłomiej Dach
ac554c644d
Merge branch 'master' into fix-slider-sv-snap
2022-11-01 13:19:46 +01:00
Dean Herbert
f014acfc8d
Fix DrawableHitObject.AccentColour
not being updated if object entry is not attached
2022-11-01 19:34:53 +09:00
Dean Herbert
27af91003b
Merge branch 'master' into combo-colour-brightness-limit
2022-11-01 17:50:26 +09:00
Dean Herbert
29bc653d24
Remove incorrect double multiplication and add missing test coverage
2022-11-01 17:17:54 +09:00
Dean Herbert
2a88409dfe
Fix time snap of sliders not matching when SV is not 1.0x
...
This regressed with https://github.com/ppy/osu/pull/20850 because the
function was used in other places which expect it to factor slider
velocity into the equation.
Rather than reverting, I've added a new argument, as based on the method
naming alone it was hard to discern whether SV should actually be
considered.
The reason for the change in #20850 was to avoid the SV coming in from a
reference object which may not have a correct SV in the first place. In
such cases, passing `false` to the function will give the expected
behaviour.
2022-11-01 15:12:58 +09:00
Dean Herbert
706adfb28c
Improve messaging when ruleset load fails
2022-11-01 13:57:34 +09:00
OliBomby
0461303895
Change return type to List
2022-10-31 11:39:41 +01:00
OliBomby
414e21c657
Added xmldoc to public methods
2022-10-31 11:39:14 +01:00
Dean Herbert
94dd4045f1
Remove borrowed framework code
2022-10-31 15:42:17 +09:00
Dean Herbert
31ba77e378
Merge branch 'master' into bezier-convert
2022-10-31 15:41:08 +09:00
andy840119
a1a9238bd1
Use empty string instead of null because issue template not accept null.
2022-10-30 16:31:07 +08:00
andy840119
505ec800da
File name should be nullable.
2022-10-30 16:29:54 +08:00
andy840119
db48a57fa7
Remove nullable disable annotation in some checks class.
2022-10-30 16:28:49 +08:00
andy840119
24c27e62f6
Remove nullable disable annotation in the issue and issue template-related class.
2022-10-30 16:25:15 +08:00
Dean Herbert
42eafe318c
Remove various simple obsoletions
2022-10-28 13:20:58 +09:00
OliBomby
86d5fcc26d
Added tests
2022-10-26 19:30:42 +02:00
OliBomby
77dcd0fae2
Create BezierConverter.cs
2022-10-26 17:21:20 +02:00
Dean Herbert
6b53ea3400
Enable distance snapping when DS value is changed via user interaction
2022-10-26 13:37:01 +09:00
Dean Herbert
7d59bc6e2f
Merge branch 'grid-momentary-shortcuts' into read-current-distance-snap
2022-10-26 13:28:04 +09:00
Dean Herbert
54ae16badc
Move distance snap toggle button implementation to DistancedHitObjectComposer
2022-10-26 13:27:23 +09:00
Dean Herbert
8d9a85e9e5
Fix typos in xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-26 13:14:12 +09:00
Bartłomiej Dach
48057412f5
Merge branch 'master' into grid-momentary-shortcuts
2022-10-25 22:17:08 +02:00
Bartłomiej Dach
3d31c9bbc5
Merge branch 'master' into beat-snap-divisor-hotkey
2022-10-25 20:32:32 +02:00
Dean Herbert
da93849b80
Rename some pieces and better document SampleBankInfo
2022-10-25 14:55:33 +09:00
Dean Herbert
2b850694fa
Merge branch 'allow-distance-grid-snap' into grid-momentary-shortcuts
2022-10-25 14:10:45 +09:00
Dean Herbert
d0e6bda9ef
Stop HitObjectComposer
from handling Shift
+Number
keys
2022-10-24 15:19:36 +09:00
Dean Herbert
f516e32949
Improve UI a bit
2022-10-21 23:35:53 +09:00
Dean Herbert
bb921ff9a7
Fix incorrect current DS value when inside a slider
2022-10-21 23:35:47 +09:00
Dean Herbert
f6de366766
Combine display and button into one control
2022-10-21 23:21:07 +09:00
Dean Herbert
645a84b1d6
Display current distance snap and add button to update to use it
2022-10-21 22:58:36 +09:00
Dean Herbert
7dc03097ff
Change distance snap to never account for slider velocity
...
This is a nuanced detail that was implemented incorrectly from the
outset. When mapping, generally a mapper chooses the distance spacing
with no regard to the SV. It has always been common to have a lower
or higher distance spacing than SV, but with the way the lazer editor
has worked, the SV was multiplied into the distance snap grid display,
incorectly changing its spacing depending on the "reference object"
(which is usually the previous hitobject chronologically).
2022-10-21 21:51:24 +09:00
Dean Herbert
6cdfddea62
Always enable distance spacing when adusting distance space multiplier
2022-10-21 16:10:55 +09:00
Dan Balasescu
703a8afb11
Merge pull request #20809 from peppy/fix-taiko-broken-drum-roll-ticks
...
Fix taiko drum roll ticks sometimes overflowing outside the drum roll itself
2022-10-21 12:56:14 +09:00
Dean Herbert
5c13c443ff
Fix incorrect fallback logic
...
Regressed when attempting to share implementation of binary search.
2022-10-20 23:08:44 +09:00
Dean Herbert
26860a903e
Refactor implementation to support hitobjects nested multiple levels deep
2022-10-20 22:30:30 +09:00
Dean Herbert
b9f41611a7
Fix bank potentially being overwritten during placement
2022-10-19 21:48:18 +09:00
Dean Herbert
50e24ddd87
Add icon and radio button logic
2022-10-19 21:35:08 +09:00
Dean Herbert
d237c818f6
Fix nested objects in overlapping scrolling hit object container ruleset not using correct reference time
2022-10-18 16:15:21 +09:00
Dean Herbert
ec3761ced9
Standardise control point search logic in OverlappingScrollAlgorithm
...
Was using a very local algorithm which I cannot guarantee is correct.
I'd rather it just use the one used everywhere else.
2022-10-18 16:01:05 +09:00
Dean Herbert
860214c22a
Adjust paddings to feel better now that backgrounds are visible of toolboxes
2022-10-18 14:38:45 +09:00
Dean Herbert
6a7f6c76ff
Fix osu! editor padding being applied to toolboxes
...
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dean Herbert
ccbac08985
Merge pull request #20593 from ekrctb/catch-editor-height
...
Allow arbitrary height catch editor
2022-10-18 12:10:49 +09:00
Salman Ahmed
ba72f13f54
Merge branch 'master' into hide-mouse-on-keyboard-input
2022-10-14 22:26:30 +03:00
Dean Herbert
32c3e35762
Change background colour to a lighter tint to avoid clash with slider bars
2022-10-14 19:38:27 +09:00
Dan Balasescu
8a88339e78
Allow combo colour normalisation to be disabled
2022-10-14 14:37:24 +09:00
Dan Balasescu
15db65c037
Extract to struct, add dictionary term
2022-10-14 14:12:53 +09:00
Dean Herbert
4d99c7002b
Add background behind editor toolbox groups
2022-10-13 16:36:19 +09:00
Dan Balasescu
4149235e63
Limit minimum brightness of combo colours
2022-10-13 14:05:33 +09:00
Salman Ahmed
4fb156ef4e
Update xmlodc and add nullability attributes
2022-10-13 00:16:42 +03:00
Salman Ahmed
7a6ecaff0d
Remove default invisible cursor container from rulesets
2022-10-12 17:50:47 +03:00
Salman Ahmed
84fdd2e107
Improve flashlight display on break periods
2022-10-11 17:16:57 +03:00
Salman Ahmed
9b45a9cf76
Rename various cursor symbols
...
- `IProvideCursor.MenuCursor` -> `IProvideCursor.Cursor`
- `MenuCursor` -> `MenuCursorContainer
2022-10-11 16:21:01 +03:00
Dean Herbert
f060e6a780
Implement hold "sliding" samples in osu!mania
2022-10-11 16:31:37 +09:00
Dean Herbert
5a43cb6bb2
Merge pull request #20606 from sw1tchbl4d3r/barline_generator_improvements
...
Barline generator improvements
2022-10-11 01:31:30 +09:00
sw1tchbl4d3
5a4196fd51
Make currentEffectPoint
non-nullable
2022-10-10 15:34:29 +02:00
sw1tchbl4d3
d389808427
Make effect point search more efficient
2022-10-10 14:00:26 +02:00
sw1tchbl4d3
eae32ca483
Switch DefinitelyBigger
to AlmostBigger
to account for fp errors
2022-10-10 09:39:40 +02:00
Salman Ahmed
2d4f390372
Remove non-smoke key bindings on "Relax" mod instead
2022-10-09 17:14:16 +03:00
sw1tchbl4d3
63ffaa6929
Respect OmitFirstBarLine effect
2022-10-07 20:38:32 +02:00
sw1tchbl4d3
903c8612c8
Move endTime to next timing point
2022-10-07 20:34:31 +02:00
Dan Balasescu
bce20e0a59
Merge branch 'master' into adjust-flashlight
2022-10-07 14:45:30 +09:00
Dan Balasescu
7385ef3e1b
Extract combo scale to virtual function
2022-10-07 14:26:19 +09:00
ekrctb
9247ff3e0a
Allow changing scrolling speed in catch editor
...
Scroll speed is not saved and doesn't affect gameplay.
It is purely a feature for a better visualization.
It is currently bind to scroll speed increase/decrease.
Default F3/F4 crashes with editor shortcuts so it has to be changed.
2022-10-06 18:06:16 +09:00
ekrctb
1cccd03480
Fix scrolling nested hit object lifetime not set
2022-10-04 15:17:14 +09:00
ekrctb
781f5420b0
Add test for scrolling hit object lifetime
2022-10-04 15:17:11 +09:00
ekrctb
5d80950eaf
Compute lifetime from entry in scrolling container
2022-10-04 15:12:28 +09:00
Dan Balasescu
deae7cff60
Adjust flashliht scaling to match classic
2022-10-03 18:38:29 +09:00
Dan Balasescu
0df217d85c
Add ability to adjust flashlight smoothness
2022-10-03 18:24:56 +09:00
Dan Balasescu
1890a66b28
Merge pull request #20509 from o-dasher/cleanup-setting-sources
...
Removes unnecessary setting sources specifications
2022-09-28 17:55:42 +09:00
Dan Balasescu
cbed268ac9
Merge pull request #20510 from sw1tchbl4d3r/high_bpm_judgements
...
Clamp `LifetimeStart` of `HitObject`s to their judgement windows
2022-09-28 17:49:35 +09:00
sw1tchbl4d3
0cffbb7562
Clamp LifetimeStart
of HitObject
's to their judgement windows
2022-09-27 16:54:24 +02:00
o-dasher
f3e25eacad
Removes unnecessary setting sources specifications
2022-09-27 09:25:58 -04:00
Dean Herbert
c4887269f7
Avoid performing a realm write if there are no changes pending in RulesetConfigManager
2022-09-26 14:55:23 +09:00
o-dasher
feadac1f79
Cleanup all other leftover binding instantiation
2022-09-25 16:02:40 -04:00
o-dasher
537796c3a1
Cleanup mod bindings
2022-09-25 15:49:22 -04:00
Dean Herbert
78625fda7d
Improve exception when attempting to call DrawableHitObject.ClearInternal
2022-09-22 14:44:03 +09:00
O Thiago
a4e9c7711c
Fix when flashlight shrinking takes place
2022-09-18 18:59:17 -04:00
O Thiago
407b104116
Revert changes
...
This reverts commit beef3b418a
.
Revert "Use linq expression for handling breaks"
This reverts commit 8464a1941b
.
Revert "renames variables to make more logical sense"
This reverts commit 3b87ecf56c
.
Revert "Removes overhead when not combo based size"
This reverts commit ac4229e3d4
.
2022-09-18 18:57:53 -04:00
O Thiago
ac4229e3d4
Removes overhead when not combo based size
2022-09-18 00:38:01 -04:00
O Thiago
3b87ecf56c
renames variables to make more logical sense
2022-09-18 00:19:40 -04:00
O Thiago
8464a1941b
Use linq expression for handling breaks
2022-09-17 23:49:23 -04:00
O Thiago
beef3b418a
Simplifies size calculation
2022-09-17 23:41:23 -04:00
Dean Herbert
c7f8f948b9
Rename CreateLegacySkinProvider
to CreateSkinTransformer
and apply to all skins
2022-09-15 20:18:10 +09:00
Dan Balasescu
96a89f4fca
Merge pull request #20319 from peppy/remove-ef-migration
...
Remove all entity framework code and migrations
2022-09-15 19:15:23 +09:00
Dean Herbert
28b15e232d
Remove all EF models
2022-09-15 16:59:36 +09:00
Dan Balasescu
e56ea58e71
Fix up xmldoc
2022-09-15 16:06:21 +09:00
Dan Balasescu
c847cc521e
Add some inline comments
2022-09-15 16:00:35 +09:00
Dan Balasescu
68e4d22898
Precondition against entryMap intead of parentMap
2022-09-15 15:43:15 +09:00
Dan Balasescu
31bc067dd1
Don't store nulls to parentMap
2022-09-15 15:38:44 +09:00
Dean Herbert
5dc0d32e42
Apply NRT to hitobject lifetime related classes
2022-09-14 15:24:20 +09:00
ekrctb
c59aa57450
Remove createLifetimeEntry
from HitObjectEntryManager
2022-09-14 15:19:33 +09:00
ekrctb
47539e2129
Add doc comments to HitObjectEntryManager
2022-09-14 15:19:05 +09:00
ekrctb
bde390828b
Manage entries of nested hit objects in HitObjectEntryManager
...
- Fix nested hit objects are leaked when parent hit object is edited or deleted
2022-09-14 15:19:05 +09:00
ekrctb
a9eba27129
Factor out pooling logic from Playfield
2022-09-14 15:19:05 +09:00
Dean Herbert
6bf6b7e125
Fix null considerations in DrawableRulesetDependencies
2022-09-13 13:13:38 +09:00
Dean Herbert
9c2b0efbc7
Merge pull request #20262 from smoogipoo/scoreprocessor-computeaccuracy
...
Add `ScoreProcessor.ComputeAccuracy()`
2022-09-13 11:55:02 +09:00
Salman Ahmed
0ca4be5e5b
Fix one more inspection
2022-09-13 03:45:31 +03:00
Salman Ahmed
69b9bae3b3
Merge branch 'master' into scoreprocessor-computeaccuracy
2022-09-13 03:09:52 +03:00
Dan Balasescu
27d4016ccb
Add ScoreProcessor.ComputeAccuracy()
2022-09-12 18:37:55 +09:00
andy840119
3d7367a842
Move the CreateConvertibleReplayFrame() into the base ruleset class for avoid api breaking change in the customized ruleset.
2022-09-10 11:07:23 +08:00
andy840119
e62999fb16
Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
...
# Conflicts:
# osu.Game.Rulesets.Catch/CatchRuleset.cs
# osu.Game.Rulesets.Osu/OsuRuleset.cs
# osu.Game.Rulesets.Taiko/TaikoRuleset.cs
# osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
Dean Herbert
ec21ab8171
Reduce ramp mod multipliers in line with other difficulty change mods for now
...
Closes https://github.com/ppy/osu/issues/20204 .
Will require reprocessing of everything server-side.
2022-09-09 16:39:57 +09:00
Dean Herbert
d4afc3629c
Merge branch 'master' into kps
2022-09-08 23:00:36 +09:00
Dan Balasescu
9aab502adc
Merge pull request #20157 from peppy/true-gameplay-rate
...
Refactor `TrueGameplayRate` to account for only gameplay adjustments, no matter what
2022-09-08 19:54:32 +09:00
Dean Herbert
6729bb3e1a
Change FrameStableClock
to inherit IGameplayClock
2022-09-08 18:24:18 +09:00
Dean Herbert
c6521e4c72
Rename ordering helper method
2022-09-08 17:50:27 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Acid Chicken (硫酸鶏)
267465df18
chore(osu.Game): combine Osu.Colour.{Draw,Text}ForHitResult
into OsuColour.ForHitResult
2022-09-07 23:34:46 +09:00
Acid Chicken (硫酸鶏)
54f0bb797e
refactor(osu.Game): remove nullable optouts in HitResult.cs
2022-09-07 23:32:45 +09:00
Dean Herbert
75d0deef72
Apply proposed changes to remove inheritance from MasterGameplayClockContainer
2022-09-07 17:49:05 +09:00
Dean Herbert
bc1212f4e6
Change NonGameplayAdjustments
to GameplayAdjustments
and convert TrueGameplayRate
to extension method
2022-09-06 22:26:46 +09:00
Dean Herbert
44b456e216
Use gameplay clock's TrueGameplayRate
in FrameStabilityContainer
?
2022-09-05 23:38:22 +09:00
Acid Chicken (硫酸鶏)
074d2a7a3a
chore(osu.Game): provide ordering index for HitResult
2022-09-05 02:01:44 +09:00
Acid Chicken (硫酸鶏)
5f0832ead7
refactor(osu.Game): separate OsuColour.ForHitResult
by usage
2022-09-05 01:58:57 +09:00
Dean Herbert
6a35b233e5
Merge branch 'master' into remove-dispose-updates
2022-09-01 23:03:19 +09:00
Dean Herbert
7337d4c1aa
Merge branch 'master' into kps
2022-08-31 15:41:42 +09:00
Dan Balasescu
e3e204001e
Merge pull request #19907 from peppy/ruleset-api-versioning
...
Add ruleset API versioning
2022-08-29 18:50:01 +09:00
Dean Herbert
9b830d063f
Merge pull request #20010 from smoogipoo/scoreprocessor-no-rewrite-statistics
...
Don't include misses in failed score statistics
2022-08-29 17:07:13 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe
Update Remove
/RemoveRange
/RemoveAll
calls in line with framework changes
2022-08-29 15:57:40 +09:00
Dan Balasescu
81ac0daba8
Update xmldoc
2022-08-29 15:51:12 +09:00
Dan Balasescu
b2e80ca7f0
Don't include misses in failed score statistics
2022-08-29 15:27:19 +09:00
Dean Herbert
90b9c02ac6
Remove "internal"
identifier as unnecessary
2022-08-29 14:01:15 +09:00
Dan Balasescu
c0b13c7e1f
Refactor ScoreProcessor ComputeScore() methods
2022-08-29 13:51:10 +09:00
Dan Balasescu
91e044542d
Merge pull request #19828 from peppy/no-gameplay-clock-gameplay-offset
...
Introduce `FramedBeatmapClock` (and use in gameplay flow)
2022-08-26 20:21:34 +09:00
Dan Balasescu
9bca7223f6
Adjust xmldoc to better explain score contribution
2022-08-25 17:16:30 +09:00
Dan Balasescu
e2e10a8f26
Add some explanatory comments to conditions
2022-08-25 17:14:53 +09:00
Dean Herbert
3a17c6df08
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-25 16:24:55 +09:00
Salman Ahmed
eb57ea76ab
Merge branch 'master' into legacy-combo-increase
2022-08-25 09:46:12 +03:00
Ryuki
5cddc7ed1f
Code cleanup (CPS)
2022-08-24 17:13:23 +02:00
Dan Balasescu
e7cbb6c63d
Fix test failures/nullability
2022-08-24 19:53:16 +09:00
Dan Balasescu
c9ff39f8c3
Add HitResult.LegacyComboIncrease
2022-08-24 19:46:41 +09:00
Dan Balasescu
5ec95c9269
Update ScoreProcessor to make use of MaximumStatistics
2022-08-24 19:46:41 +09:00
Dean Herbert
f3847b90fd
Tidy up attach logic
2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612
Merge branch 'master' into kps
2022-08-24 18:18:45 +09:00
Dan Balasescu
f70af779a4
Add maximum statistics to ScoreInfo/SoloScoreInfo
2022-08-24 17:28:41 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
Dean Herbert
758a554180
Add basic check for correct ruleset API version
2022-08-22 16:35:08 +09:00
Dean Herbert
f5710d8000
Add ruleset API versioning
2022-08-22 16:35:08 +09:00
Dan Balasescu
3fb3a18e68
Merge pull request #19906 from peppy/fix-editor-crash-mobile
...
Fix editor crashing on mobile releases
2022-08-22 16:31:19 +09:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
...
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dean Herbert
19bba143ee
Fix editor crashing on mobile releases
2022-08-22 15:57:24 +09:00
Dean Herbert
d199b3b100
Update GetVariantName
to also support localisation
2022-08-22 14:51:00 +09:00
Dean Herbert
9d31f61ca9
Don't throw when a ruleset type is completely missing
2022-08-22 14:35:44 +09:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
Dean Herbert
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
b0a740071e
Centralise logging of failed ruleset loads
2022-08-18 16:14:38 +09:00
Dean Herbert
e0edaf996f
Test ruleset compatibility during initial startup to avoid runtime errors
...
As we continue to break the ruleset API, it makes more sense to
proactively check known changes and bail early during ruleset loading to
avoid a user experiencing a crash at a random point during execution.
This is a RFC and needs to be tested against known broken rulesets.
There might be some other calls we want to add in addition to the ones
I've listed.
2022-08-18 16:03:38 +09:00
Dean Herbert
43442dbf65
Merge branch 'even-less-gameplay-clock' into even-nicer-frame-stability-clock
2022-08-15 20:22:30 +09:00
Dean Herbert
87760bbc06
Fix IsCatchingUp
not being in correct state
2022-08-15 20:17:48 +09:00
Dean Herbert
1fc3d005c0
Seal FrameStabilityContainer
...
No one should ever derive from this class. It is already too complex.
2022-08-15 19:31:02 +09:00
Dean Herbert
fff2b57905
Tidy up and document FrameStabilityContainer
2022-08-15 19:28:12 +09:00
Dean Herbert
9bc2e91de0
Fix incorrect handling of reference clocks when no parent IGameplayClock
is available
2022-08-15 19:19:19 +09:00
Dean Herbert
828b6f2c30
Remove unnecessary setClock
shenanigans
2022-08-15 19:19:19 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
95c1b488a7
Add non-null assertion to FrameStabilityContainer
2022-08-15 18:08:49 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization
2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7
Localise hit result name
2022-08-14 14:57:02 -04:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond"
2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener
and KeysPerSecondCalculator
not rely on events to add timestamps
2022-08-14 19:31:14 +02:00
Dan Balasescu
9d1b0b5836
Revert sealing
2022-08-12 22:32:27 +09:00
Dean Herbert
e5e9841652
Apply multiple other mod debuffs as decided in pull request discussion
2022-08-12 18:58:09 +09:00
Dean Herbert
ac4213ecee
Adjust relax mod multiplayer to 0.5x
...
Has previously been discussed internally. Probably good to get this out
before the next full reprocess of scores server-side.
The multiplier here was @smoogipoo's suggested value. I'd be willing to
go lower if this is seen at too high, but it should be a round number to
make it easy for users to understand the max score available to them.
2022-08-12 12:30:13 +09:00
Ryuki
9b252b1d81
Make KeysPerSecondCalculator
dependency in HUDOverlay
nullable
2022-08-11 11:58:30 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage
2022-08-11 10:01:39 +02:00
naoei
1e356f6137
Revert localisation for GetDisplayNameForHitResult
...
Came across an issue where `LeaderboardScoreTooltip` attempts to capitalize all letters for the `displayName`.
Unsure if I should completely ignore it and localise it anyway.
2022-08-10 16:03:59 -04:00
naoei
60dae70a18
Change mod description type to LocalisableString
2022-08-10 15:54:48 -04:00
naoei
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04:00
Dan Balasescu
f9c6dc314b
Merge pull request #19678 from peppy/fix-file-comparisons-many-places
...
Fix audio track not correctly advancing when changing between certain beatmaps
2022-08-10 20:38:14 +09:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
its5Q
abca3d1b2a
Prefix common strings for context
2022-08-10 00:35:19 +10:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
...
gathering
KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
its5Q
5080d62e77
Add missing localisation for settings enums
2022-08-08 21:51:23 +10:00
Dan Balasescu
802dc90cb1
Adjust using directives for vertices
2022-08-05 20:37:33 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dan Balasescu
dc49862466
Merge branch 'irenderer-shaders' into irenderer-textures
2022-08-02 19:25:24 +09:00
Dan Balasescu
a2a913ab52
Merge branch 'irenderer-batches' into irenderer-textures
2022-08-02 19:25:08 +09:00
Bartłomiej Dach
cbabc4886c
Convert ModPreset
to realm object
2022-07-31 22:10:15 +02:00
Dan Balasescu
e06f39a69f
Apply IRenderer shader changes
2022-07-30 01:29:11 +09:00
Dan Balasescu
09979d44aa
Apply DrawNode batching changes
2022-07-29 23:32:09 +09:00
Dan Balasescu
155dac55d0
Apply DrawNode parameter changes
2022-07-29 22:33:34 +09:00
Dan Balasescu
ce694123eb
Move spectator begin/end playing to SubmittingPlayer
2022-07-28 20:44:04 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Bartłomiej Dach
d0e15d04cc
Merge branch 'master' into mod-overlay/preset-panel
2022-07-22 19:23:09 +02:00
Dan Balasescu
d9105c9785
Merge pull request #19272 from peppy/beatmap-background-reprocessing
...
Add background beatmap processing
2022-07-22 20:33:26 +09:00
Bartłomiej Dach
de0a076eb6
Add model class for mod presets
2022-07-21 23:29:21 +02:00
Dean Herbert
68f28ff660
Add last applied version to RulesetInfo
2022-07-21 18:15:25 +09:00
Dean Herbert
aca19a005e
Add versioning to difficulty calculators
2022-07-21 18:15:25 +09:00
Salman Ahmed
a97170a272
Keep Rank
bindable enabled on score fail
2022-07-21 08:16:17 +03:00
Salman Ahmed
9df49db45f
Include bonus/ignore judgements in statistics fill logic
2022-07-21 08:13:09 +03:00
Salman Ahmed
ad09e728fd
Move Passed
assignment inside FailScore
2022-07-21 08:12:06 +03:00
Salman Ahmed
c1bcbd9c8a
Fix fail score not handling bonus/tick-only beatmaps
2022-07-21 07:20:59 +03:00
Salman Ahmed
0f0b19da4a
Populate score with remaining "miss" statistics on fail/exit
2022-07-21 06:01:36 +03:00
Salman Ahmed
c4089b71bd
Store maximum score results from simulated autoplay
2022-07-21 06:00:41 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-20 08:57:43 +03:00
Dan Balasescu
ebb9861377
Merge branch 'master' into remove-nullable-disable-in-the-mods
2022-07-20 13:28:28 +09:00
Salman Ahmed
4210ec6502
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-19 19:21:26 +03:00
為什麼
317558f876
Mark the shader as non-nullable because shader should always has the value.
...
And initialize the breaks to avoid get the null instance.
2022-07-19 20:39:41 +08:00
為什麼
3af093cb27
Remove the null check because bindable should always have the value.
2022-07-19 20:39:41 +08:00
為什麼
ce1bb206c8
Initialize some bindables for prevent get the null instance.
2022-07-19 20:39:41 +08:00
andy840119
1f9f2b413e
Remove the nullable disable annotation.
...
Also, mark as nullable for some properties.
2022-07-19 20:39:41 +08:00
Salman Ahmed
8f80a22ef9
Fix osu! and catch hitobjects no longer scaled to 1 by default
2022-07-19 07:00:13 +03:00
Salman Ahmed
5ddb5a3d74
Introduce HitObjectProperty<T>
2022-07-19 05:39:10 +03:00
Dean Herbert
51f91fe62e
Update naming
2022-07-18 16:17:20 +09:00
Dean Herbert
eddf106f7c
Merge branch 'master' into score-country-storage
2022-07-18 16:12:40 +09:00
Salman Ahmed
6bfa5e53e0
Add property for whether mod uses default configuration
2022-07-18 07:29:03 +03:00
NotGumballer91
028653eb97
Update ModAdaptiveSpeed.cs
2022-07-18 00:10:49 +08:00
NotGumballer91
1caab78bdc
Update ModAutoplay.cs
2022-07-18 00:09:31 +08:00
Salman Ahmed
4e7156cee8
Store user country on databased scores
2022-07-16 06:39:05 +03:00
Dean Herbert
8dbe24fd7c
Simplify colour assigning logic and remove system mod colour for now
2022-07-12 14:36:50 +09:00
為什麼
8e1ed1c621
Mark CreateHitObjectComposer() accept null.
...
And add the null check in the test case.
2022-07-10 10:15:27 +08:00
為什麼
57c6763556
Mark the CreateBeatmapProcessor()
as nullable.
...
Also, should add the null check in the working beatmap.
2022-07-10 10:15:27 +08:00
為什麼
d39f53f1f0
Mark CreateConfig()
return type as nullable because it's not required all ruleset to implement.
...
Also, remove nullable disable annotation for all using classes.
Setting store can be nullable because `RulesetConfigManager()` can accept null setting store.
2022-07-10 10:15:27 +08:00
為什麼
857377e145
Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
...
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
為什麼
e67cb4c905
Mark create beatmap verifier as nullable because seems it's not requirement to be implemented.
2022-07-10 10:10:43 +08:00
為什麼
4a503bab0a
Remove unnecessary attribute.
2022-07-10 10:10:43 +08:00
為什麼
855debd5f6
Remove nullable disable annotation and mark some return value as nullable.
2022-07-10 09:29:17 +08:00
Adam Baker
7ced84b7ef
Replace switch statement with ForModType
...
In order to make `highlightedColour` dependent on the mod type color, the color is converted to an `osu.Framework.Graphics.Colour4` and calls `Lighten`.
2022-07-08 03:23:58 -05:00
Adam Baker
89f1c75f7a
Update mod icon colors
2022-07-07 21:57:18 -05:00
andy840119
59e3d4b9e5
Remove the nullable disable annotation in the Ruleset.Filter namespace.
2022-07-03 21:00:54 +08:00
andy840119
ea573f314e
Remove the nullable disable annotation in the Rulesets.Replays namespace in the osu.game project.
2022-07-02 13:08:25 +08:00
Dan Balasescu
edc4ace17e
Attach DT with NC, SD with PF, and Cinema with Autoplay
2022-06-30 11:52:30 +09:00
Dean Herbert
6c64cea057
Catch a second location
2022-06-29 18:56:15 +09:00
Dean Herbert
b092e6937a
Guard against ruleset icon creation failures to avoid whole game death
2022-06-29 18:51:07 +09:00
Dan Balasescu
2989803b71
Merge branch 'master' into speed-acc-scaling
2022-06-29 16:15:20 +09:00
Joseph Madamba
aacded0ecf
Fix difficulty adjust settings having more padding on sliders
2022-06-28 07:33:05 -07:00
Dan Balasescu
0fd2c010e5
Remove NRT disables from attributes classes
2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8
Add IBeatmapOnlineInfo parameter and use to extract more data
2022-06-27 16:07:15 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511
Merge branch 'master' into c-sharp-10
2022-06-24 21:22:33 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dan Balasescu
a7de43ade6
Add attribute ID
2022-06-21 19:31:45 +09:00
Dan Balasescu
e0c82d11ab
Convert == usages to ReferenceEquals
2022-06-20 16:56:19 +09:00
Dean Herbert
bd5037fcad
Fix new hitobject placements not taking on the existing sample settings
...
Similar to velocity / difficulty points, a user expectation is that
volume and sample settings will be transferred to newly placed objects
from the most recent one.
Closes https://github.com/ppy/osu/issues/18742 .
2022-06-18 13:49:59 +09:00
Dan Balasescu
fd9902e816
Manual #nullable processing
2022-06-17 16:38:35 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
ea191da496
Merge pull request #18728 from peppy/fix-unsafe-sample-playback
...
Fix unsafe sample playback in `GameplaySampleTriggerSource`
2022-06-17 12:26:46 +09:00
Dean Herbert
ec53d87c30
Fix unsafe sample playback in GameplaySampleTriggerSource
...
Resolves https://github.com/ppy/osu/issues/18727 .
Added delay from `Schedule` should be minimal as it is always called
from the `Update` thread (input propagation) anyway.
2022-06-16 16:04:57 +09:00
Bartłomiej Dach
30382b0445
Fill out GetModsFor()
xmldoc and annotate items as non-null
2022-06-15 17:40:15 +02:00
Gabe Livengood
6e64a8f55e
use event to trigger failure
2022-06-10 13:13:35 -04:00
Gabe Livengood
21c5499da1
remove arbitrary from method name
2022-06-10 13:11:17 -04:00
Gabe Livengood
4b73c423bd
don't specify icon
2022-06-09 18:58:22 -04:00
Dan Balasescu
6d2a2ba7d6
Rename Position -> Index
2022-06-09 18:49:11 +09:00
Dan Balasescu
f0ef2e610e
Merge branch 'master' into dho
2022-06-09 18:29:14 +09:00
Gabe Livengood
99dc2fbc3e
specify culture
2022-06-09 00:15:15 -04:00
Gabe Livengood
fdbec4f8c0
display tooltip accuracy as percentage
2022-06-08 23:44:34 -04:00
Gabe Livengood
dc75d55f72
allow modfailcondition to arbitrarily trigger fail
2022-06-08 14:02:15 -04:00
Gabe Livengood
a805f78909
Merge branch 'master' into mod-accuracy-challenge
2022-06-06 12:11:47 -04:00
Gabe Livengood
6710df94a7
change max accuracy to 99%
2022-06-06 12:05:45 -04:00
Dan Balasescu
6351f652a2
Fix combo starting at 0 when spectating
2022-06-06 17:56:25 +09:00
Dan Balasescu
a638392e81
Rename member
2022-06-02 16:35:50 +09:00
Dan Balasescu
055845d4f5
Throw exception on access before ApplyBeatmap()
2022-06-02 16:34:45 +09:00
Dan Balasescu
e551e48697
Use ScoreInfo overload in more places
2022-06-02 11:01:46 +09:00
Dan Balasescu
425390e13b
Refactor to reduce nested conditions
2022-06-01 09:54:47 +09:00
Dan Balasescu
50c3dfca31
Apply code reviews
2022-06-01 09:54:47 +09:00
Dan Balasescu
1e0ee1b214
Expose MaximumScoringValues for user consumption
2022-05-31 19:49:37 +09:00
Dan Balasescu
93240073a6
Rename field + rewrite xmldoc a bit
2022-05-31 19:40:07 +09:00
Dan Balasescu
28d8799e11
Add overloads to + document + expose ExtractScoringValues
2022-05-31 19:40:07 +09:00
Dan Balasescu
d6d56ee22d
Fix unintentional truncation
2022-05-31 19:40:07 +09:00
Dan Balasescu
44ca350822
Reset minimal scoring values from frames
2022-05-31 19:40:07 +09:00
Dan Balasescu
20988be6bb
Fix incorrect value
2022-05-31 19:40:07 +09:00
Dan Balasescu
6ccdb61853
Use new ComputeScore() overload in more cases
2022-05-31 19:40:02 +09:00
Dan Balasescu
2289812801
Add method to compute score from ScoringValues
2022-05-31 19:39:53 +09:00
Dan Balasescu
a809a19eec
Remove getBonusScore()
2022-05-31 19:39:42 +09:00
Dan Balasescu
d0e3e50ca7
Extract score statistics directly into ScoringValues
2022-05-31 19:39:42 +09:00
Dan Balasescu
af0f934e1a
Move raw ScoreProcessor values into ScoringValues struct
2022-05-31 19:39:38 +09:00
Dan Balasescu
132c94c1b5
Remove Ruleset parameter from ResetFromReplayFrame()
2022-05-31 17:16:23 +09:00
Bartłomiej Dach
e511c1dfff
Merge branch 'master' into use-normalised-precise-scrolling
2022-05-27 16:55:13 +02:00
apollo-dw
66a6467403
Pass object position to the object
2022-05-26 19:26:14 +01:00
Gabe Livengood
58d4aeb4fb
add accuracy calculation comment
2022-05-25 15:11:06 -04:00
Gabe Livengood
5944a15c30
review pass eins
2022-05-24 20:04:57 -04:00
apollo
bf35ded871
Correct operation
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-05-24 17:06:11 +01:00
apollo-dw
1ef711de41
Return null for out of range objects
2022-05-24 16:40:24 +01:00
apollo-dw
30b9e0e7ab
Use object list size for object position
2022-05-24 16:30:25 +01:00
Gabe Livengood
dde0756bed
add accuracy challenge mod
2022-05-24 10:23:44 -04:00
Dean Herbert
17206bbebf
Update screen padding and colouring to better match new designs
2022-05-24 18:43:22 +09:00
Dan Balasescu
9259aa94f1
Fix Catmull slider parsing with duplicate initial point
2022-05-24 11:47:42 +09:00
Susko3
88217e0c98
Adjust ScrollDelta
usages to account for normalised IsPrecise
values
2022-05-23 20:22:27 +02:00
apollo-dw
903c4f7b3d
Merge remote-tracking branch 'master/master' into dho
2022-05-23 13:39:04 +01:00
apollo-dw
d054e404da
Set object list to read-only
2022-05-23 13:10:42 +01:00
Dean Herbert
87947c6ef0
Merge pull request #18340 from smoogipoo/hp-ratio-improvements
...
Adjust HP drain and recoveries to closer match osu-stable
2022-05-23 15:19:42 +09:00
apollo-dw
40f560d7d0
Remove internal process method
2022-05-22 21:45:27 +01:00
apollo-dw
26985ca8af
Store hitobject history in the hitobject
2022-05-22 16:26:22 +01:00
Dean Herbert
eabf578282
Use interface to convey beat sync information
2022-05-22 22:44:54 +09:00
Dan Balasescu
b29172ea45
Increase HP lost for misses
2022-05-20 17:53:14 +09:00
Dean Herbert
2e21d75b10
Move metronome into own class and rename to avoid conflict with mod sounds
2022-05-20 17:30:04 +09:00
Dan Balasescu
3fdff7bbcb
Make Meh judgements not drain HP
2022-05-20 15:36:30 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
...
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
b3d6f76cfa
Add "None" snap type to fix flags not working correctly
2022-05-19 15:57:17 +09:00
Dan Balasescu
731f0960ec
Don't merge adjacent legacy Catmull segments
2022-05-18 17:16:24 +09:00
Dan Balasescu
5ad9692467
Adjust minimum health targets to match osu-stable
2022-05-17 19:24:51 +09:00
Dean Herbert
51744e428f
Merge branch 'master' into editor-readability
2022-05-12 22:56:55 +09:00
Dean Herbert
c63e65c677
Don't hide SelectionBlueprint
s themselves, only their children
2022-05-12 19:26:13 +09:00
Dean Herbert
10e41d018a
Fix toggling hit animations on the editor not applying immediately
2022-05-12 17:36:35 +09:00
Dean Herbert
f7e055dbfe
Move mania note height offset application to a much more suitable location
2022-05-12 16:19:07 +09:00
Dean Herbert
c0abce918f
Add enum
to snap method as alternative to mutliple nested invocations
2022-05-12 16:19:07 +09:00
Salman Ahmed
82b784ce5a
Change IApplicableToSample
to receive adjustable component instead
...
Done for consistency with `IApplicableToTrack`.
2022-05-10 18:06:03 +03:00
Salman Ahmed
4f5001704e
Change IApplicableToTrack
to receive adjustable component instead
2022-05-10 18:06:03 +03:00
Salman Ahmed
bbbecbb6b7
Apply time-ramping adjustment using clock instead of track
2022-05-10 18:06:03 +03:00
Dean Herbert
ab1d46b71c
Merge pull request #17270 from frenzibyte/multiplayer-disable-adaptive-speed
...
Disable mod "Adaptive Speed" in multiplayer
2022-05-09 17:31:47 +09:00
Salman Ahmed
144d33f0d2
Merge branch 'master' into distance-snapping-test
2022-05-06 17:29:27 +03:00
Dean Herbert
c6bc6be128
Fix toolbox expand being interrupted by gaps between groups
2022-05-06 19:06:40 +09:00
Dean Herbert
641584a049
Merge branch 'master' into multiplayer-disable-adaptive-speed
2022-05-06 14:00:44 +09:00
Dean Herbert
5029710de7
Merge branch 'master' into distance-snapping-test
2022-05-05 22:00:40 +09:00
Salman Ahmed
43c9058d09
Fix wrong obsolete message
2022-05-05 14:39:05 +03:00
Salman Ahmed
8501a41619
Bring back separate bool properties as non-cascading
2022-05-05 14:37:38 +03:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance
2022-05-05 19:55:55 +09:00
Dean Herbert
e83604a1fc
Merge branch 'master' into cache-at-interface
2022-05-05 18:54:24 +09:00
Dean Herbert
7b71fb860b
Expose DistanceSpacingMultiplier
for test usage
2022-05-05 18:49:12 +09:00
Dean Herbert
947a68006a
Add note about IDistanceSnapProvider
not multiplying DistanceSpacing
itself
2022-05-05 17:50:17 +09:00
Dean Herbert
c3d2648f85
Reword weird xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-05-05 17:07:05 +09:00
Dean Herbert
4226583afd
Merge branch 'cache-at-interface'
2022-05-05 16:52:03 +09:00
Dean Herbert
19cf9dc20b
Merge branch 'snapping-tidy-distance'
2022-05-05 16:51:32 +09:00
Dean Herbert
5a1ac71d90
Remove unnecessary type specification in HitObjectComposer
's caching
2022-05-05 16:44:37 +09:00
Dean Herbert
1c6a233cc0
Move snap provider caching to interfaces
2022-05-05 16:44:37 +09:00
Dean Herbert
b411b59006
Move IPlacementHandler
caching to interface
2022-05-05 16:43:02 +09:00
Dean Herbert
977e6d8a80
Add xmldoc for IDistanceSnapProvider
and related properties
2022-05-05 16:25:45 +09:00
Dean Herbert
1fce0da331
Reword slightly, to allow better conformity with IDistanceSnapProvider
2022-05-05 16:04:34 +09:00
Dean Herbert
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Salman Ahmed
8488a29e9e
Renew obsoletion date
2022-05-04 17:22:11 +03:00
Salman Ahmed
20e277d2e5
Apply proposed naming changes
2022-05-04 17:12:17 +03:00
Salman Ahmed
e9ecf26b6a
Merge branch 'master' into multiplayer-disable-adaptive-speed
2022-05-04 17:12:03 +03:00
Bartłomiej Dach
bf80dd864c
Merge branch 'master' into fix-editor-toolbox-click-through
2022-05-04 11:57:32 +02:00
Dean Herbert
4e0f899159
Rename value changed variable
2022-05-04 18:13:30 +09:00
Salman Ahmed
f5d4f02200
Use ToUpper
for key binding text
2022-05-04 11:59:29 +03:00
Salman Ahmed
0b8fd2e39f
Improve distance spacing toast inline with key binding changes
2022-05-04 11:43:19 +03:00
Dean Herbert
b325f0ee0b
Combine editor toolbox container implementation and fix input blocking
...
Until now, toolbox scroll areas would block input from arriving behind
them, even when no visible element was clicked.
In addition, clicking on a button inside a toolbox would still send a
`MouseDown` event to things behind it. Specifically, the editor's
`HitObjectComposer` would receive these events and also place objects
when the user does not expect them to be placed.
This fixes another regression that occurred due to `ScrollContainer`s no
longer blocking input theirselves.
2022-05-04 17:41:30 +09:00
Salman Ahmed
3d2072498e
Merge branch 'master' into distance-spacing-osd
2022-05-04 11:41:12 +03:00
Dean Herbert
a66743266f
Remove unused ScrollingToolboxGroup
class
2022-05-04 17:20:58 +09:00
Salman Ahmed
6f52a0b5eb
Merge branch 'master' into distance-spacing-osd
2022-05-04 11:10:18 +03:00
Dean Herbert
40f1ceca0a
Merge branch 'master' into distance-spacing-keybinding
2022-05-04 16:34:01 +09:00
Salman Ahmed
504ca5be31
Fix scrolling no longer adjusting distance spacing by amount
2022-05-04 09:52:33 +03:00
Salman Ahmed
813d6fed48
Split activation keybind to separate increase/decrease keybinds
2022-05-04 09:00:54 +03:00
Salman Ahmed
0dd2e1652c
Mark OnScreenDisplay
dependency as nullable
2022-05-03 11:15:28 +03:00
Salman Ahmed
b8287f3687
Display toast notification on editor distance spacing change
2022-05-03 10:30:32 +03:00
Salman Ahmed
521ec1a225
Add keybind for distance grid spacing activation
2022-05-03 10:15:24 +03:00
Dan Balasescu
637f817696
Ignore zero-sections on a per-case basis
2022-05-03 16:06:20 +09:00
Dan Balasescu
a555c47212
Reduce sorting complexity in worst-case of diffcalc
2022-05-03 15:02:57 +09:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
...
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Salman Ahmed
fef94d49f4
Revert "Convert data type of DistanceSpacing
to float"
...
This reverts commit 7aaa88cac2
.
2022-04-29 08:02:07 +03:00
Salman Ahmed
abb88b0907
Move distance spacing application to DistanceSnapGrid
2022-04-28 10:54:38 +03:00
Salman Ahmed
7aaa88cac2
Convert data type of DistanceSpacing
to float
2022-04-28 10:24:36 +03:00
Salman Ahmed
2e8372fe90
Minor cleanup
...
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
bfc6bfc91b
Let CatchHitObjectComposer
inherit from DistancedHitObjectComposer
and hide control
2022-04-28 06:44:50 +03:00
Salman Ahmed
835898dd30
Introduce DistancedHitObjectComposer
and supersede OsuToolboxComposite
2022-04-28 06:44:50 +03:00
Salman Ahmed
59cf3ff50f
Move distancing methods from IPositionSnapProvider
to IDistanceSnapProvider
2022-04-28 05:48:45 +03:00
Salman Ahmed
cccc9d7d39
Rename method to better reflect what it's doing
2022-04-27 00:03:48 +03:00
Salman Ahmed
31f64b1381
Fix HealthProcessor
fail conditions not handling multiple invocations
2022-04-26 23:27:03 +03:00
Salman Ahmed
7d32490198
Change score accuracy grading logic to be inclusive
2022-04-26 04:55:27 +03:00
Salman Ahmed
8ed39009fd
Encapsulate distance spacing control handling to a "distance toolbox composite"
...
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
70a93c0e7e
Move DistanceSpacingMultiplier
bindable to its own IDistanceSnapProvider
interface
2022-04-24 08:33:00 +03:00
Salman Ahmed
4f8f27a58b
Merge branch 'master' into osu-distance-spacing
2022-04-24 05:23:30 +03:00
Dean Herbert
9c68b3edc5
Merge branch 'master' into fix-spectator-seeks
2022-04-13 12:33:41 +09:00
Bartłomiej Dach
6630b38c08
Make all ModRateAdjust
implementations incompatible with each other
2022-04-07 22:38:46 +02:00
Dean Herbert
a3695c7e97
Merge branch 'master' into fix-spectator-seeks
2022-04-06 12:58:43 +09:00
Dan Balasescu
40b6f3ff0a
Rename method to CalculateAllLegacyCombinations()
2022-03-31 15:09:06 +09:00
Dan Balasescu
32e55e7d78
Merge branch 'master' into osu-diff-calc-max-combo
2022-03-31 15:08:08 +09:00
Dean Herbert
e0d434b89f
Remove unused using statement
2022-03-31 11:34:32 +09:00
Dean Herbert
0cac935939
Shorten class name of ModCreatedReplayUser
2022-03-31 11:34:23 +09:00
Dean Herbert
2c1ccc7d36
Update obsolete message to match targeted developers' use case
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-31 11:33:26 +09:00
Dean Herbert
234bec45cc
Remove unnecessary logging
2022-03-31 11:32:00 +09:00
Salman Ahmed
6874cdf0c8
Remove unnecessary public
prefix in interface method
2022-03-31 01:50:46 +03:00
Bartłomiej Dach
83bae81095
Fill out ICreateReplayData
xmldocs
2022-03-30 22:04:54 +02:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id
2022-03-30 21:41:45 +02:00
Salman Ahmed
8d4356f23b
Mark "autoplay" and "cinema" mods as mutually exclusive
2022-03-29 17:26:02 +03:00
Salman Ahmed
9a09c97457
Fix "Barrel Roll" tooltip not limiting decimal places for spin speed
2022-03-29 16:11:44 +03:00
Dean Herbert
ea9495eb74
Update all existing calls to extension method with correct fallback handling
2022-03-29 16:51:30 +09:00
Dean Herbert
7d716adf39
Create new ICreateReplayData
interface and obsolete ICreateReplay
2022-03-29 16:51:30 +09:00
Dean Herbert
3fc8c23fe4
Remove unnecessary SetReplayScore
call in ModCinema
2022-03-29 16:51:30 +09:00
Dean Herbert
327477d050
Remove unnecessary SetReplayScore
call in ModCinema
2022-03-29 16:50:05 +09:00
Dean Herbert
6f529cf7a4
Merge branch 'master' into fix-spectator-seeks
2022-03-24 14:24:20 +09:00
Salman Ahmed
6cd67928ab
Simplify documentation of ModUsage
2022-03-23 15:48:52 +03:00
Salman Ahmed
b218046fa2
Remove redundant line from mod usage
2022-03-23 15:38:48 +03:00
Dean Herbert
c079a9cd32
Add comment regarding equality check importance in LegacyHitSampleInfo
2022-03-23 20:18:44 +09:00
Dean Herbert
997c091a8d
Revert "Remove IsLayered
from LegacyHitSampleInfo
comparison"
...
This reverts commit 4523393208
.
2022-03-23 20:15:17 +09:00
Dean Herbert
2ea9e5245c
Revert "Remove IsLayered
from GetHasCode
implementation"
...
This reverts commit 16ee6b5fc7
.
2022-03-23 20:15:13 +09:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
...
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
Salman Ahmed
5f878ed82b
Delegate IsPlayable
to the obsoleted UserPlayable
by default
...
Handles consumers who still haven't updated to use `IsPlayable` yet.
2022-03-20 16:07:09 +03:00
Salman Ahmed
add9f3ec91
Rename multiplayer mod usages to make more sense
2022-03-20 13:12:24 +03:00
Salman Ahmed
820a672940
Reword xmldoc to make more sense
2022-03-20 06:37:08 +03:00
Salman Ahmed
70e943fbcc
ModUsage.Solo
-> ModUsage.User
2022-03-20 06:36:51 +03:00
apollo-dw
149cfd338d
Use new mod-related object types for Strict Tracking
2022-03-19 18:29:44 +00:00
Salman Ahmed
8078a8c1f8
Simplify IncreasesCombo
/BreaksCombo
helper method implementation
2022-03-18 17:18:42 +03:00
Salman Ahmed
5ec2d86c09
Update ScoreProcessor
to use new defined helper methods
2022-03-18 15:22:53 +03:00
Salman Ahmed
fc576b1369
Separate increase/break combo helper methods from AffectsCombo
2022-03-18 15:22:01 +03:00
Dean Herbert
0988c2b0fa
Move DrawableRuleset
binding to LoadComplete
to avoid exceptions on InputManager
access
2022-03-18 15:28:48 +09:00
Salman Ahmed
f2248ecc08
Update usages to use IsPlayable
instead
2022-03-18 02:11:18 +03:00
Salman Ahmed
51e5dd7d0e
Introduce IsPlayable(...)
and obsolete UserPlayable
2022-03-18 02:08:30 +03:00
Salman Ahmed
d90f21e140
Reword mod documentation
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-18 00:13:40 +03:00
Salman Ahmed
b3ac544d65
Revert "Consider UnknownMod
to be "playable in multiplayer""
...
This reverts commit 07e9f3780a
.
2022-03-17 06:31:51 +03:00
Salman Ahmed
07e9f3780a
Consider UnknownMod
to be "playable in multiplayer"
2022-03-17 05:15:48 +03:00
Salman Ahmed
187059a37f
Replace hardcoded overrides with the newly introduced Mod
properties
2022-03-17 03:51:27 +03:00
Salman Ahmed
d90a334853
Introduce multiplayer playability and free mod validity in Mod
2022-03-17 03:48:56 +03:00
Dan Balasescu
d80830b415
Merge pull request #17226 from peppy/skin-component-settings
...
Allow skin components to have settings
2022-03-16 17:12:11 +09:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction
2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
...
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
3a6d254d1f
Add safeguards around incorrect ruleset sources
2022-03-15 09:20:32 +09:00
Dan Balasescu
e79bed8fbe
Merge branch 'master' into skin-component-settings
2022-03-14 18:54:27 +09:00
Dean Herbert
16ee6b5fc7
Remove IsLayered
from GetHasCode
implementation
2022-03-14 18:12:04 +09:00
Dean Herbert
39d95aa8cf
Add automatic preloading of sample pools at a Playfield
level
2022-03-14 17:19:48 +09:00
Dean Herbert
4523393208
Remove IsLayered
from LegacyHitSampleInfo
comparison
...
The equality of samples is generally used to compare the sample
equality, not its full properties. For instance, we don't compare
`Volume` in the base implementation.
Having `IsLayered` here breaks actual usages of equality, ie. for
pooling purposes.
2022-03-14 17:19:48 +09:00
Dean Herbert
8676a2587c
Add the ability for HitObject
s to specify auxiliary samples
2022-03-14 17:19:48 +09:00
Dan Balasescu
028750936c
Apply review suggestions
2022-03-14 17:10:37 +09:00
Dan Balasescu
3fff7f4b7e
Require ScoreProcessor to receive ruleset
2022-03-14 15:51:10 +09:00
Dan Balasescu
9cc7f70872
Nullable annotate classes
2022-03-14 15:38:00 +09:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dean Herbert
8d1ee28e67
Add settings modification UI to skin editor
2022-03-13 17:03:25 +09:00
Dean Herbert
db5c2c15dc
Merge pull request #17164 from smoogipoo/scoreprocessor-rework
...
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
...
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Dan Balasescu
cf91353009
Merge branch 'master' into scoreprocessor-rework
2022-03-10 16:14:28 +09:00
Dean Herbert
eaef27595c
Also mark UnknownMod
as not user-playable
2022-03-10 15:33:50 +09:00
Dan Balasescu
c36badab4b
Add per-ruleset score multipliers for classic scoring
2022-03-10 10:26:09 +09:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework
2022-03-09 23:04:18 +09:00
Dean Herbert
02f44d7061
Merge branch 'master' into fix-mod-conversion-exceptions
2022-03-09 18:07:42 +09:00
Dean Herbert
0267aed846
Change ToMod
to return an UnknownMod
rather than throw if a mod isn't available
...
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).
Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.
```
An unhandled has occurred.
System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Dean Herbert
8bb07f83cd
Merge pull request #17054 from hlysine/mod-adaptive-speed
...
Implement Adaptive Speed mod
2022-03-09 17:56:34 +09:00
Dan Balasescu
6fd8b4d891
Safeguard method against invalid invocation
2022-03-08 22:30:44 +09:00
Dan Balasescu
f1c40bd9ed
Rework GetScore() method signatures + implementations
...
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
a8e99f1a95
Calculate classic score using total basic hitobject count
2022-03-08 21:49:41 +09:00
Dan Balasescu
5b6b8d1fa9
Remove GetStandardisedScore() proxy method
2022-03-08 21:49:41 +09:00
Dan Balasescu
6654977a7b
Add GetScore() overload with total hitobject count
2022-03-08 21:49:41 +09:00
Dan Balasescu
2c382bd1d9
Rename GetImmediateScore() as overload of GetScore()
2022-03-08 21:49:40 +09:00
Dan Balasescu
a352a140bc
Merge pull request #17157 from peppy/fix-statistics-json-serialisation
...
Fix incorrect serialisation of submitted scores
2022-03-08 20:20:31 +09:00
Dan Balasescu
a172fc6cb8
Add IsBasic() and IsTick() extensions on HitResult
2022-03-08 18:19:12 +09:00
Dean Herbert
589a40ca2d
Add EnumMember
naming to HitResult
to allow for correct json serialisation
2022-03-08 17:58:37 +09:00
Henry Lin
8b8b54b58f
Scale rate adjustments based on hit timing consistency and tweak some related numbers
2022-03-05 21:48:57 +08:00
Henry Lin
76d257fbe4
Merge branch 'master' into mod-adaptive-speed
2022-03-04 15:16:37 +08:00
Henry Lin
f72c9a1f41
Cap speed change per hit and apply a speed decrease on miss
2022-03-04 11:48:48 +08:00
Henry Lin
b66af7edf4
Rename approximatedRates
to ratesForRewinding
and update xmldoc
2022-03-04 11:03:57 +08:00
Bartłomiej Dach
fcefd3c725
Fix slightly wrong references in xmldocs
2022-03-03 17:39:55 +01:00
Bartłomiej Dach
3797871aa0
Add extended documentation of adaptive speed mod machinations
2022-03-03 17:25:49 +01:00
Bartłomiej Dach
ffaf5b729f
Move and reword docs of allowable rate range constants
2022-03-03 17:07:43 +01:00
Henry Lin
464be6e64c
Only call IUpdatableByPlayfield.Update
if the playfield isn't nested
2022-03-03 14:37:39 +08:00
Henry Lin
4ce2044e4c
Reorder members
2022-03-03 13:09:41 +08:00
Henry Lin
9c2aa51194
Rename applyPitchAdjustment
to adjustPitchChanged
2022-03-03 13:07:30 +08:00
Henry Lin
ae71dcceeb
Convert comments to xmldoc
2022-03-03 13:03:53 +08:00
Henry Lin
09254407fe
Interpolate speed change using IUpdatableByPlayfield
2022-03-03 12:09:36 +08:00
Henry Lin
51258dbab4
Use binary search in ApplyToBeatmap
2022-03-03 11:21:20 +08:00
Henry Lin
95a40c5dc5
Remove pointless comment
2022-03-03 10:43:30 +08:00
Henry Lin
ff7f65de27
Extract duplicated conditionals
2022-03-03 10:43:04 +08:00
Henry Lin
55737226a3
Use Enumerable.Repeat
2022-03-03 10:18:36 +08:00
Henry Lin
d335a2229f
Tweak average_count
2022-03-02 21:07:57 +08:00
Henry Lin
17bc714297
Allow the mod to properly react to nested hit objects
2022-03-02 20:48:57 +08:00
Henry Lin
6caecf79a0
Use smooth speed change
2022-03-02 20:08:05 +08:00
Henry Lin
c6934b4bce
Improve adaptive speed algorithm and add rewind support
2022-03-02 10:35:03 +08:00
Henry Lin
783f43ccfb
Add initial rate setting
2022-03-02 09:57:52 +08:00
Henry Lin
c9b205afeb
Add adaptive speed mod
2022-03-02 09:57:52 +08:00
Dean Herbert
7215f3f66b
Fix CalculateAverageHitError
throwing if there are zero HitEvent
s
2022-03-01 18:44:15 +09:00
Dean Herbert
159db38f8a
Add missing xmldoc
2022-02-28 19:14:43 +09:00
Dean Herbert
a41e1c80f1
Show hit error on results screen
...
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
...
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Bartłomiej Dach
d8fa443ea0
Extract default mod switch measurements to constants
...
For use later when specific sizes/scales of the mod switches are
desired.
2022-02-22 23:22:11 +01:00
Dan Balasescu
bedd07d2e4
Add remark about usage of CalculateAll()
2022-02-22 18:12:55 +09:00
Bartłomiej Dach
cfc41a0a36
Implement small mod switch
2022-02-22 00:26:35 +01:00
Bartłomiej Dach
5186693dad
Implement tiny mod switch
2022-02-22 00:26:35 +01:00
Dan Balasescu
c466d6df94
Ensure to not multiply by 0
2022-02-21 17:19:35 +09:00
Dan Balasescu
c3b365cf6b
Scale classic score by hitobject count
2022-02-21 13:31:03 +09:00
Dan Balasescu
567da9214e
Merge branch 'master' into osu-diff-calc-max-combo
2022-02-18 18:35:24 +09:00
Dan Balasescu
3945cd24eb
wip
2022-02-17 21:14:49 +09:00
Dean Herbert
7307e68e9c
Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
...
This reverts commit 252b945d3b
, reversing
changes made to a1b39a96cf
.
2022-02-17 13:26:12 +09:00
Dean Herbert
23933fc881
Update xmldoc to mention that multipliers are not applied anywhere
2022-02-16 17:32:22 +09:00
Dean Herbert
5ffd3ff82a
Add xmldoc and allow constructing an AssemblyRulesetStore
with a directory path
2022-02-16 17:25:16 +09:00
Dean Herbert
d0efecfc9c
Add RulesetStore
for use where realm is not present (ie. other projects)
2022-02-16 17:13:54 +09:00
Dean Herbert
7a69de0060
Split out realm portion of RulesetStore
2022-02-16 17:13:31 +09:00
Dan Balasescu
4c1413e0c7
No longer require Mod implementation
2022-02-16 16:36:02 +09:00
Dan Balasescu
5dd9771c5f
Remove mod multipliers from being applied to scores
2022-02-16 16:27:27 +09:00
Dan Balasescu
84e82ef5e4
Add XMLDocs to difficulty attribute properties
2022-02-16 14:09:19 +09:00
Salman Ahmed
0992bec2c8
Change "distance spacing" multipler type to double
...
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.
Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true ).
2022-02-16 03:28:12 +03:00
Salman Ahmed
868dcd20f5
Remove e.ShiftPressed
handling for now
...
Broken on macOS, will be handled differently later on as discussed.
2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c
Expose distance spacing in IPositionSnapProvider
for updating distance grid
...
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Salman Ahmed
19ee05c232
Add "distance spacing" multiplier for osu! ruleset
...
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Dean Herbert
b9d9fc56af
Move files to UI namespace
2022-02-14 17:51:39 +09:00
Salman Ahmed
92e22c57a7
Introduce private APIRuleset
for online ID equality comparison
2022-02-11 08:27:01 +03:00
Salman Ahmed
26839f6ad8
Consider OnlineID
s during ruleset equality if available
...
Required for `APIBeatmap`s, which provide `Ruleset` instances with `OnlineID` available only.
Also consistent with the comparer implementation.
2022-02-11 04:26:58 +03:00
Salman Ahmed
1b729e891d
Update pointless CompareTo
implementation once again
2022-02-11 04:17:30 +03:00
Salman Ahmed
9574bc1382
Allow IRulesetInfo
s of same type to be comparable
...
At first I was planning on making `CompareTo` implemented at
`IRulesetInfo` itself and shared across classes, but turns out it only
implements it explicitly and not allow direct `IRulesetInfo.Equals`
calls.
It messed with my head enough that I decided to just let each class have
its own implementation and only allow same type.
2022-02-11 04:03:23 +03:00
Dan Balasescu
ebd105422f
Remove unused using
2022-02-10 14:22:08 +09:00
Dan Balasescu
f7fb7825cc
Simplify disposal
2022-02-10 14:21:51 +09:00
Dan Balasescu
a3896a8ebd
Remove allowance of null dependency
2022-02-10 14:21:50 +09:00
Dan Balasescu
45b3f472ab
Merge branch 'master' into spectator-state-rework
2022-02-08 19:51:50 +09:00
Henry Lin
56c90a21ce
Add a todo
2022-02-06 11:22:12 +08:00
Henry Lin
f78c853bc7
Calculate max combo locally in PerformanceBreakdownCalculator
2022-02-06 10:59:53 +08:00
Henry Lin
0b1fef38af
Use the playable beatmap provided in CreateStatisticsForScore
2022-02-05 21:36:34 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes
2022-02-05 16:59:46 +08:00
Dan Balasescu
483977d5c8
Merge branch 'master' into spectator-state-rework
2022-02-03 19:59:07 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits
2022-02-02 20:41:25 +01:00
Salman Ahmed
074a691635
Set keyboard step to 0.1
for difficulty adjust sliders
2022-02-02 17:43:08 +03:00
Dan Balasescu
6d3bc005ea
Merge branch 'master' into spectator-state-rework
2022-02-02 18:57:04 +09:00
Dean Herbert
0c5da9370a
Fix rulesets potentially being marked Available
even when methods are missing
...
Came up when running the game after the recent breaking changes
(https://github.com/ppy/osu/pull/16722 ), where two template rulesets I
had loaded were erroring on startup but still being marked as available,
allowing them to crash the game on attempting to initiate relpay logic.
These cases are already handled for first-time ruleset loading via the
`GetTypes()` enumeration in `RulesetStore.addRuleset`, but when
consistency checking already present rulesets the only runtime
validation being done was `ruleset.CreateInstance()`, which does not
handle missing types or methods.
2022-02-02 14:52:01 +09:00
Henry Lin
b06128ffa5
Rename "Final PP" to "Achieved PP"
2022-02-01 22:26:55 +08:00
Dan Balasescu
41007169f7
Give SpectatorState a user state
2022-02-01 21:51:05 +09:00
Dean Herbert
0f83f77d2b
Add xmldoc for new ResetFromReplayFrame
method
2022-02-01 16:52:53 +09:00
Dan Balasescu
0641264a11
Merge branch 'master' into spectator-consistency-frames
2022-02-01 14:35:30 +09:00
Dan Balasescu
c50577e25f
Apply suggestion from review
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 10:48:41 +09:00
Dan Balasescu
4fb565e15f
Reset ScoreProcessor from statistics replay frames
2022-01-31 21:32:56 +09:00
Dan Balasescu
39e1d65976
Make ScoreProcessor write all judgement types
2022-01-31 18:53:47 +09:00
Dan Balasescu
0458d408bb
Add replay statistics frames to FramedReplayInputHandler
2022-01-31 18:53:47 +09:00
Dan Balasescu
4727aeda01
Give last bundled replay frame the frame header
2022-01-31 18:53:47 +09:00