Dean Herbert
c742b3f0a8
Update DrawableRulesetDependencies
xmldoc to read more correctly
2023-03-28 14:15:19 +09:00
Dean Herbert
5f9b13a775
Rename Add
/AddRange
methods as they are no longer conflicting with Container
2023-03-15 18:02:41 +09:00
Dan Balasescu
e327993d11
Merge pull request #22527 from Terochi/replay-length-extension
...
Replay recording extension until results screen transition
2023-03-11 15:41:32 +09:00
tsrk
44297a7d0a
refactor: make KCD a CompositeDrawable
2023-03-08 00:47:16 +00:00
Dean Herbert
28520414aa
Move KeyCounter
components to HUD
namespace
2023-03-07 16:41:39 +09:00
Dean Herbert
8f6df5ea0f
Merge branch 'master' into gameplay/key-counter-abstraction
2023-03-07 16:09:45 +09:00
Bartłomiej Dach
d679703fa2
Merge pull request #22659 from peppy/fix-taiko-drum-nested-sample-detection
...
Fix `GameplaySampleTriggerSource` not considering nested objects when determining the best sample to play
2023-02-22 18:56:59 +01:00
tsrk
1beec71037
refactor(KeyCounterDisplay): apply suggestions
...
I also took the freedom to add type checking, as we can't limit the
usage of `Add()` since it's a Container. The exception thrown also
advises of using the suggested `AddTrigger()` instead.
2023-02-22 14:58:27 +00:00
Dean Herbert
a8c692a215
Merge pull request #22635 from peppy/use-overlays-container-more
...
Use `Overlays` container rather than `KeyBindingInputManager` for flashlight
2023-02-22 18:30:21 +09:00
Bartłomiej Dach
ab97b02235
Remove contradictory remark from xmldoc
2023-02-21 21:05:46 +01:00
Dean Herbert
1acc536248
Move DrawableRuleset.Audio
to a less generic level
2023-02-21 19:03:52 +09:00
Dean Herbert
5ba6059911
Merge branch 'master' into fix-taiko-drum-nested-sample-detection
2023-02-21 13:58:15 +09:00
Bartłomiej Dach
3183f5cee2
Merge branch 'master' into revert-result-in-playfield
2023-02-19 16:33:10 +01:00
Dean Herbert
19d5293ad1
Change early return to also find the earliest nested object
2023-02-17 18:59:31 +09:00
Bartłomiej Dach
3ee046000e
Merge branch 'master' into revert-result-in-playfield
2023-02-16 21:54:29 +01:00
Bartłomiej Dach
b8084a15eb
Revert ResumeOverlay
setter accessibility change
2023-02-16 21:26:01 +01:00
Dean Herbert
affa9507a1
Fix GameplaySampleTriggerSource
not considering nested objects when determining the best sample to play
2023-02-16 18:21:33 +09:00
Dean Herbert
ce9ef3bc3c
Always create ResumeOverlay
, with UseResumeOverlay
flag only affecting whether it is displayed or not
2023-02-16 15:47:20 +09:00
Dean Herbert
7afdcb9383
Merge branch 'master' into hide-resume-overlay
2023-02-16 15:42:14 +09:00
tsrk
076eb81b21
refactor: rename trigger classes
...
Makes it better to understand their purpose
2023-02-15 21:46:13 +00:00
tsrk
157bba7830
refactor: rename Trigger
class to InputTrigger
2023-02-15 21:41:36 +00:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object
2023-02-15 14:48:15 +09:00
Dean Herbert
5ec5222d8a
Expose and consume OsuInputManager
explicitly
2023-02-14 17:36:07 +09:00
Dean Herbert
970388d4e2
Move Overlays
container to accept input and be frame-stable
2023-02-14 17:35:12 +09:00
Dean Herbert
7aaaf7fca2
Combine and attempt to simplify the score import / preparation process further
2023-02-14 16:55:35 +09:00
Dean Herbert
63f3498762
Restructure UseResumeOverlay
to correctly handle a value change before BDL load
2023-02-14 15:11:33 +09:00
Pasi4K5
e4b84ebd0b
Add UseResumeOverlay
and use it for hiding the ResumeOverlay
2023-02-13 23:51:39 +01:00
tsrk
74a58fb674
refactor: separate things in KeyCounter
...
To implement different different sources of input for KeyCounter, it
is now possible to create a Trigger class (to inherit) instead of
inheriting KeyCounter. This eases the creation of more input sources
(like for tests) while allowing to implement different UI variants.
That way, if another variant of the key counter needs to implemented
(for whathever reason), this can be done by only inheriting KeyCounter
and changing how things are arranged visually.
2023-02-13 01:24:27 +00:00
ekrctb
258de3b2d8
Store RawTime in JudgementResult
2023-02-09 17:15:37 +09:00
ekrctb
5f0636c330
Merge branch 'maximum-judgement-offset-in-hit-object' into revert-result-in-playfield
2023-02-09 16:47:58 +09:00
Bartłomiej Dach
c5e1f54185
Fix sample store creation mutating shared resource store
2023-01-30 20:48:52 +01:00
ekrctb
27578c48f5
Remove JudgementResultEntry
...
It is not needed anymore as TimeAbsolute is stored raw.
2023-01-27 19:35:44 +09:00
ekrctb
e1702a8ee9
Fix inspection issue
2023-01-24 15:43:57 +09:00
ekrctb
efef97d5be
Store Result.TimeAbsolute separately from offset
...
Calculating from TimeOffset is bad because it loses precision.
The result time won't change anymore
even If `HitObject.GetEndTime()` changes later.
2023-01-24 15:35:06 +09:00
ekrctb
cc87923179
Fix OnRevertResult timing
2023-01-24 14:19:24 +09:00
Pasi4K5
8b47af6503
Remove HidesResumeOverlay
and set ResumeOverlay
to null
in OsuModAutopilot
2023-01-24 00:49:09 +01:00
Pasi4K5
75a1a2ec2f
Hide ResumeOverlay
when OsuModAutopilot
is enabled
2023-01-22 03:44:59 +01:00
ekrctb
d8f9b7d02f
Use MaximumJudgementOffset for lifetime
2023-01-19 21:25:21 +09:00
ekrctb
812a4b412a
Move judgement result revert logic to Playfield
...
Previously, some judgement results were not reverted
when the source DHO is not alive (e.g. frames skipped in editor).
Now, all results are reverted in the exact reverse order.
2023-01-19 19:57:13 +09:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
Dean Herbert
4a7d7c6ed9
Use MaxBy
in all locations that can and update inspection level to match dotnet-build
2022-12-19 16:47:10 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
...
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
...
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dean Herbert
809d02cda0
Fix two implementation oversights
2022-12-02 16:05:14 +09:00
Dean Herbert
d8dd7e7e0f
Fix test failures when no hitobjects are present in a scrolling ruleset
2022-12-01 21:42:03 +09:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Bartłomiej Dach
6ebde9a747
Annotate Playfield.Mods
as maybe-null
2022-11-30 20:00:25 +01:00
Dean Herbert
5ce2d6f54a
Hide the game mouse cursor when playing osu!catch with relax mod
2022-11-30 18:13:53 +09:00
Dean Herbert
bb0237d4a9
Fix nullability inspection on disposal path
2022-11-30 17:49:08 +09:00
Dean Herbert
4215f4f5d7
Merge branch 'master' into Editor-DrawableRuleset-Dependencies
2022-11-30 17:42:46 +09:00
Derrick Timmermans
93ba84e5ff
Fix code style
2022-11-27 21:48:44 +01:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints
2022-11-27 21:43:33 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Bartłomiej Dach
0f382590e6
Remove unnecessary #nullable disable
2022-11-20 15:31:51 +01:00
Salman Ahmed
58296bd4f0
Introduce IDrawableScrollingRuleset
for editor consumption
2022-11-20 04:11:10 +03:00
Susko3
56fd1f95b1
Fix FallbackSampleStore.GetAsync
fallback logic
2022-11-13 18:47:28 +01:00
Dean Herbert
5c13c443ff
Fix incorrect fallback logic
...
Regressed when attempting to share implementation of binary search.
2022-10-20 23:08:44 +09:00
Dean Herbert
26860a903e
Refactor implementation to support hitobjects nested multiple levels deep
2022-10-20 22:30:30 +09:00
Dean Herbert
d237c818f6
Fix nested objects in overlapping scrolling hit object container ruleset not using correct reference time
2022-10-18 16:15:21 +09:00
Dean Herbert
ec3761ced9
Standardise control point search logic in OverlappingScrollAlgorithm
...
Was using a very local algorithm which I cannot guarantee is correct.
I'd rather it just use the one used everywhere else.
2022-10-18 16:01:05 +09:00
Salman Ahmed
4fb156ef4e
Update xmlodc and add nullability attributes
2022-10-13 00:16:42 +03:00
Salman Ahmed
7a6ecaff0d
Remove default invisible cursor container from rulesets
2022-10-12 17:50:47 +03:00
Salman Ahmed
9b45a9cf76
Rename various cursor symbols
...
- `IProvideCursor.MenuCursor` -> `IProvideCursor.Cursor`
- `MenuCursor` -> `MenuCursorContainer
2022-10-11 16:21:01 +03:00
Salman Ahmed
2d4f390372
Remove non-smoke key bindings on "Relax" mod instead
2022-10-09 17:14:16 +03:00
ekrctb
1cccd03480
Fix scrolling nested hit object lifetime not set
2022-10-04 15:17:14 +09:00
ekrctb
781f5420b0
Add test for scrolling hit object lifetime
2022-10-04 15:17:11 +09:00
ekrctb
5d80950eaf
Compute lifetime from entry in scrolling container
2022-10-04 15:12:28 +09:00
Dan Balasescu
cbed268ac9
Merge pull request #20510 from sw1tchbl4d3r/high_bpm_judgements
...
Clamp `LifetimeStart` of `HitObject`s to their judgement windows
2022-09-28 17:49:35 +09:00
sw1tchbl4d3
0cffbb7562
Clamp LifetimeStart
of HitObject
's to their judgement windows
2022-09-27 16:54:24 +02:00
o-dasher
feadac1f79
Cleanup all other leftover binding instantiation
2022-09-25 16:02:40 -04:00
ekrctb
c59aa57450
Remove createLifetimeEntry
from HitObjectEntryManager
2022-09-14 15:19:33 +09:00
ekrctb
a9eba27129
Factor out pooling logic from Playfield
2022-09-14 15:19:05 +09:00
Dean Herbert
6bf6b7e125
Fix null considerations in DrawableRulesetDependencies
2022-09-13 13:13:38 +09:00
Salman Ahmed
0ca4be5e5b
Fix one more inspection
2022-09-13 03:45:31 +03:00
Dean Herbert
d4afc3629c
Merge branch 'master' into kps
2022-09-08 23:00:36 +09:00
Dean Herbert
6729bb3e1a
Change FrameStableClock
to inherit IGameplayClock
2022-09-08 18:24:18 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Dean Herbert
75d0deef72
Apply proposed changes to remove inheritance from MasterGameplayClockContainer
2022-09-07 17:49:05 +09:00
Dean Herbert
bc1212f4e6
Change NonGameplayAdjustments
to GameplayAdjustments
and convert TrueGameplayRate
to extension method
2022-09-06 22:26:46 +09:00
Dean Herbert
44b456e216
Use gameplay clock's TrueGameplayRate
in FrameStabilityContainer
?
2022-09-05 23:38:22 +09:00
Dean Herbert
7337d4c1aa
Merge branch 'master' into kps
2022-08-31 15:41:42 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe
Update Remove
/RemoveRange
/RemoveAll
calls in line with framework changes
2022-08-29 15:57:40 +09:00
Ryuki
5cddc7ed1f
Code cleanup (CPS)
2022-08-24 17:13:23 +02:00
Dean Herbert
f3847b90fd
Tidy up attach logic
2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612
Merge branch 'master' into kps
2022-08-24 18:18:45 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
Dean Herbert
19bba143ee
Fix editor crashing on mobile releases
2022-08-22 15:57:24 +09:00
Dean Herbert
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
43442dbf65
Merge branch 'even-less-gameplay-clock' into even-nicer-frame-stability-clock
2022-08-15 20:22:30 +09:00
Dean Herbert
87760bbc06
Fix IsCatchingUp
not being in correct state
2022-08-15 20:17:48 +09:00
Dean Herbert
1fc3d005c0
Seal FrameStabilityContainer
...
No one should ever derive from this class. It is already too complex.
2022-08-15 19:31:02 +09:00
Dean Herbert
fff2b57905
Tidy up and document FrameStabilityContainer
2022-08-15 19:28:12 +09:00
Dean Herbert
9bc2e91de0
Fix incorrect handling of reference clocks when no parent IGameplayClock
is available
2022-08-15 19:19:19 +09:00
Dean Herbert
828b6f2c30
Remove unnecessary setClock
shenanigans
2022-08-15 19:19:19 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
95c1b488a7
Add non-null assertion to FrameStabilityContainer
2022-08-15 18:08:49 +09:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond"
2022-08-14 20:12:11 +02:00