Pasi4K5
47d787b359
Merge remote-tracking branch 'OliBomby/fix-segment-ends' into fix-slider-reversing
2023-08-19 02:38:34 +02:00
Pasi4K5
0e691d5935
Revert changes in SliderPath
2023-08-19 00:16:05 +02:00
OliBomby
ff07fbae15
fix GetSegmentEnds
2023-08-18 12:20:40 +02:00
Pasi4K5
3481c41a22
Fix segmentEnds
being calculated incorrectly
2023-08-18 04:34:10 +02:00
Pasi4K5
58bffa13cd
Fix possible IndexOutOfRangeException
2023-08-16 01:19:41 +02:00
Pasi4K5
e7e0c49f42
Replace .Distinct()
with truncateEndingDuplicates()
2023-08-16 01:14:25 +02:00
Pasi4K5
6346872c39
Improve code readability and add assertion to test scene
2023-08-15 23:27:12 +02:00
Pasi4K5
449bee98cc
Code cleanup
2023-08-14 21:56:08 +02:00
Pasi4K5
19c8b74a47
Remove unnecessary circle arc approximation
2023-08-14 21:09:58 +02:00
Pasi4K5
55ac942e7a
Fix IndexOutOfRangeException
when trying to reverse a zero-length slider
2023-08-14 14:09:08 +02:00
Pasi4K5
f42b3603b3
Fix linear sliders sometimes being reversed incorrectly
...
Extract control point reversing to separate method
2023-08-14 14:08:02 +02:00
Pasi4K5
8912a0e91e
Fix sliders being reversed incorrectly in the editor.
2023-08-12 20:30:48 +02:00
OliBomby
d2f5e696e7
Fix DrawableHitObject state not synchronizing with hitobject edits
2023-08-11 22:34:04 +02:00
OliBomby
5d82190b70
Merge remote-tracking branch 'upstream/master' into legacy-export
2023-07-18 12:18:49 +02:00
OliBomby
06e5ef88c0
legacy export broken
2023-07-11 02:30:16 +02:00
Bartłomiej Dach
56a2ba4ac0
Fix GenerateTicks
being lost during osu! beatmap conversion process
2023-07-08 23:24:38 +02:00
Dean Herbert
e0fc97bb93
Replace various local implementations of rewinding checks with new property
2023-07-07 15:21:24 +09:00
Dean Herbert
3f8dfc7cb0
Fix fallback for Judged
to be more correct
...
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.
Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:
f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:03:58 +09:00
Bartłomiej Dach
6c4e52821d
Redirect judgement-related flags from DHO to HOLE
2023-07-04 23:45:08 +02:00
Bartłomiej Dach
0ceaf3c451
Ensure synthetic entries from non-pooled DHO are linked to parents
2023-07-04 23:45:08 +02:00
Bartłomiej Dach
bae7670855
Redirect HitObjectEntryManager
child mapping to HOLE
2023-07-04 23:41:06 +02:00
Bartłomiej Dach
6dc8c7b617
Add HitObjectLifetimeEntry.NestedEntries
2023-07-04 23:39:56 +02:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
...
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dean Herbert
8d925c8a8a
Move combo information updating to an interface level helper method
2023-05-17 17:26:19 +09:00
Dean Herbert
510ebe1f23
Fix weird optional usage in HitSampleInfo.With
2023-05-17 14:11:52 +09:00
Dean Herbert
dc51d5ecf3
Rename GetSampleInfo
to better describe what method does
...
Also add full xmldoc
2023-05-17 14:07:48 +09:00
Dean Herbert
d9ae822966
Fix bank not correctly being assigned when adding sample additions in editor
2023-05-16 18:52:52 +09:00
Dean Herbert
83dcd78826
Make HitSampleInfo.Bank
non-nullable
2023-05-16 18:12:56 +09:00
Dean Herbert
64498e95a4
Add an IAnimationTimeReference
to DrawableHitObject
to synchronise all animations
2023-05-08 18:56:29 +09:00
Dean Herbert
490df8073c
Fix one incorrect namespace syntax file
2023-05-05 21:15:26 +09:00
OliBomby
2e018c8b06
Fix comment 2 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:47 +02:00
OliBomby
c2ad8c2320
Fix comment 1 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:30 +02:00
OliBomby
27cfadca16
add sample info to Banana and SpinnerBonusTick
2023-05-01 14:54:06 +02:00
OliBomby
92efd04f31
fix sample of drumroll ticks being bankless
2023-04-29 23:52:24 +02:00
OliBomby
ffcc8e91b2
fix legacy parser incorrectly assigning sample info for sliders
2023-04-29 23:51:49 +02:00
OliBomby
354cd23874
removed all usage of hitobject's DifficultyControlPoint
2023-04-26 18:17:02 +02:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00
OliBomby
c6fc180659
remove all test usages of SampleControlPoint
2023-04-26 14:21:52 +02:00
OliBomby
6c70948681
Remove IContext & add IHasGenerateTicks
2023-04-26 13:10:57 +02:00
OliBomby
e27c4dfa10
Invoke ApplyDefaultsToSelf
2023-04-26 11:46:05 +02:00
OliBomby
66eda40cdf
fix implementations of IHasSliderVelocity
2023-04-25 18:22:22 +02:00
OliBomby
065464d90c
Fixed DifficultyPointPiece
2023-04-25 18:12:53 +02:00
OliBomby
ebe1d852f5
remove other usages of hitobject SampleControlPoint
2023-04-25 16:01:43 +02:00
OliBomby
97910d6be6
remove unused directives
2023-04-25 13:06:37 +02:00
OliBomby
891b87a5ff
remove ApplyLegacyInfo method
2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798
Add LegacyContext
2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2
made the SampleControlPoint and DifficultyControlPoint obsolete
2023-04-25 11:34:09 +02:00
Bartłomiej Dach
db86ced4b4
Invoke RevertResult
on parent DHO when nested DHO is reverted
...
The behaviour described above was removed in
812a4b412a
, thus henceforth
contradicting `RevertResult`'s xmldoc. As it is relied on by some
external rulesets, bring it back to unbreak them.
2023-04-11 18:29:08 +02:00
Dean Herbert
044b0604b2
Move OmitFirstBarLine
to TimingControlPoint
2023-02-28 19:29:31 +09:00
Bartłomiej Dach
3ee046000e
Merge branch 'master' into revert-result-in-playfield
2023-02-16 21:54:29 +01:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object
2023-02-15 14:48:15 +09:00
Dean Herbert
9d09141ab7
Move taiko-specific property out of DrawableHitObject
2023-02-12 16:09:28 +09:00
sw1tchbl4d3
f0d11f44fc
Always add to additions soundbank in convertSoundType
2023-02-09 22:27:52 +01:00
Dean Herbert
34d1890f1c
Change snapping to only apply to classic mod
2023-02-09 18:22:14 +09:00
ekrctb
258de3b2d8
Store RawTime in JudgementResult
2023-02-09 17:15:37 +09:00
ekrctb
5f0636c330
Merge branch 'maximum-judgement-offset-in-hit-object' into revert-result-in-playfield
2023-02-09 16:47:58 +09:00
Dean Herbert
74ab036f3e
Refactor SkinnableSound.Samples
to be non-nullable
2023-01-27 19:32:30 +09:00
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