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

1535 Commits

Author SHA1 Message Date
Dean Herbert
93482414d6 Remove SkinConfiguration subclasses and allow configuration parsing for all skin types 2021-10-22 14:42:23 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Dean Herbert
16e60eed56 Reduce NestedHitObject enumerator overhead
This was especially bad due to it allocating on any and every start time
change, even the first (see usage in `HitObject.ctor`).
2021-09-20 15:09:27 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +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
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 ComboOffsets 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
Dean Herbert
bd7c334588 Avoid the need for per-settings control classes 2021-07-08 17:49:00 +09:00
Dean Herbert
a6e94dd491 Add back extended limits support 2021-07-08 17:49:00 +09:00
Dean Herbert
0e4f4a6fde Initial storage changes 2021-07-08 14:28:13 +09:00
ekrctb
f1aa99e103 Fix catch selection blueprint not displayed after copy-pasted 2021-07-07 21:03:26 +09:00
ekrctb
7d76fcf2b6 Fix hit object placement not receiving input when outside playfield
The input area is vertical infinite, but horizontally restricted to the playfield due to `CatchPlayfield`'s `ReceivePositionalInputAt` override.
2021-07-07 16:18:21 +09:00
ekrctb
115376c538 Add playfield border to catch editor 2021-07-07 16:14:45 +09:00
Dean Herbert
fd46d30f29
Merge pull request #13795 from ekrctb/juice-stream-selection-1
Add path visualization to juice stream selection blueprint
2021-07-07 15:24:39 +09:00
ekrctb
7b21d1ecf9 Fix juice stream outline disappears away when start position is outside the screen. 2021-07-06 19:50:32 +09:00
ekrctb
2ba3003934 Add nested fruit outlines to juice stream selection blueprint 2021-07-06 17:15:51 +09:00
ekrctb
7833a1b09a Allow FruitOutline to be used for nested hit objects 2021-07-06 17:15:27 +09:00
ekrctb
0fa7716ced Show path of juice stream in selection blueprint 2021-07-06 16:46:12 +09:00
ekrctb
7ef7c5148f Add ScrollingPath for visualization of the real path of a JuiceStream 2021-07-06 16:41:53 +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
Dean Herbert
01961fe4f9
Merge pull request #13747 from ekrctb/catcher-flip
Don't flip catcher plate contents when catcher changes direction
2021-07-06 00:02:23 +09:00
ekrctb
d247b8042e Fix default skin catcher not flipping catcher plate
When legacy beatmap skin is present but catcher is not provided, it was using the legacy setting (always false).
2021-07-05 20:05:08 +09:00
ekrctb
83c80291d4 Don't flip catcher plate contents in legacy skin 2021-07-02 23:23:21 +09:00
ekrctb
fbba32647e Decouple direction of catcher from its scale 2021-07-02 23:22:39 +09:00
ekrctb
170513568b Move caught object stack vertical offset logic 2021-07-02 20:43:47 +09:00
Dean Herbert
ee6cf4396a
Merge pull request #13648 from ekrctb/dropped-object-container
Use DI to resolve "dropped object target" container in `Catcher`
2021-06-25 18:23:39 +09:00
ekrctb
c0c1b8d620 Fix catcher hyper-dash afterimage is not always displayed 2021-06-24 16:12:43 +09:00
ekrctb
ae09c23e4e Resolve DroppedObjectContainer via DI 2021-06-24 16:09:13 +09:00
ekrctb
16d5893535 Add DroppedObjectContainer class 2021-06-24 15:51:54 +09:00
smoogipoo
6215f2d42b Remove unnecessary string interpolation 2021-06-23 17:40:11 +09:00
smoogipoo
7767e2e77f Add to tooltip 2021-06-23 17:34:30 +09:00
ekrctb
ad60b9d5a0 Allow catch difficulty adjust to enable hard rock offsets 2021-06-23 14:52:41 +09:00
ekrctb
a0fd7f72ac Use IApplicableToBeatmapProcessor in CatchModHardRock 2021-06-23 14:47:32 +09:00
Dean Herbert
f62b4f2d24
Merge pull request #13617 from ekrctb/catch-editor
Add "placeholder" (pre-MVP) implementation of osu!catch editor
2021-06-23 14:00:34 +09:00
ekrctb
125e143401 Fix banana shower placement outline initial opacity 2021-06-23 10:27:40 +09:00
ekrctb
5a5cb39c9f Add some comments about logic 2021-06-23 10:27:40 +09:00
ekrctb
69c8865a04 Use more consistent method names 2021-06-23 10:19:25 +09:00
ekrctb
a9b8736f70 Order field and properties consistently 2021-06-23 10:18:44 +09:00
ekrctb
e96814bb86 Remove comment about using skin for blueprint
As the current game-wise direction is not using skin elements in blueprints.
The design of the blueprint could be improved somehow, though.
2021-06-23 09:37:30 +09:00
ekrctb
1a7bfafc69 Add icon for composition tools 2021-06-23 09:34:11 +09:00
Dean Herbert
4cb9c6a842
Merge pull request #13423 from frenzibyte/transformers-per-skin
Refactor ruleset skin transforming logic to be per-`ISkin` rather than one `ISkinSource`
2021-06-22 21:24:56 +09:00
ekrctb
21331d3a13 Disable caught object stacking in editor 2021-06-22 17:20:13 +09:00
ekrctb
e8907b53a8 Add basic banana shower placement tool 2021-06-22 17:20:13 +09:00
ekrctb
4d7a877795 Add basic fruit placement tool 2021-06-22 17:20:13 +09:00
ekrctb
0078d7dc18 Add outline to selected fruit 2021-06-22 17:20:13 +09:00
ekrctb
c28cd5dd75 Add basic juice stream selection blueprint 2021-06-22 17:20:13 +09:00
ekrctb
b8ccfe6ea7 Add basic selection blueprint movement logic 2021-06-22 17:20:13 +09:00