ekrctb
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
ekrctb
11e1b22bf5
Move MaximumJudgementOffset to HitObject
...
We want to access this property for computing lifetime
2023-01-19 21:23:55 +09:00
ekrctb
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
Dean Herbert
d1ca4ebd40
Merge pull request #21559 from OliBomby/stream-tool-1
...
Add segment end completions list to SliderPath
2023-01-11 15:31:04 +09:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
OliBomby
98a312ca96
Fix segmentEnds incorrect on shortened paths
2022-12-07 09:52:09 +01:00
OliBomby
cd46ca31f9
Add segmend end completions to SliderPath
2022-12-07 09:51:22 +01:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Bartłomiej Dach
2e19e93036
Rename method
2022-11-30 22:54:14 +01:00
Derrick Timmermans
cff3e06ad6
Update state based on result during LoadComplete
2022-11-27 20:57:00 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
f9d952220f
Fix barlines being misaligned if generation start time is clamped
2022-11-23 18:12:03 +09:00
Dean Herbert
40f2da364c
Limit how far before the first hitobject that barlines can be generated
2022-11-21 14:40:25 +09:00
Dean Herbert
106f1cf90b
Merge branch 'master' into combo-colour-brightness-limit
2022-11-11 18:24:39 +09:00
Dean Herbert
dd4cd3cf8e
Move gameplay configuration to interface to allow editor overriding
2022-11-08 18:25:24 +09:00
Dean Herbert
c69a4f9333
Move major barline portion to default implementation to allow for further customisation
...
Of note, this removes the "major" barline triangles from legacy skins. I
think this is more correct, as they did not display in stable.
2022-11-07 14:29:58 +09:00
Dean Herbert
51078bddf9
Remove unused bindable
2022-11-06 23:34:04 +09:00
Bartłomiej Dach
84179fb087
Merge branch 'master' into combo-colour-brightness-limit
2022-11-05 16:48:56 +01:00
Dean Herbert
566738494f
Merge pull request #20952 from OliBomby/bezier-convert
...
Add conversion algorithm for lazer slider curves to work with stable
2022-11-04 16:49:51 +09:00
Dean Herbert
3ec9686e58
Fix test failures and rename configuration value to match better
2022-11-02 18:15:18 +09:00
Dean Herbert
99ba7c29dd
Change range to 0-100% and rename to "normalisation"
2022-11-02 13:47:11 +09:00
Dean Herbert
2f3c80f884
Remove toggle and change method of application to blend with original colour
2022-11-02 13:08:29 +09:00
Dean Herbert
a01602e63c
Merge branch 'master' into combo-colour-brightness-limit
2022-11-02 12:09:27 +09:00
Dean Herbert
f014acfc8d
Fix DrawableHitObject.AccentColour
not being updated if object entry is not attached
2022-11-01 19:34:53 +09:00
Dean Herbert
27af91003b
Merge branch 'master' into combo-colour-brightness-limit
2022-11-01 17:50:26 +09:00
OliBomby
0461303895
Change return type to List
2022-10-31 11:39:41 +01:00
OliBomby
414e21c657
Added xmldoc to public methods
2022-10-31 11:39:14 +01:00
Dean Herbert
94dd4045f1
Remove borrowed framework code
2022-10-31 15:42:17 +09:00
Dean Herbert
31ba77e378
Merge branch 'master' into bezier-convert
2022-10-31 15:41:08 +09:00
Dean Herbert
42eafe318c
Remove various simple obsoletions
2022-10-28 13:20:58 +09:00
OliBomby
86d5fcc26d
Added tests
2022-10-26 19:30:42 +02:00
OliBomby
77dcd0fae2
Create BezierConverter.cs
2022-10-26 17:21:20 +02:00
Dean Herbert
da93849b80
Rename some pieces and better document SampleBankInfo
2022-10-25 14:55:33 +09:00
Dan Balasescu
8a88339e78
Allow combo colour normalisation to be disabled
2022-10-14 14:37:24 +09:00
Dan Balasescu
15db65c037
Extract to struct, add dictionary term
2022-10-14 14:12:53 +09:00
Dan Balasescu
4149235e63
Limit minimum brightness of combo colours
2022-10-13 14:05:33 +09:00
Dean Herbert
f060e6a780
Implement hold "sliding" samples in osu!mania
2022-10-11 16:31:37 +09:00
sw1tchbl4d3
5a4196fd51
Make currentEffectPoint
non-nullable
2022-10-10 15:34:29 +02:00
sw1tchbl4d3
d389808427
Make effect point search more efficient
2022-10-10 14:00:26 +02:00
sw1tchbl4d3
eae32ca483
Switch DefinitelyBigger
to AlmostBigger
to account for fp errors
2022-10-10 09:39:40 +02:00
sw1tchbl4d3
63ffaa6929
Respect OmitFirstBarLine effect
2022-10-07 20:38:32 +02:00
sw1tchbl4d3
903c8612c8
Move endTime to next timing point
2022-10-07 20:34:31 +02:00
sw1tchbl4d3
0cffbb7562
Clamp LifetimeStart
of HitObject
's to their judgement windows
2022-09-27 16:54:24 +02:00
Dean Herbert
78625fda7d
Improve exception when attempting to call DrawableHitObject.ClearInternal
2022-09-22 14:44:03 +09:00
Dan Balasescu
e56ea58e71
Fix up xmldoc
2022-09-15 16:06:21 +09:00
Dan Balasescu
c847cc521e
Add some inline comments
2022-09-15 16:00:35 +09:00
Dan Balasescu
68e4d22898
Precondition against entryMap intead of parentMap
2022-09-15 15:43:15 +09:00
Dan Balasescu
31bc067dd1
Don't store nulls to parentMap
2022-09-15 15:38:44 +09:00
Dean Herbert
5dc0d32e42
Apply NRT to hitobject lifetime related classes
2022-09-14 15:24:20 +09:00
ekrctb
c59aa57450
Remove createLifetimeEntry
from HitObjectEntryManager
2022-09-14 15:19:33 +09:00
ekrctb
47539e2129
Add doc comments to HitObjectEntryManager
2022-09-14 15:19:05 +09:00
ekrctb
bde390828b
Manage entries of nested hit objects in HitObjectEntryManager
...
- Fix nested hit objects are leaked when parent hit object is edited or deleted
2022-09-14 15:19:05 +09:00
ekrctb
a9eba27129
Factor out pooling logic from Playfield
2022-09-14 15:19:05 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Salman Ahmed
8f80a22ef9
Fix osu! and catch hitobjects no longer scaled to 1 by default
2022-07-19 07:00:13 +03:00
Salman Ahmed
5ddb5a3d74
Introduce HitObjectProperty<T>
2022-07-19 05:39:10 +03:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dan Balasescu
e0c82d11ab
Convert == usages to ReferenceEquals
2022-06-20 16:56:19 +09:00
Dan Balasescu
fd9902e816
Manual #nullable processing
2022-06-17 16:38:35 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
9259aa94f1
Fix Catmull slider parsing with duplicate initial point
2022-05-24 11:47:42 +09:00
Dan Balasescu
731f0960ec
Don't merge adjacent legacy Catmull segments
2022-05-18 17:16:24 +09:00
Dean Herbert
10e41d018a
Fix toggling hit animations on the editor not applying immediately
2022-05-12 17:36:35 +09:00
Dean Herbert
977e6d8a80
Add xmldoc for IDistanceSnapProvider
and related properties
2022-05-05 16:25:45 +09:00
Salman Ahmed
59cf3ff50f
Move distancing methods from IPositionSnapProvider
to IDistanceSnapProvider
2022-04-28 05:48:45 +03:00
Dean Herbert
c079a9cd32
Add comment regarding equality check importance in LegacyHitSampleInfo
2022-03-23 20:18:44 +09:00
Dean Herbert
997c091a8d
Revert "Remove IsLayered
from LegacyHitSampleInfo
comparison"
...
This reverts commit 4523393208
.
2022-03-23 20:15:17 +09:00
Dean Herbert
2ea9e5245c
Revert "Remove IsLayered
from GetHasCode
implementation"
...
This reverts commit 16ee6b5fc7
.
2022-03-23 20:15:13 +09:00
Dean Herbert
16ee6b5fc7
Remove IsLayered
from GetHasCode
implementation
2022-03-14 18:12:04 +09:00
Dean Herbert
4523393208
Remove IsLayered
from LegacyHitSampleInfo
comparison
...
The equality of samples is generally used to compare the sample
equality, not its full properties. For instance, we don't compare
`Volume` in the base implementation.
Having `IsLayered` here breaks actual usages of equality, ie. for
pooling purposes.
2022-03-14 17:19:48 +09:00
Dean Herbert
8676a2587c
Add the ability for HitObject
s to specify auxiliary samples
2022-03-14 17:19:48 +09:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures
enum with struct for storage of arbitrary meter
2022-01-22 20:50:31 +01:00
Dean Herbert
eb5f15a77e
Merge pull request #16420 from bdach/slider-paste-parsing-failures-2
...
Fix pasted sliders having sample points with time at infinity
2022-01-13 23:28:49 +09:00
Joseph Madamba
5185f6010e
Fix missed identifier typos
2022-01-12 15:46:20 -08:00
Bartłomiej Dach
afce976f08
Fix oversubscription to StartTimeBindable.ValueChanged
2022-01-12 19:29:49 +01:00
Bartłomiej Dach
07fc772c24
Merge branch 'master' into slider-paste-parsing-failures-2
2022-01-12 19:06:36 +01:00
Bartłomiej Dach
80ccff9068
Remove no longer necessary guards against default control points
...
The subscription in which the guards were present was moved from
constructor to `ApplyDefaults()`, and at that point neither the sample
control point or the difficulty point can be the default point, because
there are explicit paths that overwrite those with blank points in the
same methods, prior to the subscription's registration.
The only worry would be that someone would set the default point on the
object themselves, but at that point that is most likely programmer
error anyhow.
2022-01-11 22:14:47 +01:00
Bartłomiej Dach
7a25fe79b7
Fix sample control point time being calculated before defaults applied
...
In editor contexts, the `StartTimeBindable` subscription in `HitObject`
was firing before defaults were applied, which in the case of sliders
manifested in an infinite end time. `ApplyDefaults()` also did not
always set the time of the control point to the correct value, which
matters when the beatmap is encoded.
Ensure that the control points receive the correct time values during
default application, and only register the `StartTimeBindable` change
callback after defaults have been successfully applied.
2022-01-11 21:38:59 +01:00
Bartłomiej Dach
c09f6ee052
Use slider snapping more liberally to match user expectations
...
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
Dean Herbert
bb54f438aa
Merge branch 'master' into positional-sounds-strength-adjustment
2022-01-03 12:40:56 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
mk-56
fd5af1fbe7
Code refactor and name changes
...
cleaned code up with Jetbrains i hope it suffices
2021-12-17 13:16:06 +01:00
mk-56
cd095b5f7d
Merge remote-tracking branch 'origin/positional-sounds-strength-adjustment' into positional-sounds-strength-adjustment
2021-11-28 14:21:26 +01:00
mk-56
9c42cc0c05
Fix
2021-11-28 14:12:39 +01:00
mk-56
9065179c52
Fix
2021-11-28 14:09:30 +01:00
mk-56
c3fb793762
Fixed the problems that were brought up and deleted the old bind logic
2021-11-28 14:06:53 +01:00
mk-56
e83115ad5e
Binding logic fix, nullification of unnecessary path
2021-11-28 03:25:11 +01:00
mk-56
eaa464e548
Initial implementation of adjustable positional hitobject audio strength
2021-11-28 02:58:08 +01:00
Dean Herbert
5c7623e68e
Merge pull request #15255 from goodtrailer/node-samples-ilist
...
Change IHasRepeats.NodeSamples to IList from List
2021-10-28 14:24:26 +09:00
Dean Herbert
add39fbd4f
Merge branch 'master' into fix-skin-layout-editor-crash
2021-10-28 06:24:24 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
d5b4c68d3a
Merge branch 'master' into fix-slider-path-extension-incorrectness
2021-10-26 17:36:50 +09:00
Dan Balasescu
6a6d3a5e8a
Merge pull request #15304 from peppy/fix-editor-new-beatmap-sample-change-crash
...
Fix editor crash when attempting to change sample/velocity from timeline on new beatmap
2021-10-26 17:13:56 +09:00
Dean Herbert
dae7cdc4c5
Ensure HitObject
-local control points are non-default after ApplyDefaults
...
We will probably want to make this whole flow more efficient in the
future, but this should suffice for now.
2021-10-26 16:06:03 +09:00
Dean Herbert
81fee02c2b
Fix slider paths being extended even when the last two points are equal
2021-10-26 15:47:59 +09:00
Jason Won
a582976851
reversing slider maintains shape
2021-10-26 00:05:46 -04:00
goodtrailer
0affe7b79d
Remove unnecessary using
2021-10-23 02:25:20 -07:00
goodtrailer
4440b9ca11
Change IHasRepeats.NodeSamples to IList from List
2021-10-23 01:59:07 -07:00
Dean Herbert
93482414d6
Remove SkinConfiguration
subclasses and allow configuration parsing for all skin types
2021-10-22 14:42:23 +09:00