1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 13:22:55 +08:00
Commit Graph

880 Commits

Author SHA1 Message Date
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 HitObjects 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