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
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
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework
2023-09-21 19:49:20 +03:00
Dean Herbert
bf984388b3
Update clocks in line with framework changes
2023-09-20 21:17:08 +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
6ce251fbb5
Expose base VisualisationMethod
so we don't need to new
it locally per ruleset
2023-09-01 19:17:53 +09:00
Dan Balasescu
a2fd7707a1
Allow toggling SVs in the editor
2023-08-18 18:55:24 +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
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
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
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
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
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
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
Dean Herbert
2bda63c2c8
Merge branch 'master' into mass-nrt
2023-06-24 09:59:15 +09:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +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
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
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
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
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03: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
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
5229cf7343
Add failing test cases for drum roll/swell sample playback
2023-05-21 18:57:01 +02:00
Dean Herbert
8c542c6c51
Fix hold-for-right-click showing during gameplay
2023-05-13 21:32:30 +09:00
Dean Herbert
1b7dd32eb1
Apply nullability in related classes and remove unused variable
2023-05-08 17:09:08 +09:00
OliBomby
ebe1d852f5
remove other usages of hitobject SampleControlPoint
2023-04-25 16:01:43 +02:00
Dan Balasescu
c0a25144cf
Apply changes to custom ShaderManager
2023-04-18 11:31:56 +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
7011928d86
Fix abysmal debug performance due to try-catch logic in DrawableRulesetDependencies
2023-04-03 18:04:33 +09:00
Dean Herbert
b0c09df259
Merge branch 'master' into gameplay/key-counter-abstraction
2023-04-03 15:33:35 +09:00
Dean Herbert
0d77ec013a
Fix ruleset-local shader manager not correctly falling back to existing cached shaders
2023-03-28 15:00:49 +09:00
Dean Herbert
c742b3f0a8
Update DrawableRulesetDependencies
xmldoc to read more correctly
2023-03-28 14:15:19 +09:00
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