1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-12 04:49:40 +08:00
Commit Graph

789 Commits

Author SHA1 Message Date
Dan Balasescu
ef81bdf63f
Merge branch 'master' into always-use-lifetime-entry 2021-05-18 20:10:12 +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
913fc8c3bc Revert the change of not adding non-pooled DHO to HOC until alive 2021-05-04 16:44:48 +09:00
Dean Herbert
a551958eeb Move caching of IBeatmap to base DrawableRuleset 2021-05-01 21:32:45 +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
c83c804057 Expose lifetime entries from HOC 2021-04-29 14:42:41 +09:00
ekrctb
799d2a3300 Replace failed mania test (pooling not accounted) with a more robust test
Also fix null reference in Playfield
2021-04-29 14:38:01 +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
Dan Balasescu
cf55383fff
Merge pull request #12486 from ekrctb/unmanaged-hit-object-entry
Associate DrawableHitObject with HitObjectLifetimeEntry rather than HitObject
2021-04-21 17:08:21 +09:00
ekrctb
3fbeadf318 Deprecate old overload of Apply 2021-04-21 14:32:37 +09:00
smoogipoo
d26fa46ef2 Record every 60fps interval 2021-04-16 19:42:44 +09:00
ekrctb
936bde28a3 Remove manual handling of IsActive in RulesetInputManager
Now it is supported in framework
2021-04-16 14:13:41 +09:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
ekrctb
d8aa436e81 Remove usage of Lazy<List<...>> in NestedPlayfields 2021-04-15 18:26:01 +09:00
Dean Herbert
ba325de595 Merge conditionals for readability 2021-04-15 14:19:59 +09:00
ekrctb
6d18b3db00 Avoid empty list allocation 2021-04-12 18:49:38 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
Dean Herbert
c4ba045df1 Add note about finalizers required for audio store clean-up 2021-03-02 16:07:51 +09:00
Dean Herbert
ec4b770cba Remove unused using statement 2021-02-23 14:56:03 +09:00
Dean Herbert
672fd3f9d2 When disable mouse buttons during gameplay is selected, disable more globally
Until now the disable setting would only apply to left/right buttons,
and only in gameplay. This change will cause any global actions bound to
mouse buttons to also not work during gameplay.

Closes #11879.
2021-02-23 14:37:46 +09:00
smoogipoo
ee6a94273d Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-02-22 18:31:27 +09:00
Dean Herbert
63dd55c92c Add missing methods from updated audio component interface implementation 2021-02-22 14:18:52 +09:00
Dean Herbert
487a39eea9 Update interface implementations with framework changes 2021-02-18 18:52:34 +09:00
Dean Herbert
143e145670 Update implementation of AdjustableAudioComponents 2021-02-18 15:44:23 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Dean Herbert
f84ea30637 Expose Mods in DrawableRuleset to avoid using external DI 2021-02-11 17:47:29 +09:00
smoogipoo
f4a31287bf Add/use IHitObjectContainer interface instead of IEnumerables 2021-02-08 20:11:06 +09:00
Dean Herbert
06a3a72e43
Merge pull request #11670 from smoogipoo/mania-constant-speed-mod
Implement mania constant speed mod
2021-02-05 00:26:04 +09:00
smoogipoo
8295fb9081 Implement mania constant speed mod 2021-02-03 16:28:22 +09:00
smoogipoo
921f008217 Fix ModIcon not updating background colour correctly 2021-02-02 21:35:08 +09:00
Dean Herbert
a5f3418e56 Avoid tooltip display 2021-01-26 19:11:19 +09:00
Bartłomiej Dach
1d9aaac2c2 Fix HOC not propagating DHO results applied on kill
`DrawableHitObject.OnKilled()` calls `UpdateResult()` to clean up a
hitobject's state definitively with regards to the judgement result
before returning the DHO back to the pool.

As it turns out, if a consumer was relying on this code path (as taiko
was in the case of nested strong hit objects), it would not work
properly with pooling, due to `HitObjectContainer` unsubscribing from
`On{New,Revert}Result` *before* calling the DHO's `OnKilled()`.

This in turn would lead to users potentially getting stuck in gameplay,
due to `ScoreProcessor` not receiving all results via that event path.

To resolve, change the call ordering to allow hit result changes applied
in `OnKilled()` to propagate normally.
2021-01-21 00:05:37 +01:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
ced7a36788 Update namespaces 2021-01-18 21:24:10 +09:00
Dean Herbert
a8569fe15c Fix a couple of simple cases of incorrect TextureLoaderStore initialisation 2020-12-21 13:35:46 +09:00
Dean Herbert
64a2526678 Add header class and basic flow for propagating data updates 2020-12-14 17:33:23 +09:00
Dean Herbert
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
Dean Herbert
51e8a05f18 Seal SetRecordTarget method to simplify modification 2020-12-14 16:44:29 +09:00
ekrctb
a548269c34 Fix scrolling hit object displayed in wrong position for one frame 2020-12-07 17:26:12 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived 2020-12-04 11:04:56 +09:00
smoogipoo
0bdf99b97a Remove OnParentReceived() 2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc Change order of OnParentReceived() 2020-12-03 20:06:26 +09:00
Dean Herbert
51741c4791
Merge branch 'master' into hit-sample-pooling 2020-11-30 22:25:28 +09:00
smoogipoo
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
smoogipoo
7ac2fba127 More reordering of public vs private methods 2020-11-30 17:44:58 +09:00
Dean Herbert
2745659986 Reword and xmldoc some comments 2020-11-30 15:54:20 +09:00
ekrctb
6e40de58e9 Use new OnAdd and OnRemove to invalidate DHO 2020-11-27 13:36:40 +09:00