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
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
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
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
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
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
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
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
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
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 IGameplayClock
s
...
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 IGameplayClock
s
...
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