Commit Graph

345 Commits

Author SHA1 Message Date
Drison64 6b1cd1bce3 Clamped JuiceStream to Playfield, but broke few tests 2022-09-20 19:13:40 +02:00
Drison64 4958421303 Moved X clamping from X to EffectiveX 2022-09-19 17:26:04 +02:00
Drison64 6d7d80a4fb Made X position value of CatchHitObject clamp to CatchPlayfield's width 2022-09-18 17:29:08 +02: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 1051009827 Change bindable properties in all `HitObject`s to be lazily initialised 2022-07-19 05:39:10 +03:00
Dan Balasescu f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
ekrctb 670922c8e5 Use latest slider velocity for juice stream velocity computation.
This fixes one-frame glitch in editor when slider velocity is changed.
2022-05-08 22:36:33 +09:00
ekrctb 9ffa90602b Automatically set slider velocity from juice stream path 2022-05-08 22:36:33 +09:00
ekrctb 4e0155fa4b Make `JuiceStreamPath` time based instead of distance based.
And remove the "slope limit" feature.
TODO: for a juice stream with a large slope, the slider velocity of the hit object should be changed.
2022-05-08 22:36:33 +09:00
goodtrailer 4440b9ca11 Change IHasRepeats.NodeSamples to IList from List 2021-10-23 01:59:07 -07:00
smoogipoo bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert a92d499d7a Convert usages of `BeatmapDifficulty` to `IBeatmapDifficultyInfo` 2021-10-01 16:55:50 +09:00
Dean Herbert a3d9ab1e2e Move approach rate to `EffectControlPoint` 2021-09-03 16:58:16 +09:00
Dean Herbert 071c56e90b Update usages of `DifficultyPointAt` 2021-09-03 16:58:16 +09:00
Dean Herbert 6dcd9427ac Remove bindable usage in `PathControlPoint`
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.

I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
Salman Ahmed 523c154f15 Add `ComboIndexWithOffsetsBindable` and bind similar to `ComboIndexBindable` 2021-07-22 16:40:33 +03:00
Dean Herbert 399c3b0be8 Rename property, reword xmldoc and improve readability of update code 2021-07-21 17:32:56 +09:00
Salman Ahmed 9d92b795fa Revert making `ComboOffset`s legacy and define `BeatmapSkinComboIndex` instead 2021-07-20 14:15:43 +03:00
Salman Ahmed 554652b033 Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset 2021-07-20 10:11:52 +03:00
Salman Ahmed 1af230c48c Merge branch 'master' into refactor-combo-colour-retrieval 2021-07-20 10:08:25 +03:00
Dean Herbert 6d49165664
Merge pull request #13928 from ekrctb/juice-stream-path
Add `JuiceStreamPath` as alternative representation of `JuiceStream` path for catch editor
2021-07-19 22:18:05 +09:00
Dean Herbert 443058f879 Move playfield constant to top of file and make `internal` 2021-07-19 18:41:29 +09:00
ekrctb be495a7488 Add `JuiceStreamPath` to allow editing `JuiceStream` in catch editor
A `JuiceStream` holds a legacy `SliderPath` as the representation of the path.
However, the `SliderPath` representation is difficult to work with because `SliderPath` works in 2D position, while osu!catch works in `(time, x)` coordinates.
This `JuiceStreamPath` represents the path in a more convenient way, a polyline connecting list of `(distance, x)` vertices.
2021-07-19 13:59:10 +09:00
ekrctb 7f432665e5 Preserve Y position of hit objects in osu!catch 2021-07-14 14:38:38 +09:00
ekrctb 175d666906 Use getters of `OriginalX` and `XOffset` 2021-07-06 15:32:32 +09:00
ekrctb ae1b1cbec9 Allow serialization of catch hit objects 2021-07-06 15:32:32 +09:00
ekrctb ac5c55bd2c Remove "fruit visual representation" state from `DrawableFruit`
Instead, skin pieces compute visual representation from `IndexInBeatmap`.
2021-06-07 14:49:37 +09:00
ekrctb 166e4565be Move `FruitVisualRepresentation` namespace 2021-06-07 13:59:17 +09:00
Salman Ahmed cd6d070b4a Consider "combo offsets" as legacy logic and separate from combo information 2021-05-05 07:43:08 +03:00
Salman Ahmed eeeb001d62 Refactor combo colour retrieval logic to request skin lookups instead 2021-05-05 07:17:27 +03:00
Dean Herbert b81dbfc192 Move shared implementation to a named function 2020-12-14 13:56:46 +09:00
ekrctb 5b5e883904 Remove EffectiveXBindable (setting Value was not handled)
And use orthogonal `OriginalXBindable` and `XOffsetBindable`.
2020-12-14 13:39:07 +09:00
ekrctb 0ad256a762 Fix comment 2020-12-14 13:18:32 +09:00
ekrctb d96399ea42 Revert "Remove X setter from CatchHitObject"
This reverts commit 7cbbd74d
2020-12-14 13:18:14 +09:00
ekrctb 7cbbd74df2 Remove X setter from CatchHitObject 2020-12-14 11:38:07 +09:00
ekrctb f621d977fc Add some more doc comment 2020-12-14 11:32:34 +09:00
ekrctb 36529bdd1b Use OriginalX for CatchHitObject.X instead of EffectiveX
And explicitly implement IHasXPosition interface to prevent use of the X property.
It should be preferred for beatmap conversion purpose.
2020-12-14 11:26:05 +09:00
ekrctb 089f3bebf5 Add doc comments to catch hit object X properties 2020-12-14 11:15:49 +09:00
ekrctb cd2db59900 XBindable -> EffectiveXBindable in catch DHO 2020-12-14 11:05:26 +09:00
ekrctb 96f3e0dad8 Replace CatchHitObject.X usage to EffectiveX and OriginalX 2020-12-14 11:03:14 +09:00
ekrctb c1f3f1c231 Obsolete `X` getter 2020-12-14 11:03:10 +09:00
ekrctb 8da502da44 Separate asymmetric CatchHitObject.X to EffectiveX and OriginalX 2020-12-14 11:03:03 +09:00
Dean Herbert c0d20d8ce4 Add some spacing to interface class 2020-12-11 16:43:00 +09:00
ekrctb 2634c6b8d9 Combine DisplayRadius and Scale to DisplaySize 2020-12-10 20:43:01 +09:00
ekrctb e097b6e61c Add ScalingContainer back
Don't want to set DHO.Scale or DHO.Rotation because because DHO may be transformed by mods.
DHO.Size is also assigned for drawable visualizer
2020-12-10 19:42:01 +09:00
ekrctb 775c4bad97 Remove unneeded lifetime assignment 2020-12-09 10:47:04 +09:00
ekrctb da2f3d4473 Move classes to separate files 2020-12-09 10:40:42 +09:00
ekrctb b80204642e Revert rename error 2020-12-09 10:25:35 +09:00
ekrctb 1212ffd24f Rename to CopyStateFrom, and add comment 2020-12-08 23:35:24 +09:00
ekrctb 5ca98b0033 Add doc comments a bit 2020-12-08 23:11:22 +09:00