1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-20 06:02:55 +08:00
Commit Graph

660 Commits

Author SHA1 Message Date
Bartłomiej Dach
a31e8d137f Add guard when clearing samples 2020-12-20 15:42:24 +01:00
Dean Herbert
a0f92628ac Merge branch 'master' into fix-sample-expire 2020-12-04 13:49:08 +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
ekrctb
6c46046c24 Fix DHO expires while hit sound is playing 2020-12-03 12:32:49 +09:00
smoogipoo
e831c797f3 Merge branch 'master' into hit-sample-pooling 2020-12-02 14:45:24 +09:00
smoogipoo
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
smoogipoo
e19ef9627a Fix potentially incorrect override 2020-12-02 10:54:26 +09:00
smoogipoo
2840405112 Volume should be 0 by default 2020-12-01 18:14:14 +09:00
smoogipoo
6b4a6c12c8 Fix bad equality comparer implementations 2020-12-01 18:13:53 +09:00
smoogipoo
17560aeeea Volume should be 0 by default 2020-12-01 18:09:28 +09:00
smoogipoo
dda4d76d72 Fix bad equality comparer implementations 2020-12-01 18:09:21 +09:00
smoogipoo
4900589af4 Remove unused method 2020-12-01 17:02:45 +09:00
smoogipoo
2bb7484608 Merge branch 'immutable-hit-samples' into hit-sample-pooling 2020-12-01 16:05:28 +09:00
smoogipoo
199710b941 Implement equality comparers for HitSampleInfo 2020-12-01 16:04:08 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +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
8f48389f89 Merge branch 'master' into improve-dho-time-offsets 2020-11-30 18:01:48 +09:00
Dan Balasescu
11d1450c76
Merge branch 'master' into fruit-bindables 2020-11-30 16:48:22 +09:00
Dean Herbert
18bb0cb45b Remove unnecessary schedule logic from Apply's local updateState call
There were cases in the editor where rewinding of transforms would
leave the `DrawableHitObject` in a non-`IsPresent` state, resulting in
this scheduled logic never running.

This would in turn cause ghost hitobjects, which disappear under certain
circumstances.

Reproduction:

- Open editor to empty beatmap
- Place single hitcircle at current point in time
- Drag editor timeline backwards to seek before zero, and wait for
  return to zero
- Select hitcircle in playfield
- Drag hitcircle to right in timeline, triggering a start time change
2020-11-27 16:32:05 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets 2020-11-27 15:03:56 +09:00
ekrctb
e36bb7631d Fix colour not updated when index changes 2020-11-27 11:41:39 +09:00
ekrctb
57454bbb1c Remove hitObject argument from OnApply and OnFree 2020-11-27 10:13:05 +09:00
Dean Herbert
b1864670a2
Merge pull request #10961 from smoogipoo/better-dho-rewind
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
smoogipoo
aa4da2a5f8 Add xmldoc on State 2020-11-26 23:42:05 +09:00
smoogipoo
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
smoogipoo
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57 Rewind pooled DHOs into better states 2020-11-26 00:42:25 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 16:09:57 +09:00
Dean Herbert
19faa2b9bb Add comment covering intentional call to ClearTransformsAfter 2020-11-23 15:20:59 +09:00
ekrctb
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
ekrctb
c506b438bf Remove more code and make some methods private 2020-11-22 18:51:16 +09:00
ekrctb
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
ekrctb
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
smoogipoo
70cb197957 Cleanups 2020-11-19 20:38:36 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
smoogipoo
cb5d1d0d77 Remove obsolete method 2020-11-18 21:26:35 +09:00
smoogipoo
cead67d512 Add back removed InitialLifetimeOffset removal 2020-11-16 21:49:29 +09:00
Dan Balasescu
09298139e1
Merge pull request #10844 from bdach/spinner-rotation-tracker-state
Fix rotation tracker state not being reset on drawable spinner re-use
2020-11-16 17:10:40 +09:00
Bartłomiej Dach
9c0a0031d6 Clear existing transforms on DHO return to pool 2020-11-15 19:50:22 +01:00
Bartłomiej Dach
f8cabbdd21 Clear result when freeing pooled hitobject 2020-11-14 21:09:22 +01:00
smoogipoo
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
smoogipoo
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
Dean Herbert
06fd0d08d1
Merge branch 'master' into nested-hitobject-pooling 2020-11-13 16:53:20 +09:00
smoogipoo
35329aa976 Reduce the number of state updates 2020-11-13 14:33:23 +09:00
Dan Balasescu
2840fd0f8f
Merge branch 'master' into hitobject-pooling-base 2020-11-12 23:17:36 +09:00
smoogipoo
261ddd2b4a Fix samples not being disposed 2020-11-12 18:48:25 +09:00
smoogipoo
a8c2b798ad Add support for nested hitobject pooling 2020-11-12 17:43:51 +09:00
smoogipoo
606cfacedf Fix state update exception in a better way 2020-11-11 19:01:12 +09:00
smoogipoo
5d55af5818 Fix hitobjects sometimes not fading in completely with HD mod 2020-11-11 16:35:48 +09:00
smoogipoo
b725c9cce9 Fix possible nullrefs 2020-11-11 00:24:28 +09:00
smoogipoo
e525784cb2 Clear lifetimeEntry after use 2020-11-11 00:24:14 +09:00
smoogipoo
31e4d71852 Rewrite HitObjectContainer with pooling support 2020-11-10 22:49:02 +09:00
smoogipoo
6f3f6dc28b Add hitobject lifetime support 2020-11-10 20:16:52 +09:00
smoogipoo
757a4b5c31 Add hitobject lifetime model 2020-11-10 19:26:01 +09:00
smoogipoo
88112801eb Remove result storage from hitobject 2020-11-10 18:56:16 +09:00
smoogipoo
f5076fe3b8 Revert unnecessary change 2020-11-10 18:15:11 +09:00
smoogipoo
d4d3a6621e Disable automatic lifetime management 2020-11-10 01:30:25 +09:00
smoogipoo
ac47399e6e Update state after OnApply() 2020-11-10 00:30:23 +09:00
smoogipoo
ec8b726ea8 Re-privatise start time bindable 2020-11-09 21:51:58 +09:00
Dan Balasescu
33c3b07101
Fix events not being bound correctly
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-11-09 19:06:48 +09:00
smoogipoo
b1e039bcec Prevent overrides from messing with application/freeing 2020-11-07 00:40:26 +09:00
smoogipoo
3a4bd73823 Fix DHOs being freed when not expected 2020-11-07 00:25:26 +09:00
smoogipoo
7eceda242b Change derived class to use property 2020-11-06 23:04:28 +09:00
smoogipoo
2d892c7407 Allow Apply() to be called multiple times sequentially 2020-11-06 23:03:29 +09:00
smoogipoo
248d342a2f Initial Apply()/FreeAfterUse() DHO implementation 2020-11-06 23:02:37 +09:00
Dean Herbert
a0b3379909 Fix judgement offsets being zero when windows are empty 2020-11-05 18:58:37 +09:00
Dean Herbert
0cadb31947 Merge branch 'master' into drawable-hit-object-hit-state-fix 2020-11-05 17:07:52 +09:00
smoogipoo
9a7fcadabc Use BDL for top-level osu! DHOs 2020-11-05 13:51:46 +09:00
Dean Herbert
68b7efe4d5 Change order of execution to be chronological 2020-11-04 17:14:23 +09:00
Dean Herbert
831325978a Always execute UpdateHitStateTransforms (even for idle) 2020-11-04 17:14:23 +09:00
Dean Herbert
3b6cf95f49 Remove parameter from StartTime method and add obsoleted previous version 2020-11-04 16:39:52 +09:00
Dean Herbert
7f30140b7e Add new method handling hit state specifically
Until now UpdateStateTransforms was applying results offsets to
StartTime. This didn't cover the case of a HitObject with duration,
where the call would be made with `StartTime + hitOffset` rather than
`EndTime + hitOffset`.

To resolve this, a new method has been added which should be used to
handle hit-specific state transforms.
2020-11-04 16:13:14 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
smoogipoo
372761a46f More/better commenting 2020-10-12 19:22:34 +09:00
smoogipoo
eb4ef157ca Fix implicit segments not being constructed correctly 2020-10-12 19:16:37 +09:00
smoogipoo
48c0ae40ef Fix multi-segment sliders not parsing correctly 2020-10-12 18:04:28 +09:00
smoogipoo
696e3d53af Fix slider samples being overwritten by the last node 2020-10-09 20:50:09 +09:00
Dean Herbert
eacc7dca9a Fix SliderPath not handling Clear correctly 2020-10-09 06:31:59 +09:00
Dean Herbert
3c3c1ce885 Don't force playback of (non-looping) DrawableHitObject samples after skin change 2020-10-07 18:18:01 +09:00
Dean Herbert
a8151d5c63 Fix HitWindows getting serialized alongside HitObjects
These were being serialized as the base type. On deserialization, due to
the HitWindow of objects being non-null, they would not get correctly
initialised by the CreateHitWindows() virtual method.

- Closes #10403
2020-10-07 13:45:42 +09:00
Dean Herbert
c622adde7a Rename method back and add xmldoc 2020-10-05 16:24:02 +09:00
Dean Herbert
9f43dedf59 Fix missing line 2020-10-05 15:12:34 +09:00
Dean Herbert
758088672c Don't stop non-looping samples immediately when pausing 2020-10-05 15:07:46 +09:00
Bartłomiej Dach
2ddfd79923 Replace object pattern match with simple conditional 2020-10-03 08:09:10 +02:00
Bartłomiej Dach
2b1ef16f89 Replace comparison references to HitResult.Miss with IsHit 2020-10-02 23:31:24 +02:00
Dean Herbert
3069428efe
Merge pull request #10316 from smoogipoo/fix-spinner-flicker
Fix default spinner flashing yellow glow before completion
2020-10-01 22:29:48 +09:00
smoogipoo
ab33434a8a Reword xmldocs to better describe nested events 2020-10-01 21:54:43 +09:00
smoogipoo
042c39ae1b Remove redundant string interpolation 2020-10-01 21:48:45 +09:00
smoogipoo
d7f9b8045c Safeguard againts multiple ApplyResult() invocations 2020-10-01 21:33:54 +09:00
Dean Herbert
b7ac779760 Merge branch 'master' into fix-hitobject-sample-stuck-on-future-seek 2020-10-01 16:46:14 +09:00
smoogipoo
cb6b35116a Merge branch 'master' into scoring-standardisation 2020-10-01 12:28:51 +09:00
smoogipoo
c9f38f7bb6 Add obsoletion notice 2020-10-01 12:28:33 +09:00
Dean Herbert
4b70fe8585 Merge branch 'fix-storyboard-sample-pausing' into fix-hitobject-sample-stuck-on-future-seek 2020-09-30 22:46:09 +09:00
Dean Herbert
6cceb42ad5 Remove unused DI resolution 2020-09-30 15:50:53 +09:00
Dean Herbert
414c40d298 Reverse inheritance order of SkinnableSound's pause logic 2020-09-30 15:45:14 +09:00
smoogipoo
6264a01ecc Add guard against using the wrong hit result 2020-09-29 16:33:38 +09:00
Dean Herbert
5d1c377379 Fix HitObject samples getting stuck in a playing state on seeking far into the future 2020-09-29 15:07:55 +09:00