1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 16:37:26 +08:00
Commit Graph

4826 Commits

Author SHA1 Message Date
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 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
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
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