Naxess
323b875cea
Fix newlines/spaces
2021-03-22 17:32:40 +01:00
Naxess
c82218627f
Add path type update logic
...
Only attempts to change points to bezier if points in the slider are modified.
2021-03-22 15:57:57 +01:00
Naxess
7a2cb526e4
Add PointsInSegment method
2021-03-22 15:55:30 +01:00
Naxess
bee2f55d00
Undo subpath limiting
2021-03-22 15:54:33 +01:00
Naxess
fcd1f4930f
Fix freeze due to large circular arc radius
...
Seems to stem from the osu!framework's PathApproximator not catching a few edge cases wherein the radius approaches infinity.
2021-03-21 06:34:55 +01:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
Bartłomiej Dach
9cc63e8dce
Remove obsoleted IHasEndTime
2021-01-06 18:38:24 +01:00
Bartłomiej Dach
539785e422
Remove obsoleted IHasCurve
2021-01-06 18:38:24 +01:00
Bartłomiej Dach
09742998cd
Fix mistaken obsoletion notice
...
It was added in c9f38f7bb6
, which
specified 2021 in another place (and was committed in October of 2020
anyway). Update the year so that it doesn't get culled prematurely.
2021-01-06 18:38:24 +01:00
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
Dean Herbert
d6f3beffb6
Use existing bindable flow instead
2020-09-29 12:50:17 +09:00
Dean Herbert
4f0c0ea5f9
Fix hit samples playing while paused / seeking in the editor
2020-09-28 18:17:47 +09:00
Dean Herbert
59bfa08684
Forcefully re-apply DrawableHitObject state transforms on post-load DefaultsApplied
2020-09-25 18:26:54 +09:00
Dean Herbert
33fad27ec2
Avoid API change to DrawableHitObject
2020-09-24 13:28:29 +09:00
Dean Herbert
00b0228b61
Merge branch 'master' into fix-taiko-editor-type-stats
2020-09-24 13:18:13 +09:00
Dean Herbert
fee379b4b9
Reword xmldoc for legibility
2020-09-23 18:12:07 +09:00
Dean Herbert
9a0e5ac154
Handle type/strength changes from samples changes
2020-09-23 18:09:40 +09:00
Dean Herbert
a1ec167982
Add the ability to toggle new combo state from composer context menu
2020-09-23 16:38:16 +09:00
smoogipoo
73a7b759cb
Add missing obsoletion notice
2020-09-17 17:04:44 +09:00
Dean Herbert
a8b405791a
Fix non-convert slider and spinner serialization
2020-09-14 17:32:32 +09:00
Salman Ahmed
5439099b7c
Merge GlobalSkinConfiguration settings into the LegacySetting enum
2020-07-29 10:35:51 +03:00
smoogipoo
5f98195144
Load nested hitobjects during map load
2020-07-24 18:16:36 +09:00
Dean Herbert
ac602846df
Expose balance and sample loading methods in DrawableHitObject
2020-07-22 16:37:58 +09:00
smoogipoo
e95a1beaef
Update state after applying hitobject
2020-07-15 16:53:27 +09:00
Bartłomiej Dach
c5049b51c5
Mark normal-hitnormal sample as layered
2020-06-22 20:08:29 +02:00
smoogipoo
88aed1d504
Merge branch 'master' into update-inspectcode-version
2020-06-09 20:12:39 +09:00
smoogipoo
f3b5149648
Move some suggestions to warnings, resolve issues
2020-06-03 16:48:44 +09:00
Dean Herbert
1992a3db54
Fix redundant override showing up in build warnings
2020-06-03 15:50:00 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration
2020-06-01 15:55:48 +09:00
smoogipoo
cac6e93575
Restore original IHasCurve implementation
2020-06-01 15:11:58 +09:00
smoogipoo
53b58910c3
Invert interface definition
2020-06-01 14:27:39 +09:00
Dean Herbert
e688033967
Fix incorrect xmldoc
2020-05-31 22:39:03 +09:00
Dean Herbert
f9883373bb
Flip direction to avoid breaking other usages
2020-05-29 16:11:26 +09:00
Dean Herbert
cbd563e80b
Rename to IHasDuration
2020-05-27 12:38:39 +09:00
Dean Herbert
b8e0a6f127
Move sett from EndTime to Duration
2020-05-27 12:37:44 +09:00
Dean Herbert
6b5b215299
Split out IHasPath from IHasCurve to better define hitobjects
2020-05-26 17:44:47 +09:00
Dean Herbert
0cc6d6d97c
Merge pull request #9033 from smoogipoo/applydefaults-cancellation
...
Add cancellation token support to CreateNestedHitObjects()
2020-05-26 12:04:06 +09:00
smoogipoo
6f4cd6111c
Drop obsoletion status for now
2020-05-25 16:50:49 +09:00
smoogipoo
bc35bc5efb
Merge branch 'master' into applydefaults-cancellation
2020-05-25 16:45:30 +09:00
Dan Balasescu
7846445b45
Merge branch 'master' into mania-distance-snap-grid
2020-05-22 21:17:25 +09:00
Dan Balasescu
648fc3af41
Merge branch 'master' into bar-line-floating-point
2020-05-22 16:32:25 +09:00
Dean Herbert
ce35d09e7d
Fix incorrect alpha application to lines on rewinding
2020-05-22 12:45:37 +09:00
Dean Herbert
ce223a2bd8
Silence hit sounds while seeking
2020-05-21 11:08:06 +09:00
Dean Herbert
c2697d3907
Use DrawableSample in SkinnableSound class
2020-05-20 20:49:01 +09:00
Dean Herbert
db4e3047dd
Add test for final sample output
2020-05-19 23:28:13 +09:00
Bartłomiej Dach
17ae392a75
Apply rounding to bar line start times
2020-05-17 22:11:13 +02:00
smoogipoo
6cd1753459
Add overload to prevent crashes (bosu)
2020-05-15 18:51:44 +09:00
smoogipoo
4719fcc291
Actually use the cancellation token
2020-05-15 18:17:39 +09:00
smoogipoo
98125102a7
Add cancellation token support to CreateNestedHitObjects()
2020-05-15 18:07:41 +09:00
smoogipoo
22dda3fe02
Make ScrollingHitObjectContainer respond to defaults applied events
2020-05-08 18:49:58 +09:00
smoogipoo
efff2bf15d
Add HitObject to DefaultsApplied event
2020-05-08 18:49:19 +09:00