1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 07:20:24 +08:00
Commit Graph

5254 Commits

Author SHA1 Message Date
Zyf
3c76cb2fb0 Scoring : Use square-root of combo 2023-07-12 00:32:42 +02:00
NiceAesth
1dae1d8f0a Account for break time 2023-07-11 13:40:19 +03:00
Dean Herbert
a0e6748882 Fix slider blueprint placement when ending placement outside the playfield
As mentioned in https://github.com/ppy/osu/discussions/24161
2023-07-11 17:29:53 +09:00
OliBomby
06e5ef88c0 legacy export broken 2023-07-11 02:30:16 +02:00
NiceAesth
9a2915f423 Add beatmap minimum length checks 2023-07-10 17:29:49 +03:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2 and LegacyMods 2023-07-09 16:15:21 +02:00
Bartłomiej Dach
ae05df3b8c
Add ModScoreV2 2023-07-09 15:56:51 +02:00
Bartłomiej Dach
56a2ba4ac0
Fix GenerateTicks being lost during osu! beatmap conversion process 2023-07-08 23:24:38 +02:00
Bartłomiej Dach
055e4a78f0
Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-08 18:10:04 +02:00
Dean Herbert
e0fc97bb93 Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
Dean Herbert
753db044b4 Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 19:08:42 +09:00
Dean Herbert
2e98ab0a48 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
de74c9eb8b Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 14:16:31 +09:00
Dean Herbert
af3f9086e5 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 14:16:31 +09:00
Bartłomiej Dach
a87a631c50
Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-05 22:15:32 +02:00
Bartłomiej Dach
f3576b88a4
Merge pull request #24121 from peppy/fix-judged-fallback
Fix fallback for `Judged` to be more correct
2023-07-05 22:15:04 +02:00
Dean Herbert
49e5558e4f
Merge pull request #24072 from smoogipoo/diffcalc-total-scorev1
Add difficulty attributes to facilitate conversion from legacy score, and convert existing scores
2023-07-05 18:47:18 +09:00
Dean Herbert
8f61f5e4c6 Cache Playfield for the sake of tests
I'm open to an alternative. Name it.
2023-07-05 18:44:27 +09:00
Dean Herbert
c5b949154c Merge branch 'fix-judged-fallback' into taiko-hitsounding-final-attempt 2023-07-05 18:44:27 +09:00
Dean Herbert
4364736ccd Fix fallback for Judged to be more correct
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.

Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:

f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:44:27 +09:00
Dean Herbert
561fff801a Consume nested object states in HitObjectLifetimeEntry 2023-07-05 18:44:27 +09:00
Dean Herbert
beed390031 Add balance adjust to base implementation of DrumSampleTriggerSource 2023-07-05 18:44:27 +09:00
Dean Herbert
6d4fa6569f Add back required pieces to GameplaySampleTriggerSource from old PR 2023-07-05 18:44:27 +09:00
Dean Herbert
3f8dfc7cb0 Fix fallback for Judged to be more correct
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.

Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:

f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:03:58 +09:00
Bartłomiej Dach
6c4e52821d
Redirect judgement-related flags from DHO to HOLE 2023-07-04 23:45:08 +02:00
Bartłomiej Dach
0ceaf3c451
Ensure synthetic entries from non-pooled DHO are linked to parents 2023-07-04 23:45:08 +02:00
Bartłomiej Dach
bae7670855
Redirect HitObjectEntryManager child mapping to HOLE 2023-07-04 23:41:06 +02:00
Bartłomiej Dach
6dc8c7b617
Add HitObjectLifetimeEntry.NestedEntries 2023-07-04 23:39:56 +02:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Dean Herbert
4203e2183d
Merge branch 'master' into diffcalc-total-scorev1 2023-07-04 14:15:24 +09:00
Dan Balasescu
c6ad184d94 Move Ruleset method to ILegacyRuleset interface 2023-06-29 17:24:37 +09:00
Dan Balasescu
af25ffbe81 Remove JSON output 2023-06-28 16:15:44 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dean Herbert
8bd6f7a46a Rename ClicksPerSecondCalculator to ClicksPerSecondController 2023-06-27 16:38:46 +09:00
Dean Herbert
e21583ff1b Refactor InputCountController to not require being added to foreign body via Attach
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
Bartłomiej Dach
40ceb4dfac
Fix incorrect indent size 2023-06-26 22:40:25 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller 2023-06-26 19:27:42 +02:00
Bartłomiej Dach
cc45ec4fff
Mark IHasRecordingHandler.Recorder nullable 2023-06-26 18:52:05 +02:00
Dan Balasescu
a9c65d200a Initial conversion of scores 2023-06-26 22:19:01 +09:00
Dean Herbert
084354a8dc Split out interfaces from RulesetInputManager and improve xmldoc 2023-06-26 16:34:57 +09:00
Dean Herbert
c8e081c2b6 Remove unused interface 2023-06-26 16:32:19 +09:00
Dan Balasescu
e1d723a2cc Merge branch 'master' into diffcalc-total-scorev1 2023-06-26 14:32:14 +09:00
tsrk
350d722c8d
Merge branch 'master' into hud/kc-skinnable 2023-06-25 15:42:08 +02:00
tsrk
a7088ffe22
revert: bring back old attachment flow
As discussed, this would bring more problems that anything.

Refs: 4c39708, f83a4f4
2023-06-25 15:21:55 +02:00
Bartłomiej Dach
25842105ce
Merge pull request #23976 from peppy/gameplay-sample-trigger-source-correctness
Adjust `GameplaySampleTriggerSource` to only switch samples when close enough to the next hit object
2023-06-25 08:23:55 +02:00
Bartłomiej Dach
d7ae430ec2
Merge branch 'master' into framework-update 2023-06-24 18:47:52 +02:00
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections 2023-06-24 17:11:38 +02:00
Dean Herbert
2bda63c2c8 Merge branch 'master' into mass-nrt 2023-06-24 09:59:15 +09:00
Dean Herbert
58e6b3782b Fix a couple of remaining issues 2023-06-24 09:58:36 +09:00
Dan Balasescu
5fadadc3d0 Merge branch 'master' into diffcalc-total-scorev1 2023-06-24 02:46:15 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dan Balasescu
06565871d6 Add flag to disable computing legacy scoring values 2023-06-24 01:03:18 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
08b3c0cce0 Change "floating fruits" mod to only apply adjustments to the playfield
Avoids things like touch screen inputs also being flipped.

Note that these adjustments can't be applied directly to the playfield
due to how playfields are used in various rulesets (basically relying on
the `PlayfieldAdjustContainer` to get things in the right place).

Closes #24000.
2023-06-23 14:18:43 +09:00
Dean Herbert
64b726d5ec Fix nested logic not being completely correct (favouring already-passed rather than near-future) 2023-06-23 13:48:13 +09:00
Bartłomiej Dach
79606317ab
Remove redundant parentheses 2023-06-22 20:02:10 +02:00
Dean Herbert
4ff5275208 Make IGameplayClock optional in GameplaySampleTriggerSource to ease testing 2023-06-21 17:33:42 +09:00
Dean Herbert
cb07f2399f Apply NRT to GameplaySampleTriggerSource 2023-06-20 21:03:55 +09:00
Dean Herbert
04dad6c6e8 Use IGameplayClock to ensure our clock source is correct 2023-06-20 20:47:56 +09:00
Dean Herbert
0e86102681 Fix nested lookups 2023-06-20 20:45:02 +09:00
Dean Herbert
786d5a394b Add back optimisation and increase time allowance slightly 2023-06-20 20:30:07 +09:00
Dean Herbert
555ce7684b Adjust GameplaySampleTriggerSource to only switch samples when close enough to the next hit object
Closes #23963.

To simplify things, I've removed the optimisation of using
`AliveObject`s because it would break the way this whole lookup works.
2023-06-20 20:06:07 +09:00
Dan Balasescu
bfa449e47a Adjust attribute data 2023-06-19 21:38:13 +09:00
Dean Herbert
aa96fefae2 Merge branch 'master' into snap-colour-mod 2023-06-19 20:01:36 +09:00
tsrk
f83a4f4952
refactor: tidy up attachement flow
TODO: find better naming and improve XMLDocs
2023-06-18 22:57:21 +02:00
tsrk
141f9efad5
style(KeyCounterController): remove reliance on Receptor 2023-06-18 21:26:16 +02:00
Dan Balasescu
0844a21a51 Merge branch 'master' into diffcalc-total-scorev1 2023-06-15 19:33:29 +09:00
tsrk
b4cbcb210e
refactor: remove detachment logic
No real use case, cleaning up the diff
2023-06-15 12:24:37 +02:00
tsrk
42b740a175
Merge branch 'master' into hud/kc-skinnable 2023-06-14 22:19:45 +02:00
Bartłomiej Dach
e46b4209c3
Remove no-longer-needed local method 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
462570801a
Introduce new method for enumeration of objects during autoplay simulation 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
3295294cbc
Reorder autoplay-related virtual methods closer together 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
04e812b5ab
Make JudgementProcessor.SimulateAutoplay() non-virtual
Nobody overrides this, and with the structure given, overriders would
have to rewrite half of this code anyway. The fact that the class has 2
other overridable members (`CreateResult()`, `GetSimulatedHitResult()`)
which cease to have any meaning if `SimulateAutoplay()` is overridden
also contributes to taking this decision.
2023-06-14 21:50:19 +02:00
tsrk
c637fddf73
refactor: decouple Trigger logic from KeyCounterDisplay
This allows to keep a coeherent state regardless of the progress of the play
2023-06-14 21:13:35 +02:00
Dean Herbert
3334323eb7 Run updateScore on Reset for good measure 2023-06-14 01:54:57 +09:00
Dean Herbert
0ab9a48f00 Fix score not updating when TrackHitEvents is set to false 2023-06-13 11:44:52 +09:00
Dean Herbert
e9fb1f8932 Avoid tracking hit events altogether during migration 2023-06-13 02:15:41 +09:00
Dean Herbert
e0ebb000d6 Avoid unnecessary operations during score processor simulation 2023-06-13 02:05:11 +09:00
Dan Balasescu
446807e7f6 Add combo score / bonus score attributes 2023-06-12 23:00:29 +09:00
Dean Herbert
1ab3b43b59 Fix weird right-toolbox distance snapping display in osu!catch editor 2023-06-09 14:36:17 +09:00
John Biddle
d07437f810 Added recommendations from bdach:
Fixed null checking in ApplyToDrawableHitObject
Renamed mod to "Synesthesia"
Moved to the "Fun" mod category
2023-06-08 00:52:28 -07:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Bartłomiej Dach
244e6cc008
Merge pull request #23767 from peppy/fix-playfield-border-animation-in-editor
Fix gameplay playfield border being affected by beatmap track time
2023-06-06 22:10:18 +02:00
Dean Herbert
247fa088db Add IHasNoTimedInputs interface to scope change further 2023-06-06 22:22:42 +09:00
Dan Balasescu
77c745cc94 "TotalScoreV1" -> "LegacyTotalScore" 2023-06-06 17:25:28 +09:00
Dean Herbert
c0016fa5d2 Fix gameplay playfield border being affected by beatmap track time
Closes https://github.com/ppy/osu/issues/23470.
2023-06-06 16:08:24 +09:00
tsrk
6fc6729677
feat: integrate attachment flow in SkinComponentsContainer 2023-06-06 00:27:43 +02:00
tsrk
4c397085c5
refactor: improve attachement flow
This removes the hard reliance on individual classes and makes its usage easiser to ingreate anywhere
else.
2023-06-06 00:12:53 +02:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage 2023-06-03 19:45:23 +02:00
Dan Balasescu
e402c6d2b4 Write max combo attribute from base class 2023-06-02 21:53:25 +09:00
Dan Balasescu
bfe80fe143 Fix legacy diffcalc creating all mods unnecessarily 2023-06-02 17:37:43 +09:00
Dan Balasescu
02111e3854 Implement ScoreV1 calculation for OsuRuleset 2023-06-02 17:36:45 +09:00
Olivier Schipper
3f7bebfda4
Merge branch 'master' into edit-nodesample 2023-06-02 00:57:15 +02:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
John
ed850196d9 Reverted to applying the color change in OnUpdate, removed EnableComboColour flag from DrawableHitObject.cs 2023-05-30 01:43:08 -07:00
Dean Herbert
14a376c041 Merge branch 'master' into scorev2 2023-05-30 14:34:43 +09:00
Dean Herbert
114f12a790 Adjust CreateHitSampleInfo to handle additions correctly, rather than implementing locally 2023-05-30 14:04:02 +09:00
Bartłomiej Dach
5604dfb758
Merge branch 'master' into acc-challenge 2023-05-29 22:33:57 +02:00
Bartłomiej Dach
314a0f80f3
Reword setting name & description 2023-05-29 22:12:37 +02:00
Dean Herbert
b3ca409339 Rename a few remaining CountAccuracyJudgement variable 2023-05-29 20:08:22 +09:00
Dean Herbert
1558723420 Merge branch 'master' into scorev2 2023-05-29 20:06:32 +09:00
Dean Herbert
a789d1e49c Add xmldoc and change naming around ScoreProcessorStatistics a bit 2023-05-29 18:38:16 +09:00
cdwcgt
333e785f8b
Revert "Provides higher precision settings"
This reverts commit ec61840e7d.

😐
2023-05-28 09:50:11 +09:00
Bartłomiej Dach
ba5f76fcc8
Merge pull request #23667 from peppy/fix-taiko-editor-placement-before-first-control-poiunt
Fix placing objects before the first control point in the osu!taiko editor failing
2023-05-27 17:58:28 +02:00
cdwcgt
ec61840e7d
Provides higher precision settings 2023-05-27 23:25:01 +09:00
cdwcgt
318431a1b7
make MaximumAchievable to default 2023-05-27 21:27:32 +09:00
Bartłomiej Dach
53c91349fe
Merge branch 'master' into slider-control-point-no-distance-snap 2023-05-26 19:52:54 +02:00
Dean Herbert
cb468fa4ec Fix OverlappingScrollAlgorithm returning incorrect results for TimeAt before first control point 2023-05-26 19:59:19 +09:00
Bartłomiej Dach
adee624a8f
Change PlacementBlueprint.AutomaticBankAssignment to property
Mostly for consistency.
2023-05-25 21:32:21 +02:00
Dean Herbert
804671ca74 Split out grid snapping modes into "relative" and "global" types 2023-05-25 21:41:19 +09:00
Dean Herbert
3a05dffa50 Add "auto" bank selection during placement 2023-05-24 17:11:12 +09:00
Dean Herbert
a22ad98cb7 Fix hotkeys not actually working 2023-05-24 14:56:11 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Dan Balasescu
d45b54399b Add back minimum/maximum accuracy 2023-05-23 18:15:32 +09:00
Dan Balasescu
3598ca9125 Adjust xmldoc 2023-05-23 18:05:10 +09:00
Dan Balasescu
8570f825ed Consider all accuracy judgements in accuracy progress 2023-05-23 17:47:35 +09:00
Dan Balasescu
f8101fbbc7 Rename variables 2023-05-23 17:44:17 +09:00
Dan Balasescu
62d504af92 Fix base implementation of ComputeTotalScore 2023-05-23 15:59:24 +09:00
Dan Balasescu
e1feeded12 Change statistics type, remove overridability 2023-05-23 15:36:34 +09:00
Bartłomiej Dach
5229cf7343
Add failing test cases for drum roll/swell sample playback 2023-05-21 18:57:01 +02:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dan Balasescu
25d72d370e Always add non-bonus change to combo portion 2023-05-20 00:24:43 +09:00
Dan Balasescu
30a296bd09 Rename parameters 2023-05-19 17:27:02 +09:00
Dan Balasescu
6c6f8621c1 Add score processor statistics to replay header 2023-05-19 16:29:24 +09:00
Dan Balasescu
d74bf2a096 Refactor for safety 2023-05-19 14:37:26 +09:00
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 ExpandableButtons 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