1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-30 15:02:56 +08:00
Commit Graph

5333 Commits

Author SHA1 Message Date
Poyo
f794d4dc83 Allow gameplayClock to be null 2023-11-12 13:29:40 -08:00
Poyo
e67725f5d6 Use IGameplayClock for rate 2023-11-12 12:14:19 -08:00
ratinfx
fab6fc9adb Updated comments, renamed method 2023-11-12 15:09:15 +01:00
Dean Herbert
6bd5eda2a0
Merge branch 'master' into arod_rate_adjust 2023-11-12 15:49:07 +09:00
ratinfx
c367697559 Changed TIME_REGEX to accept everything in the parentheses
- changed osu-web link to the current value
2023-11-11 16:14:26 +01:00
cs
54b8244a18 CI Fixup 2023-11-11 15:02:06 +01:00
ratinfx
4e1e19728c Refactor HitObject selection in Composer 2023-11-11 14:02:42 +01:00
cs
3f85aa79c5 Add free-hand drawing of sliders to the editor 2023-11-11 13:33:25 +01:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Poyo
064857c40b Calculate unstable rate using rate-adjusted offsets 2023-11-10 19:57:44 -08:00
Givikap120
d0d334a371 Update Ruleset.cs 2023-11-10 15:05:26 +02:00
Givikap120
9ef34fa51a FIxed stated problems 2023-11-10 15:02:15 +02:00
Dan Balasescu
fecc6f580b
Add legacy reference health processor 2023-11-10 18:40:21 +09:00
Dean Herbert
1c63f1f89d
Merge pull request #25348 from bdach/less-basic-touchscreen-detection
Implement basic touchscreen detection
2023-11-10 18:01:40 +09:00
Dean Herbert
92043f45a4
Merge branch 'master' into slider-combo-matching-2 2023-11-09 18:45:37 +09:00
Bartłomiej Dach
13b599b9b6
Merge branch 'master' into less-basic-touchscreen-detection 2023-11-09 17:36:48 +09:00
Dean Herbert
c00a1d948a
Merge branch 'master' into better-touch-settings 2023-11-07 23:21:59 +09:00
ratinfx
aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Susko3
05d9418718 Rename setting to TouchDisableGameplayTaps for better visibility when searching 2023-11-07 00:13:46 +01:00
Susko3
ea357bafdd Fix tests by using the correct setting for touch input 2023-11-06 20:53:22 +01:00
Bartłomiej Dach
a136f272cf
Just use yellow for system mods 2023-11-06 16:40:57 +01:00
Bartłomiej Dach
4bc36a6c90
Fix unused variable 2023-11-06 12:18:02 +01:00
Bartłomiej Dach
6deac9a5a4
Use better colours for system mods 2023-11-06 11:41:23 +01:00
Bartłomiej Dach
204cd541e2
Use placeholder mod icon for touch device 2023-11-06 10:14:56 +01:00
Givikap120
57170501cd Improve code quality 2023-11-04 17:25:09 +02:00
Bartłomiej Dach
8e9006b5d5
Declare Touch Device incompatible with Autopilot
With Autopilot active, Touch Device no longer matters.
2023-11-02 22:57:05 +01:00
Bartłomiej Dach
8784dd42c0
Do not attempt to turn on Touch Device in song select with autoplay active 2023-11-02 22:56:43 +01:00
Bartłomiej Dach
2f6ff893b5
Automatically activate and deactivate touch device mod in song select 2023-11-02 19:45:48 +01:00
Bartłomiej Dach
68efb3c110
Mark ModTouchDevice as always valid for submission 2023-11-02 19:25:57 +01:00
Bartłomiej Dach
9f11a04cc7
Generalise notion of 'touch device' mod 2023-11-02 19:14:05 +01:00
Dean Herbert
818432fab4
Fix non-classic osu! combo not matching expectations 2023-11-02 19:27:55 +09:00
Dean Herbert
57d8b5ddc9
Merge pull request #25328 from bdach/mod-cleanups-docs
Clean up mod usability flags
2023-11-01 15:48:47 +09:00
Bartłomiej Dach
a90f8dd4f6
Seal a few more multiplayer playability flags of rate-changing mods
Not really changing anything, just tightening things down to curb
possible funny business.
2023-10-31 16:20:33 +01:00
Bartłomiej Dach
955e2ed051
Seal UnknownMod
Not a class for extension.
2023-10-31 16:18:09 +01:00
Bartłomiej Dach
a644c75957
Mark ModScoreV2 as invalid for multiplayer
Doesn't do much for the client; mostly a safety for osu-web's sake,
as without the change it could theoretically fail to validate the mod
properly in multiplayer contexts.
2023-10-31 16:16:59 +01:00
Bartłomiej Dach
456f4ebba2
Seal ModScoreV2
Nobody should ever need to extend it.
2023-10-31 16:16:14 +01:00
Bartłomiej Dach
3a2645efb1
Seal ModAutoplay playability flags
Can't do much more than that due to the unfortunate fact of Cinema
inheriting from Autoplay.
2023-10-31 16:15:10 +01:00
Bartłomiej Dach
7ea298a1b6
Add xmldoc to Mod playability flags 2023-10-31 16:13:44 +01:00
Dean Herbert
a91b704d21
Fix some new nullable inspections 2023-10-30 15:10:10 +09:00
Bartłomiej Dach
79910df959
Fix catch distance snap provider not hiding slider properly
Regressed in https://github.com/ppy/osu/pull/25171.

The old code was kinda dependent on correct order of setting `Disabled`.
`CatchHitObjectComposer` would disable distance spacing in its BDL, and
then via the base `DistancedHitObjectComposer.LoadComplete()`, the
slider would be faded out. The switch to composition broke that
ordering.

To fix, stop relying on ordering and just respond to changes as they
come. That's what bindables are for.
2023-10-26 15:46:32 +02:00
Dean Herbert
34505b3933
Merge pull request #25185 from bdach/minimum-sample-volume 2023-10-24 22:04:43 +09:00
Bartłomiej Dach
b321d556b6
Enforce minimum gameplay sample volume of 5% 2023-10-20 15:50:13 +02:00
Dean Herbert
906b700aca
Fix fudge not being applied 2023-10-20 20:18:14 +09:00
Dean Herbert
3fb74cb5f9
Move helper method to LegacyRulesetExtensions and stop applying rounding allowance to catch
As discussed, it isn't used in stable like this. Was a mistake.
2023-10-20 18:57:14 +09:00
Dean Herbert
686c45e21b
Merge branch 'master' into legacy-tick-test-coverage 2023-10-20 16:41:32 +09:00
Bartłomiej Dach
2c6bf9e346
Remove unused using directive 2023-10-19 20:45:47 +02:00
Dean Herbert
013b5fa916
Move beat snap grid implementation details to ScrollingHitObjectComposer 2023-10-19 23:54:34 +09:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +09:00
Bartłomiej Dach
144ef5a87c
Remove DistancedHitObjectComposer 2023-10-19 11:46:30 +02:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer inheritance from osu! composer 2023-10-19 11:46:30 +02:00
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider from IDistanceSnapProvider
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.

`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Bartłomiej Dach
cff69d63a6
Add inline commentary in Mod{Day,Night}core about different speed adjustments 2023-10-18 12:27:16 +02:00
Dean Herbert
9907adc337
Take in IBindables and tidy up multiplier handling 2023-10-18 17:39:13 +09:00
Dean Herbert
161890292f
Move audio adjustment hookup to own method for clarity 2023-10-18 17:38:11 +09:00
Dean Herbert
e56ff33271
Also share ScoreMultiplier implementation 2023-10-18 17:23:50 +09:00
Dean Herbert
43238b0cee
Split common functionality from rate adjust mods into helper class 2023-10-18 17:23:50 +09:00
Dean Herbert
eabfcfbf2a
Merge branch 'master' into pitch_change 2023-10-18 16:33:03 +09:00
Dan Balasescu
939b55020c
Merge branch 'master' into legacy-tick-test-coverage 2023-10-18 15:21:31 +09:00
Bartłomiej Dach
e927267c4d
Merge pull request #25155 from peppy/fix-new-inspections
Fix various new rider EAP inspections
2023-10-17 17:04:39 +02:00
Dean Herbert
d9fc532a9f
Merge pull request #25152 from bdach/key-binding-deduplication
Clear pre-existing bindings of same key combination to single action
2023-10-17 17:49:51 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections 2023-10-17 17:48:51 +09:00
Bartłomiej Dach
7abd7fe658
Remove redundant explicit array type specification 2023-10-17 10:26:02 +02:00
Dean Herbert
4885c55ef0
Merge branch 'master' into key-binding-deduplication 2023-10-17 17:17:44 +09:00
Dean Herbert
4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets 2023-10-17 17:09:42 +09:00
Dean Herbert
d26d4b8b79
Cache IScrollingInfo at a HitObjectComposer level automatically 2023-10-17 16:42:22 +09:00
Dean Herbert
165cd07428
Persist the state of "show speed changes" between editor sessions
Addresses https://github.com/ppy/osu/discussions/25149.
2023-10-17 16:01:02 +09:00
Dan Balasescu
d2a3f14d5b
Merge branch 'master' into mania-bonus-refactor 2023-10-17 13:28:04 +09:00
Bartłomiej Dach
9c6166ec3d
Add migration to remove duplicate bindings 2023-10-16 22:20:26 +02:00
Bartłomiej Dach
639c96e60c
Prevent ruleset input managers from reading duplicate bindings 2023-10-16 21:02:24 +02:00
Bartłomiej Dach
f2436a5ecb
Remove no longer used scoring difficulty attributes 2023-10-16 12:36:58 +02:00
Bartłomiej Dach
c762241268
Merge branch 'master' into fix-hr-cs-mania-adjustment 2023-10-13 14:08:05 +02:00
Dean Herbert
3787348448
Change Perfect judgement to not give extra score 2023-10-13 16:29:02 +09:00
Dean Herbert
aabed8b6e5
Merge pull request #25093 from Joehuu/mod-switch-tiny-extended-info
Add extended info support to tiny mod switches
2023-10-13 13:40:24 +09:00
Dean Herbert
3849b11644
Fix "Hard Rock" mod affecting CS/AR in osu!mania
Closes https://github.com/ppy/osu/issues/25090.

Not sure if there are other exceptions we should account for here.
2023-10-12 19:48:47 +09:00
Joseph Madamba
764f641bc9 Add extended info support to tiny mod switches 2023-10-11 12:47:12 -07:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks 2023-10-11 19:47:51 +02:00
Dan Balasescu
a1a46e58fc
Move validation to DHO.ApplyResult() 2023-10-10 21:42:37 +09:00
Dan Balasescu
18d20cad8b
Adjust xmldoc for readability
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-10-10 17:04:21 +09:00
Dan Balasescu
04ce223e66
Remove pairings that shouldn't be valid 2023-10-10 10:03:37 +09:00
Dan Balasescu
594bcc2ab5
Apply suggestion to condense method 2023-10-10 09:56:26 +09:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-09 10:53:14 +02:00
Dan Balasescu
326702165f
Update HitResult helpers with new judgement 2023-10-09 11:50:17 +09:00
Dan Balasescu
65ac617be4
Actually validate judgements 2023-10-09 10:45:29 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement 2023-10-09 09:47:00 +09:00
Dean Herbert
cfb18e18c0 Add better commenting around legacy last tick edge case 2023-10-04 13:45:26 +09:00
Dan Balasescu
da2a4681d9 Add method to retrieve legacy score multiplier 2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e Add LegacyBeatmapConversionDifficultyInfo abstraction 2023-10-02 16:52:01 +09:00
Dean Herbert
62bcb62842 Document remaining pieces of LastTick and add back legacy prefix for generation flow 2023-09-29 16:58:17 +09:00
Dean Herbert
81485c548c Move LegacyLastTickOffset specification to generation code and stop passing everywhere 2023-09-29 14:32:29 +09:00
Bartłomiej Dach
8215c4cb0e
Merge branch 'master' into mods-stable-ordering 2023-09-28 18:30:56 +02:00
Dean Herbert
f340bb99e8 Nudge text right 1 pixel 2023-09-28 22:23:45 +09:00
Dean Herbert
e4fd3b65f4 Avoid recreating ModSettingChangeTracker unless required 2023-09-28 22:18:28 +09:00
Dean Herbert
b1f6803371
Remove unused commented code
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:11:03 +09:00
Dean Herbert
e0e222c1fa
Include mention of what to do when not using field in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:10:30 +09:00
Dean Herbert
d4cf6e100f Update other usages of OsuIcon.ModBg and remove 2023-09-28 19:03:34 +09:00
Dean Herbert
2ff376daa4 Adjust to include shadow, and use new main background sprite which includes shadow 2023-09-28 19:03:34 +09:00
Dean Herbert
b8953e8ce1 Code quality pass 2023-09-28 19:03:34 +09:00
Dean Herbert
2800920ed9 Adjust font size slightly for better display when small 2023-09-28 19:03:34 +09:00
Dean Herbert
7d74d84e6c Display mod icons using stable ordering
In discussion with nanaya, we likely want this now that we're adding the
ability for some icons to be extended. Historically mod icons have been
displayed in a stable but arbitrary order (based on their position in
the `Mods` enum).

This change aims to make them stable across lazer scores (where they are
stored based on .. the order the user selected them).
2023-09-28 16:48:09 +09:00
Dean Herbert
1246f15186 Don't show extended information where it duplicates already visible information 2023-09-27 19:29:03 +09:00
Dean Herbert
6e602929a4 Add support for tracking settings changes 2023-09-27 19:29:03 +09:00
Dean Herbert
192eb541c0 Adjust sizing to work better with expansion (no more centre anchoring) 2023-09-27 19:29:03 +09:00
Dean Herbert
16e752e07d Add basic structure and test coverage for extended info on mod icon 2023-09-27 19:29:03 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs 2023-09-26 15:52:27 +09:00
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework 2023-09-21 19:49:20 +03:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv 2023-09-21 09:13:27 +02:00
Dean Herbert
bf984388b3 Update clocks in line with framework changes 2023-09-20 21:17:08 +09:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length 2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49 Remvoe null default for mods which can't be null 2023-09-20 15:27:50 +09:00
Dean Herbert
c6cc858967 Change implementation of "show speed changes" to require explicit ruleset support 2023-09-20 15:27:30 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
12611a09f1
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-09-20 14:18:41 +09:00
Dean Herbert
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
Bartłomiej Dach
c4a0ca326e
Replace sample bank fix with more correct fix
stable does not treat unknown enum members as `None` / `Auto`, it treats
them as `Normal`:

    switch (sampleSet)
    {
        case SampleSet.Normal:
        default:
            sample = 0;
            break;
        case SampleSet.None:
        case SampleSet.Soft:
            sample = 1;
            break;
        case SampleSet.Drum:
            sample = 2;
            break;
    }

    (from 1531237b63/osu!/Audio/AudioEngine.cs#L1158-L1171).
2023-09-19 13:53:49 +02:00
Magnus-Cosmos
73db68a49a
Check if path lists are empty 2023-09-19 02:28:28 -04:00
Magnus-Cosmos
a9b45c6fdc
Fix slider path calculations for edge cases 2023-09-19 01:31:26 -04:00
Magnus-Cosmos
83584519e6
Fix extension check using control points instead of path points 2023-09-18 11:40:00 -04:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point 2023-09-15 11:14:28 +02:00
Dean Herbert
56cc2b62f0 Make not extension method 2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff Move to extension method and throw on non-legacy ruleset 2023-09-15 17:38:34 +09:00
sw1tchbl4d3
5b2af7f264 Default to none bank if invalid samplebank is specified 2023-09-13 12:44:00 +02:00
Dean Herbert
d146da9546 Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip 2023-09-13 16:43:48 +09:00
Givikap120
1a70110a4e Added BeatmapAttributesDisplay support 2023-09-12 16:44:44 +03:00
Givikap120
c61212c523
Merge pull request #1 from Givikap120/master
add display to calibrate
2023-09-12 13:02:19 +03:00
Dean Herbert
4ecc4632aa Make rounding error even less precise
Basically matching the old code more closely to avoid too much precision
from doing math in a slightly different way.
2023-09-12 18:41:09 +09:00
Dean Herbert
04ab44bb7a
Reword xmldoc to read better
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-12 15:28:55 +09:00
Dan Balasescu
2334be1987 Split legacy scoring attributes into a separate object 2023-09-07 21:10:38 +09:00
Dean Herbert
b34a36f6ce Remove all usage of LegacyDifficultyControlPoint 2023-09-07 17:41:57 +09:00
Bartłomiej Dach
9c6f77b26e
Fix too many things being exposed 2023-09-07 08:11:04 +02:00
Dean Herbert
e05d7d5f8d Inline local control 2023-09-07 14:22:06 +09:00
Dean Herbert
d2a6235135 Fix code quality issues 2023-09-07 14:19:19 +09:00
isakvik
2ab11ab568 adds new diffsetting control that shows millisecond values for approach rate override 2023-09-07 01:41:22 +02:00
isakvik
3db0d0d341 extendable minimum AR value for osu!std diff adjust mod, set to -10 2023-09-06 23:26:34 +02:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
tsrk
a4e146ad9b
style: remove usage of HIT_FLOURISH
Unaware clueless usage
2023-09-01 21:02:43 +02:00
tsrk
2e2dcd99a6
fix(AudioCheckUtils): use Path.GetExtension()
To avoid filename escaping
2023-09-01 20:56:54 +02:00
tsrk
5f00d3e2a4
style: convert to using declaration for less nesting 2023-09-01 20:54:02 +02:00
Dean Herbert
37c2b330a2 Move toggle implementation to work on all scrolling rulesets automatically 2023-09-01 19:53:10 +09:00
Dean Herbert
6ce251fbb5 Expose base VisualisationMethod so we don't need to new it locally per ruleset 2023-09-01 19:17:53 +09:00
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09:00
Dean Herbert
cbd4b91feb
Merge pull request #24678 from Nabile-Rahmani/bot-scores
Fix and use score user's IsBot property in results screen animation
2023-08-30 14:00:35 +09:00
Nabile Rahmani
270e2a6600
Update osu.Game/Rulesets/Mods/ModExtensions.cs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-29 23:59:08 +02:00
Nabile Rahmani
b658b0e346 Fix and use score user's IsBot property in results screen animation
While a mod-created replay did flag itself as performed by a bot, the extension method converting it into a Score did not copy all the generated properties.

As noted, it might be preferable for ModCreatedUser to inherit APIUser and forward it as-is to the Score instance.

Related to PR #24675
2023-08-29 23:28:50 +02:00
tsrk
5ecd5142d8
fix(AudioCheckUtils): add license header 2023-08-29 23:27:15 +02:00
tsrk
b3d432b0d5
fix: issue template typo in CheckDelayedHitsounds 2023-08-29 20:15:33 +02:00
tsrk
c1a7ad09b4
style: move common audio utils to separate static class 2023-08-29 20:10:35 +02:00
tsrk
a7a64b57e9
fix: use using statement for waveform auto-disposal 2023-08-29 19:46:19 +02:00
tsrk
a04333c17b
style: use HitSampleInfo.All properties 2023-08-29 19:42:37 +02:00
Bartłomiej Dach
d07530b241
Mark "Score V2" mod as not user-playable
The mod generally will only be present on scores imported from stable.
As such, it's probably ok to mark it as such.

The primary reason for this change is to address #24436 (Score V2 being
visible on beatmap overlay leaderboard mod selector).

There is one possibly-unintended consequence of this change, namely that
the results screen uses `UserPlayable` to determine as to whether
animations should be played back, with the intention of turning off the
animation playback for autoplay scores specifically. Therefore, turning
off this flag will mean that the results screen animations will not play
out for Score V2 scores - but I tend to consider this as either largely
unimportant, or something that should be fixed in some other way
(possibly by checking against the autoplay mod directly).

Other usages of `UserPlayable` are either innocuous, or straight-up good
safeties going forward in the context of Score V2 (guards against
selection in mod select overlays, against score submission with
the mod).
2023-08-29 11:52:11 +02:00
Givikap120
290f8db341 fixed stated problems
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
2023-08-26 02:13:14 +03:00
tsrk
29a46f5b36
style(editor/checks): add issues for delays with no silence 2023-08-25 11:46:09 +02:00
tsrk
4c32e9a479
style: use more rigorous hitsound filtering 2023-08-25 00:37:45 +02:00
Givikap120
17b9b1649a Fixed "works only for std" problem
1) Now it use AR/OD calculation from Ruleset class
2) Implemented needed functions in each of default rulesets
2023-08-25 00:58:26 +03:00
tsrk
50dbf564a5
revert: use old wording
This makes more sense wrt to the complete silence thing.

Refs: f7599c5b
2023-08-24 23:52:41 +02:00
tsrk
f7599c5bc4
style: reword 2023-08-24 23:41:56 +02:00
tsrk
273593a0ee
style: typo 2023-08-24 23:25:42 +02:00
tsrk
208e94e9be
style(editor/checks): add type nullability for Stream 2023-08-24 21:33:54 +02:00
tsrk
df55a2f683
style(editor/checks): fix inconsistent argument names 2023-08-24 21:31:28 +02:00
tsrk
12bff9659b
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-08-24 21:05:59 +02:00
tsrk
a885bf6ebf
feat(editor/checks): check for delayed hitsounds
I really just borrowed the implementation from MapsetVerifier
2023-08-24 21:05:40 +02:00
Givikap120
49598774e0 Added a "Adjust pitch" switch
Adjust pitch switch in DoubleTime and HalfTime mods
Also Nightcore and Daycore is now inherit from RateAdjust
2023-08-24 15:00:32 +03:00
Dean Herbert
5ddb10281b Move combo exponent to shared constant 2023-08-24 14:55:44 +09:00
Dean Herbert
72d2715222 Show mod settings as "on" or "off" rather than "True" or "False" 2023-08-23 20:21:43 +09:00
Dean Herbert
91c2cadb47 Add missing colon in mod settings tooltip 2023-08-23 19:13:32 +09:00
Bartłomiej Dach
8cd9f0822a
Merge branch 'master' into judge-fix 2023-08-22 09:44:58 +02:00
Bartłomiej Dach
5be5335784
Reword comment to be better 2023-08-22 09:37:54 +02:00
Dean Herbert
4e9e084b2c Merge branch 'master' into scorev3 2023-08-22 15:52:22 +09:00
OliBomby
e283aa2843 Update inline comments 2023-08-21 13:09:31 +02:00
OliBomby
5bc11ed358 Revert "Ensure invariant of monotone time"
This reverts commit 5d1ccc2601.
2023-08-21 13:02:23 +02:00
OliBomby
c7b1c75379 Revert "Fix typo"
This reverts commit 90f2acaf0a.
2023-08-21 13:00:01 +02:00
Bartłomiej Dach
1d657a8844
Merge branch 'master' into fix-slider-reversing 2023-08-21 09:29:46 +02:00
Bartłomiej Dach
dd1ac461db
Reformat xmldoc 2023-08-21 08:29:51 +02:00
OliBomby
56b1062c2f expand xmldoc 2023-08-19 19:39:29 +02:00
Bartłomiej Dach
0a55830c16
Add braces for clarification
I like no-braces for single-line ifs as much as anyone, but with inline
comments involved it gets rather dicey.
2023-08-19 14:34:20 +02:00
Pasi4K5
44a85139e4 Update Reverse() based on the changes in #24581 2023-08-19 02:40:18 +02:00
Pasi4K5
47d787b359 Merge remote-tracking branch 'OliBomby/fix-segment-ends' into fix-slider-reversing 2023-08-19 02:38:34 +02:00
Pasi4K5
0e691d5935 Revert changes in SliderPath 2023-08-19 00:16:05 +02:00
OliBomby
ff07fbae15 fix GetSegmentEnds 2023-08-18 12:20:40 +02:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Pasi4K5
3481c41a22 Fix segmentEnds being calculated incorrectly 2023-08-18 04:34:10 +02:00
OliBomby
cc4e11a5ac Ensure populated node samples so new objects have unique node sample lists 2023-08-16 20:48:52 +02:00
Pasi4K5
58bffa13cd Fix possible IndexOutOfRangeException 2023-08-16 01:19:41 +02:00
Pasi4K5
e7e0c49f42 Replace .Distinct() with truncateEndingDuplicates() 2023-08-16 01:14:25 +02:00
Pasi4K5
6346872c39 Improve code readability and add assertion to test scene 2023-08-15 23:27:12 +02:00
Pasi4K5
449bee98cc Code cleanup 2023-08-14 21:56:08 +02:00
Pasi4K5
19c8b74a47 Remove unnecessary circle arc approximation 2023-08-14 21:09:58 +02:00
Dan Balasescu
90d7e46e20 Fix incorrect truncation to int 2023-08-15 00:58:13 +09:00
Pasi4K5
55ac942e7a Fix IndexOutOfRangeException when trying to reverse a zero-length slider 2023-08-14 14:09:08 +02:00
Pasi4K5
f42b3603b3 Fix linear sliders sometimes being reversed incorrectly
Extract control point reversing to separate method
2023-08-14 14:08:02 +02:00
Dan Balasescu
d1a4a46fd3 Temporarily allow new difficulty attributes to not exist 2023-08-14 16:59:01 +09:00
Pasi4K5
8912a0e91e Fix sliders being reversed incorrectly in the editor. 2023-08-12 20:30:48 +02:00
OliBomby
90f2acaf0a Fix typo 2023-08-11 23:50:00 +02:00
OliBomby
5d1ccc2601 Ensure invariant of monotone time 2023-08-11 23:39:28 +02:00
OliBomby
d2f5e696e7 Fix DrawableHitObject state not synchronizing with hitobject edits 2023-08-11 22:34:04 +02:00
Dean Herbert
f06b203067
Merge branch 'master' into edit-nodesample 2023-07-31 14:06:38 +09:00
Bartłomiej Dach
4db203ecc3
Merge branch 'master' into playfield-skin-layer 2023-07-29 00:01:06 +02:00
Bartłomiej Dach
caad931a16
Move comment to more fitting place 2023-07-28 22:10:10 +02:00
Bartłomiej Dach
6d018c08af
Rename Apply{Vertical -> Horizontal}Centering to match common understanding 2023-07-28 22:09:28 +02:00
Dean Herbert
c9155f85ab Fix playfield not taking up full width correclty when not vertically centered 2023-07-28 16:40:14 +09:00
Dean Herbert
06fe5583cb Expose a new SSDQ from playfield for skinnable area bounds 2023-07-28 15:47:57 +09:00
Dean Herbert
deba6e2508 Fix osu!taiko editor playfield missing a piece
Regressed with recent centering changes in https://github.com/ppy/osu/pull/24220
2023-07-27 02:24:10 +09:00
Bartłomiej Dach
57ccf82f34
Merge branch 'master' into song-select-drain-length 2023-07-25 22:40:45 +02:00
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Dean Herbert
9cfe9164fa Add helper method to get drain length (and rename some usages) 2023-07-25 16:58:41 +09:00
Dean Herbert
4bf300d64d
Merge pull request #24186 from OliBomby/legacy-export
Add ability to export beatmaps from editor in a stable-compatible format
2023-07-23 15:25:06 +09:00
Bartłomiej Dach
d7b674bf2b
Merge branch 'master' into verify-breaks 2023-07-22 17:42:55 +02:00
Bartłomiej Dach
699b66be42
Do not reimplement binary sort manually 2023-07-22 17:12:21 +02:00
Bartłomiej Dach
d1c69283b2
Merge branch 'master' into editor-key-count 2023-07-22 16:11:21 +02:00
Dean Herbert
fd2bdc10c7 Fix "key count" setting showing as "circle size" in osu!mania editor
Closes https://github.com/ppy/osu/issues/12904.
2023-07-21 18:52:29 +09:00
Dean Herbert
b58354ac64 Fix playfield getting cut off (again) at tall aspect ratios 2023-07-21 15:20:20 +09:00
Dean Herbert
f489dbd7a9 Reduce width of right toolbar ever so slightly (and use more shared constants) 2023-07-21 14:39:15 +09:00
NiceAesth
fa29c25097 Change check to use binary search 2023-07-20 00:32:35 +03:00
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains 2023-07-19 21:26:41 +02:00
OliBomby
5d82190b70 Merge remote-tracking branch 'upstream/master' into legacy-export 2023-07-18 12:18:49 +02:00
NiceAesth
ff529d9df7 Rename variables, fix check message formatting 2023-07-17 20:48:53 +03:00
NiceAesth
3888471148 Add break length and bounds checks 2023-07-16 23:03:21 +03:00
Zyf
b672b49e02 Scoring : Implement v1 to v3 conversion. 2023-07-15 23:20:49 +02:00
Zyf
175bd3b578 Scoring : Move some of the accuracy weight to ComboScore (edited) 2023-07-15 15:21:56 +02:00
Bartłomiej Dach
ff56e35093
Merge pull request #24197 from peppy/allow-autoplay-failure
Allow autoplay to fail
2023-07-13 23:44:07 +02:00
Bartłomiej Dach
674eb1a36b
Remove unused property 2023-07-13 21:25:43 +02:00
Bartłomiej Dach
a1e83b20e6
Make autoplay compatible with ModFailCondition 2023-07-13 21:23:57 +02:00
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Dean Herbert
6edaf4f230 Ensure PerformanceBreakdown pieces cannot be null 2023-07-13 18:38:16 +09:00
Dean Herbert
2f40989a4f Allow no fail mod during autoplay 2023-07-13 17:25:08 +09:00
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation 2023-07-13 15:41:54 +09:00
Dean Herbert
fbf14a0f7c Allow autoplay to fail
Feels more correct.
2023-07-13 13:41:35 +09:00
Dean Herbert
b20190ed4f Merge branch 'master' into fix-blueprint-end-placement 2023-07-12 17:38:47 +09:00
Dean Herbert
8e1e8a2807
Merge pull request #24169 from bdach/legacy-score-v2
Backpopulate stable ScoreV2 scores with ScoreV2 system mod (and don't recalculate their total score)
2023-07-12 12:44:04 +09:00
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