Commit Graph

129 Commits

Author SHA1 Message Date
258de3b2d8 Store RawTime in JudgementResult 2023-02-09 17:15:37 +09:00
27578c48f5 Remove JudgementResultEntry
It is not needed anymore as TimeAbsolute is stored raw.
2023-01-27 19:35:44 +09:00
e1702a8ee9 Fix inspection issue 2023-01-24 15:43:57 +09:00
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
cc87923179 Fix OnRevertResult timing 2023-01-24 14:19:24 +09:00
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
6ebde9a747 Annotate Playfield.Mods as maybe-null 2022-11-30 20:00:25 +01:00
5ce2d6f54a Hide the game mouse cursor when playing osu!catch with relax mod 2022-11-30 18:13:53 +09:00
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
4fb156ef4e Update xmlodc and add nullability attributes 2022-10-13 00:16:42 +03:00
7a6ecaff0d Remove default invisible cursor container from rulesets 2022-10-12 17:50:47 +03:00
c59aa57450 Remove createLifetimeEntry from HitObjectEntryManager 2022-09-14 15:19:33 +09:00
a9eba27129 Factor out pooling logic from Playfield 2022-09-14 15:19:05 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
36772ec652 Merge pull request #17356 from apollo-dw/strict-tracking
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
149cfd338d Use new mod-related object types for Strict Tracking 2022-03-19 18:29:44 +00:00
39d95aa8cf Add automatic preloading of sample pools at a Playfield level 2022-03-14 17:19:48 +09:00
464be6e64c Only call IUpdatableByPlayfield.Update if the playfield isn't nested 2022-03-03 14:37:39 +08:00
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
67d8e0059f Use singular IApplicableToDrawableHitObject for consumers 2021-06-16 18:47:04 +09:00
a31a6947bb Add test 2021-05-18 18:49:05 +09:00
3fbeadf318 Deprecate old overload of Apply 2021-04-21 14:32:37 +09:00
d8aa436e81 Remove usage of Lazy<List<...>> in NestedPlayfields 2021-04-15 18:26:01 +09:00
ced7a36788 Update namespaces 2021-01-18 21:24:10 +09:00
5ded4b9faa Merge branch 'master' into dho-remove-onparentreceived 2020-12-04 11:04:56 +09:00
0bdf99b97a Remove OnParentReceived() 2020-12-03 20:08:42 +09:00
73e99718bc Change order of OnParentReceived() 2020-12-03 20:06:26 +09:00
51741c4791 Merge branch 'master' into hit-sample-pooling 2020-11-30 22:25:28 +09:00
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
05e245d445 Allow non-pooled DHO to be reused 2020-11-26 19:07:09 +09:00
f6faf95e33 Revert changes to HitObjectUsageBegan, not use it. 2020-11-26 14:01:46 +09:00
1a6e5bdaba Merge branch 'master' into pool-scrolling 2020-11-26 13:52:52 +09:00
e34a205104 Rewrite hit object management, take three 2020-11-24 18:56:05 +09:00
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
4345d8dcb6 Event -> virtual method 2020-11-21 15:20:33 +09:00
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
772f6df668 Add a remark for DrawableHitObjectAdded 2020-11-20 18:00:00 +09:00
c013cd11c9 Add DrawableHitObjectAdded event 2020-11-20 17:56:47 +09:00
7180bfe4ba Unlimit number of samples per pool 2020-11-19 21:21:57 +09:00
f013928fa3 Set maximum pool size 2020-11-19 20:40:01 +09:00
8920534a25 Fix pools not being added to hierarchy 2020-11-19 20:24:03 +09:00
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
e8dbc190f1 Remove ability to pool DHOs in parent playfields 2020-11-16 23:30:24 +09:00
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
d83b479c81 Internalise lifetime extensions and events too 2020-11-13 19:21:45 +09:00
4a4219fd11 Add region 2020-11-13 19:21:45 +09:00
92189e35cc Make playfield KeepAlive methods internal 2020-11-13 19:21:45 +09:00
688a442fb3 Add missing dictionary 2020-11-13 17:26:46 +09:00