Dean Herbert
1b7dd32eb1
Apply nullability in related classes and remove unused variable
2023-05-08 17:09:08 +09:00
ekrctb
d8f9b7d02f
Use MaximumJudgementOffset for lifetime
2023-01-19 21:25:21 +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
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
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
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
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
f7e055dbfe
Move mania note height offset application to a much more suitable location
2022-05-12 16:19:07 +09:00
Dan Balasescu
a09563a7d9
Fix calculation of most common beat length for mania scroll speed
2022-01-11 11:00:30 +09:00
Dean Herbert
66c307e0ee
Remove usage of key repeat helper method
2021-11-18 13:13:36 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
d587dc6203
Populate new approach rate where required
2021-09-03 17:11:12 +09:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
smoogipoo
2af827f913
Increase TimeRange max value
2021-08-02 19:37:45 +09:00
ekrctb
bbf0022689
Use natural anchor for TimeAtPosition
and PositionAtTime
...
The natural anchor is the end of the scrolling direction (e.g. Bottom for Down scrolling).
2021-06-15 13:15:20 +09:00
Bartłomiej Dach
cb1e2e3d97
Improve xmldoc
2021-06-14 21:54:55 +02:00
ekrctb
660bf50dc7
Clarify multiple coordinate systems
...
- Fix wrong position is set for DHOs for down/right scrolling direction.
2021-06-14 13:13:27 +09:00
ekrctb
09f1cbde7e
Fix TimeAtPosition
doc comment
2021-06-14 13:13:27 +09:00
ekrctb
fdb09ef4d7
Simplify flipPositionIfRequired
using scrollLength
2021-06-14 13:13:27 +09:00
ekrctb
8cf4454780
Use Direction
enum instead of int
...
The property is named `scrollingAxis` to distinguish from `direction`, which is of `ScrollingDirection` type (unfortunate name crash).
2021-06-14 13:13:27 +09:00
ekrctb
af3f253b21
Refactor ScrollingHitObjectContainer
and expose more useful methods
2021-06-11 18:28:48 +09:00
ekrctb
b321b20e9d
Remove OnAdd
/OnRemove
of HitObjectContainer
...
Instead, override `AddDrawable`/`RemoveDrawable`.
2021-06-03 15:00:16 +09:00
ekrctb
0ce7baa3f3
Make HitObjectContainer.Clear
non-virtual
...
It just call `Remove` for all entries.
2021-06-03 15:00:16 +09:00
ekrctb
948a14a627
Merge branch 'simplify-shoc' into fix-scrolling-lifetime
...
# Conflicts:
# osu.Game/Rulesets/UI/Scrolling/ScrollingHitObjectContainer.cs
2021-05-31 16:50:47 +09:00
ekrctb
86d1225aad
Reset lifetime to initial lifetime when layout is invalidated
2021-05-31 16:47:10 +09:00
ekrctb
6d96846776
Remove scrollLength
caching field
...
It was not clear when the field is updated.
2021-05-31 16:28:02 +09:00
ekrctb
742c5b442b
Remove delay of lifetime update
...
The scheduling is no longer necessary because `OnAdd` is changed to not invoked immediately for non-pooled DHOs.
2021-05-31 16:24:13 +09:00
ekrctb
3cedc0824d
Don't add nested hit objects to the sets
...
Only top-level hit objects are checked for layout computation caching.
Also, lifetime of nested hit objects are not managed by the HitObjectContainer.
2021-05-31 16:20:35 +09:00
ekrctb
84a1a86c63
Revert "Use entry to calculate lifetime in ScrollingHOC"
...
This reverts commit 632bb70e
2021-05-18 19:55:31 +09:00
ekrctb
2c65b8fa93
Revert "Fix uninitialized scrollLength value is used"
...
This reverts commit 73dfb04d
2021-05-18 19:55:25 +09:00
ekrctb
73dfb04df8
Fix uninitialized scrollLength value is used
2021-04-29 15:17:30 +09:00
ekrctb
632bb70e0f
Use entry to calculate lifetime in ScrollingHOC
...
DHOs cannot be used to calculate lifetime, it is not created before the entry became alive.
2021-04-29 15:04:32 +09:00
ekrctb
d262956146
Always use LifetimeEntry to manage hit objects in HitObjectContainer
...
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.
- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00