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
Xexxar
ae076c9a4e
merged latest ppy/master
2021-08-16 22:20:12 +00:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00:00
Bartłomiej Dach
b84f238106
Adjust scaling numbers to be closer to stable
2021-08-12 22:33:12 +02:00
Bartłomiej Dach
e79150d4da
Reorder constructor arguments for HitExplosionEntry
2021-08-12 21:48:08 +02:00
Bartłomiej Dach
f3045b3152
Add comment about swapped sprite names
2021-08-12 21:48:07 +02:00
Bartłomiej Dach
68f454b51a
Enable NRT in explosion-related classes and streamline null handling
2021-08-12 21:48:07 +02:00
Bartłomiej Dach
98ce69d1d3
Fix explosion reading out time values from wrong clock
2021-08-11 23:32:58 +02:00
Bartłomiej Dach
427a88940c
Remove duplicated ClearTransforms()
call
2021-08-11 23:18:42 +02:00
Bartłomiej Dach
2fb19210af
Fix legacy explosion sprites incorrectly showing after skin change
2021-08-11 22:36:27 +02:00
Bartłomiej Dach
4bcbe6ac90
Restructure explosion to ensure proper lifetime bounds
2021-08-11 21:23:34 +02:00
Bartłomiej Dach
8c8a64fe6e
Add legacy hit lighting implementation
2021-08-11 21:23:33 +02:00
Bartłomiej Dach
95a58ca366
Store judgement directly in hit explosion entry
2021-08-11 21:23:33 +02:00
Bartłomiej Dach
a1f50e39aa
Add basic structure for skinning catch explosions
2021-08-11 21:23:32 +02:00
Bartłomiej Dach
a9e53107d1
Also mirror banana showers
2021-08-10 22:33:28 +02:00
Bartłomiej Dach
637e5cb6b7
Fix offsets not being mirrored
2021-08-10 22:33:28 +02:00
Dean Herbert
30cda318f9
Reorganise code slightly
2021-08-09 15:57:18 +09:00
Salman Ahmed
3a741affa3
Remove whitespaces
2021-08-08 21:27:48 +03:00
Gabe Livengood
c72224fa94
Add "Mirror" mod to osu!catch
2021-08-08 13:45:13 -04:00
smoogipoo
3e56388ba8
Match casing in enum value
2021-08-02 15:08:42 +09:00
smoogipoo
9b98014606
Merge branch 'master' into catcher-trail-entry
2021-08-02 15:07:48 +09:00
ekrctb
4c68268d98
Call ApplyTransformsAt
on free
2021-07-31 08:31:08 +09:00
ekrctb
4e2f928d65
Fix comment
2021-07-30 15:44:09 +09:00
Henry Lin
7251c28c4a
Merge branch 'master' into mod-muted
2021-07-29 21:14:03 +08:00
ekrctb
a204ef39dd
Prevent catcher trail generation while rewinding
2021-07-29 17:32:38 +09:00
ekrctb
81f23e1111
Manage catcher trails by lifetime entries
2021-07-29 17:12:01 +09:00
Henry Lin
e89f33483d
Code formatting fixes
2021-07-28 21:52:01 +08:00
Henry Lin
22d83c75e3
Revert imports re-ordering
...
Out of the scope of this PR
2021-07-28 18:32:38 +08:00
Henry Lin
58bbe9db7e
Added muted mod
2021-07-28 18:21:08 +08:00
ekrctb
90f3611ed0
Replace "sprite" variable names in CatcherTrailDisplay
...
The `CatcherTrail` was originally named `CatcherTrailSprite`, but it is not a sprite anymore.
2021-07-28 19:11:22 +09:00
ekrctb
a960a28d06
Replace "end glow" terminology with "hyper-dash after-image"
...
Because the is "end glow" is when a hyper-dash is *started*, the name was confusing.
The "after-image" was already used in the code as a synonym of "end glow" inconsistently.
2021-07-28 19:11:22 +09:00
Dean Herbert
2b107d624a
Merge pull request #14024 from ekrctb/trail-generation
...
Move catcher trail generation logic to `CatcherArea` to remove mutual dependency of `Catcher` and `CatcherTrailDisplay`
2021-07-28 19:06:44 +09:00
ekrctb
0bf04ece34
Avoid internal
property by using ChildrenOfType
2021-07-28 18:13:43 +09:00
ekrctb
846f539428
Avoid usage of LINQ in last dash trail computation
2021-07-27 19:11:08 +09:00
ekrctb
da69867fd4
Move catcher trail generation logic to CatcherArea
2021-07-27 19:07:37 +09:00
ekrctb
de68fd12b3
Move catcher trail colouring logic to CatcherTrailDisplay
2021-07-27 19:07:37 +09:00
ekrctb
8045534fa5
Remove outdated comment and simplify code
2021-07-26 18:18:24 +09:00
ekrctb
4282442278
Make Catcher.body
private as it is no longer needed by CatcherTrailDisplay
2021-07-26 17:58:34 +09:00
ekrctb
c08130398c
Add some comments
2021-07-26 17:58:34 +09:00
ekrctb
bb046fa3b8
Move catcher trail generation logic to Catcher
...
It resolves mutual dependency of `Catcher` and `CatcherTrailDisplay`.
Trail generation logic is moved to `Catcher`.
The generation logic no longer uses delayed scheduling because the hidden state is hard to manage.
Instead, the last time a trail is generated is calculated and used.
The new logic has a different behavior when the dash key is pressed in succession under 50ms, but it is not noticeable for normal plays.
2021-07-26 17:51:59 +09:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Dean Herbert
a7d6c682de
Merge pull request #13983 from ekrctb/juice-stream-placement
...
Add initial implementation of juice stream placement
2021-07-23 13:52:25 +09:00
ekrctb
bd3386e770
Fix previously placed vertices in juice stream placement
...
A different UX than not fixing vertices.
2021-07-23 10:18:37 +09:00
ekrctb
4509c8bcfb
Use the more consistent lastVertex
, with a comment
2021-07-23 10:13:55 +09:00
ekrctb
d49d303bae
Call GetContainingInputManager
at LoadComplete
2021-07-23 10:10:55 +09:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
ekrctb
9fff304554
Implement reversing of selected pattern in catch editor
2021-07-22 17:00:08 +09:00
ekrctb
dc90e4d24c
EditorBeatmap.SelectedHitObjects
-> SelectedItems
(same thing)
2021-07-22 16:52:47 +09:00
ekrctb
64102d2972
Add initial implementation of juice stream placement
2021-07-22 15:47:23 +09:00
ekrctb
2beef89c23
Add empty juice stream placement blueprint (no implementation)
2021-07-22 15:47:23 +09:00
Dean Herbert
e8aaf4df16
Merge pull request #13961 from ekrctb/catch-editor-flip
...
Implement horizontal flipping of hit objects in catch editor
2021-07-22 15:27:59 +09:00
Dean Herbert
1d2fdd9841
Merge pull request #13937 from ekrctb/selection-editable-path
...
Add initial implementation of juice stream path editing
2021-07-22 14:48:02 +09:00
Dean Herbert
2151c1863e
Rename variables for catch-specific casting to avoid any confusion
2021-07-22 14:07:32 +09:00
ekrctb
19657cd00e
Guard against empty range in PositionRange
2021-07-22 13:29:32 +09:00
ekrctb
7b6981c632
Don't show the flip button when flipping is a no-op
2021-07-22 13:29:32 +09:00
ekrctb
d93bf5be80
Don't handle mouse down at fixed vertices
2021-07-22 12:58:39 +09:00
Dean Herbert
73866c2837
Merge branch 'master' into catch-editor-flip
2021-07-21 19:54:39 +09:00
Dean Herbert
399c3b0be8
Rename property, reword xmldoc and improve readability of update code
2021-07-21 17:32:56 +09:00
ekrctb
179ba3c9a8
Merge branch 'master' into catcher-area-catcher
...
# Conflicts:
# osu.Game.Rulesets.Catch.Tests/TestSceneCatcher.cs
2021-07-21 16:45:28 +09:00
ekrctb
d9f9ad35be
Move catcher base size constant to Catcher
.
2021-07-21 16:43:24 +09:00
ekrctb
30777795ce
Add some doc comment to CatcherArea
2021-07-21 16:40:35 +09:00
ekrctb
94678064ff
Rename CatcherArea.MovableCatcher
to Catcher
2021-07-21 16:28:31 +09:00
ekrctb
d2d3214d47
Implement horizontal flipping of hit objects in catch editor
2021-07-21 16:07:02 +09:00
ekrctb
4c8b9c168e
Use added position range computation in hit object move handling
2021-07-21 16:06:34 +09:00
ekrctb
60f876511d
Add function of computing position range occupied by hit objects
2021-07-21 16:06:34 +09:00
ekrctb
cd447f0305
Add some doc comment to JuiceStreamSelectionBlueprint
2021-07-21 13:27:07 +09:00
ekrctb
cc0110aa52
Add doc comment to VertexState
2021-07-21 13:17:18 +09:00
ekrctb
97fba5df58
Use existing method for the same code
2021-07-21 12:59:42 +09:00
ekrctb
ca3dfb2498
Fix comment
2021-07-21 12:53:48 +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
ekrctb
8586458704
Implement vertex deletion in juice stream selection blueprint
2021-07-19 22:53:32 +09:00
ekrctb
08f8d4e65e
Implement vertex addition in juice stream selection blueprint
2021-07-19 22:53:32 +09:00
ekrctb
8cc1630655
Add initial juice stream editing
2021-07-19 22:53:32 +09: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
ekrctb
81d0a9bd9c
Fix item ordering
2021-07-19 21:05:36 +09:00
ekrctb
41169fbdaf
Add [NotNull]
2021-07-19 20:20:10 +09:00
ekrctb
7201cfe0b4
Move child drawable creation of CatchPlayfield
from constructor to load
.
2021-07-19 20:18:17 +09:00
ekrctb
879467961f
Fix catcher trails displayed in wrong place
2021-07-19 20:13:31 +09:00
ekrctb
b88ee3c1a1
Pass DroppedObjectContainer
via constructor instead of DI
...
It is now just one level deep, so it is not beneficial to use DI here.
This effectively reverts ae09c23e
.
2021-07-19 20:11:49 +09:00
ekrctb
50f9e5f362
Replace usage of CatcherArea.MovableCatcher
with Catcher
2021-07-19 19:52:40 +09:00
ekrctb
97059a9f50
Create Catcher
in CatchPlayfield
2021-07-19 19:44:40 +09:00
Dean Herbert
23ef666f34
Merge pull request #13887 from ekrctb/legacy-converted-y
...
Preserve Y position of hit objects in osu!catch
2021-07-19 18:48:23 +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
c347584851
Use added utility function
2021-07-19 13:33:46 +09:00
ekrctb
70c9d7105f
Add a function to compute hit object position in catch editor
2021-07-19 13:33:22 +09:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
ekrctb
7f432665e5
Preserve Y position of hit objects in osu!catch
2021-07-14 14:38:38 +09:00
Dan Balasescu
0c52b26d23
Merge pull request #13824 from peppy/da-mod-refactor
...
Refactor `ModDifficultyAdjust` to more elegantly track user override status
2021-07-12 12:03:45 +09:00
Dean Herbert
79d546afa2
Add missing osu!catch difficulty adjust attributes
2021-07-11 10:14:42 +09:00
Bartłomiej Dach
6f89f8e572
Merge branch 'master' into da-mod-refactor
2021-07-10 11:41:54 +02:00
Bartłomiej Dach
c5011865fc
Invert strangely negated condition
2021-07-10 11:23:38 +02:00
Bartłomiej Dach
494089e402
Fix up English in comment
2021-07-10 11:22:54 +02:00
ekrctb
995ef953c6
Modify comment
2021-07-09 15:13:54 +09:00
Dean Herbert
90326f8864
Standardise variables
2021-07-09 13:24:26 +09:00
ekrctb
7e14679606
Expand the selection movement limiting code with detailed comments
2021-07-09 12:58:08 +09:00
ekrctb
c937c45360
Don't move selected objects outside the playfield in catch editor
2021-07-08 18:49:32 +09:00
Dean Herbert
88b00123f6
Use existing reflection methods to avoid manual binding of ExtendedLimits
2021-07-08 17:49:00 +09:00