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

1862 Commits

Author SHA1 Message Date
Salman Ahmed
84fdd2e107 Improve flashlight display on break periods 2022-10-11 17:16:57 +03:00
Dean Herbert
f41b79688f Avoid casting by accepting all Playfields but throwing on a bad choice 2022-10-11 16:54:41 +09:00
ekrctb
6ab29a62d0 Anchor drag box on time (catch, mania)
Not done for taiko because I cannot figure out how it should work with the overlapping scroll algorithm.
2022-10-11 14:23:17 +09:00
Dan Balasescu
bce20e0a59 Merge branch 'master' into adjust-flashlight 2022-10-07 14:45:30 +09:00
Dan Balasescu
c6b5fdc7d0 Adjust catch flashlight to closely match classic 2022-10-07 14:34:48 +09:00
Dean Herbert
994db55b6d Simplify check conditionals 2022-10-07 02:22:13 +09:00
NullifiedJosh
c73195fa77
Merge branch 'ppy:master' into catch-hide-in-relax 2022-10-06 18:52:59 +08:00
NullifiedJosh
6543171169
Fix formating. 2022-10-06 18:30:49 +08:00
NullifiedJosh
0f6a6287f2
Fix bugs and add test 2022-10-06 18:17:33 +08:00
ekrctb
9247ff3e0a Allow changing scrolling speed in catch editor
Scroll speed is not saved and doesn't affect gameplay.
It is purely a feature for a better visualization.
It is currently bind to scroll speed increase/decrease.
Default F3/F4 crashes with editor shortcuts so it has to be changed.
2022-10-06 18:06:16 +09:00
ekrctb
e8cd9a5d11 Allow arbitrary height catch editor
Useful because can see more notes at once.
2022-10-06 17:26:03 +09:00
o-dasher
f3e25eacad Removes unnecessary setting sources specifications 2022-09-27 09:25:58 -04:00
o-dasher
578f1e1e6c Fixes SizeMultiplier binding 2022-09-25 16:28:03 -04:00
o-dasher
537796c3a1 Cleanup mod bindings 2022-09-25 15:49:22 -04:00
NullifiedJosh
0e38ff07c7
Check if relax is one of the mods, if so hide. 2022-09-23 20:19:56 +08:00
Drison64
86a09ad2cf Rename ClampToPlayField 2022-09-21 17:14:02 +02:00
Ondřej Vajďák
cc21e42e35
Merge branch 'master' into fix-catch-clamp 2022-09-21 11:35:58 +02:00
Drison64
a4fae37013 Fixed tests failing 2022-09-20 19:45:39 +02:00
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
Dean Herbert
d0b8409de5 Apply more renames 2022-09-18 18:19:00 +09:00
Dean Herbert
c7f8f948b9 Rename CreateLegacySkinProvider to CreateSkinTransformer and apply to all skins 2022-09-15 20:18:10 +09:00
cdwcgt
857e943b8d
hide catchcombo when Hud hide 2022-09-12 19:14:08 +09:00
andy840119
3d7367a842 Move the CreateConvertibleReplayFrame() into the base ruleset class for avoid api breaking change in the customized ruleset. 2022-09-10 11:07:23 +08:00
andy840119
e62999fb16 Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
# Conflicts:
#	osu.Game.Rulesets.Catch/CatchRuleset.cs
#	osu.Game.Rulesets.Osu/OsuRuleset.cs
#	osu.Game.Rulesets.Taiko/TaikoRuleset.cs
#	osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
Dean Herbert
8cfeaa28a0
Merge pull request #19774 from josh-codes/master
Add basic touch support for osu!catch
2022-09-09 17:15:46 +09:00
Dean Herbert
bffc9555bf Adjust visuals slightly further (and remove double-gray application) 2022-09-09 16:12:54 +09:00
Dean Herbert
f3fc8af6ee Adjust visuals 2022-09-09 16:04:37 +09:00
Dean Herbert
64eaf461ac Simplify input handling even further 2022-09-09 16:04:37 +09:00
Dean Herbert
ba951b76f7 Unify and simplify input handling code 2022-09-09 15:28:40 +09:00
Dean Herbert
e6ba95ee16 Don't bother calculating active keys if input source was not handled 2022-09-09 15:22:12 +09:00
Dean Herbert
a42c1af09e Tidy up highlighting code and ensure read-only access to dictionary by highlight areas 2022-09-09 15:21:20 +09:00
Dean Herbert
715e9018da Tidy up code and naming 2022-09-09 15:11:26 +09:00
Dean Herbert
2709a4d398 Ensure overlay is always shown when movement is detected on mouse or keyboard 2022-09-09 15:04:25 +09:00
Josh
888d8b2817
Removed redudent code & converted use of OnDrag to OnMouseMove` 2022-09-08 20:39:53 +08:00
Dean Herbert
b9afe6f4cf Tidy up code quality 2022-09-08 19:44:29 +09:00
Dean Herbert
4f22616860 Rename class to match osu! version 2022-09-08 19:44:24 +09:00
Josh
161c54df1c
Refactor UI and add drag support 2022-09-03 14:14:34 +08:00
Josh
40ff2d50dd
Refactor UI and add drag support 2022-09-03 02:31:58 +08:00
Josh
7168cb27c5
Merge branch 'master' into master 2022-09-03 00:52:58 +08:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dean Herbert
90b9c02ac6 Remove "internal" identifier as unnecessary 2022-08-29 14:01:15 +09:00
Dean Herbert
f5710d8000 Add ruleset API versioning 2022-08-22 16:35:08 +09:00
Josh
be7367b90e Invert the dash and normal hits. 2022-08-15 17:52:26 +08:00
Josh
ff497c452f Fix formatting + Add tests + fix touch UI 2022-08-15 17:23:29 +08:00
naoei
45e9eda9e7 Localise hit result name 2022-08-14 14:57:02 -04:00
Josh
09e45f39b2 Add the touchinputfield file because it was untracked 2022-08-13 19:55:47 +08:00
Josh
757d236e14 Add the UI file 2022-08-13 18:55:31 +08:00
Josh
fa2ebe1d5f add basic touch functionality 2022-08-13 18:02:29 +08:00
naoei
3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
andy840119
1fe7e4d19a Use non-nullable instead in the catch ruleset. 2022-08-02 00:45:47 +08:00
Nitrous
9088caa377
move LegacyComboCounter to osu.Game.Skinning 2022-07-28 08:36:26 +08:00
andy
88db835e76
Merge branch 'master' into remove-nullable-disable-in-the-mods-for-catch-ruleset 2022-07-26 15:37:30 +08:00
andy840119
9c2f6103c5 Following the suggestion to mark the property as nullable. 2022-07-21 19:30:04 +08:00
Dean Herbert
aca19a005e Add versioning to difficulty calculators 2022-07-21 18:15:25 +09:00
為什麼
91bc7b9381 Mark the class as non-nullable.
Not the safe way but got no better idea.
2022-07-20 20:24:51 +08:00
andy840119
53e61c5041 Remove the nullable annotation in the catch ruleset. 2022-07-20 20:24:51 +08:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03: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 HitObjects to be lazily initialised 2022-07-19 05:39:10 +03:00
Salman Ahmed
32ba58109b Remove score multiplier on difficulty-increasing mods with customised settings 2022-07-18 07:29:03 +03:00
為什麼
1725a76fa0 Remove the nullable disable annotation for all rulesets. 2022-07-10 10:15:27 +08:00
為什麼
857377e145 Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
Dean Herbert
c95eb2d2c1 Fix incorrect case in CatcherArea parameter 2022-07-06 14:28:50 +09:00
andy840119
19721a9bbb Remove the nullable disable annotation and fix the breaking api. 2022-07-02 13:33:05 +08:00
Dan Balasescu
0fd2c010e5 Remove NRT disables from attributes classes 2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8 Add IBeatmapOnlineInfo parameter and use to extract more data 2022-06-27 16:07:15 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
6d2a2ba7d6 Rename Position -> Index 2022-06-09 18:49:11 +09:00
apollo-dw
66a6467403 Pass object position to the object 2022-05-26 19:26:14 +01:00
apollo-dw
30b9e0e7ab Use object list size for object position 2022-05-24 16:30:25 +01:00
Gabe Livengood
252bacc8d4 revert more testing leftovers... 2022-05-24 10:56:31 -04:00
Gabe Livengood
dde0756bed add accuracy challenge mod 2022-05-24 10:23:44 -04:00
apollo-dw
26985ca8af Store hitobject history in the hitobject 2022-05-22 16:26:22 +01:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
c0abce918f Add enum to snap method as alternative to mutliple nested invocations 2022-05-12 16:19:07 +09:00
Dean Herbert
c7e9bd7751
Merge branch 'master' into catch-editor-per-object-sv 2022-05-09 19:18:01 +09:00
Dan Balasescu
45c6f5edef
Merge pull request #18158 from ekrctb/fix-banana-shower-placement-negative-duration
Fix duration is negative while placing banana shower in catch editor
2022-05-09 11:26:06 +09:00
ekrctb
158f134260 Fix duration is negative while placing banana shower in catch editor.
Timeline blueprint is glitched when the hit object has negative duration.
Negative duration is unwanted anyways so placement implementation is fixed instead of supporting it in timline blueprint.
2022-05-09 00:01:05 +09:00
ekrctb
483a611c41 Fix BeginPlacement location. 2022-05-08 23:10:51 +09:00
ekrctb
7daa3d8eb7 Remove now-redundant velocity calculation
Velocity is computed from the up-to-date SV now.
2022-05-08 22:36:33 +09:00
ekrctb
37c9aac49f Make ScrollingPath use time instead of distance.
This is consistent as other components now use time instead of distance.
2022-05-08 22:36:33 +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
0e98bb28bd Fix wrong resampling times are used for juice stream path 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
ekrctb
125628dd20 Fix hit object not shown in timline while placement is waiting 2022-05-08 15:52:14 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Dean Herbert
93db6c6bb0 Move FastRandom to LegacyRandom in osu.Game project 2022-04-28 17:47:32 +09:00
Salman Ahmed
b6d2ca7709 Clarify TODO comment 2022-04-28 10:57:14 +03:00
Salman Ahmed
bfc6bfc91b Let CatchHitObjectComposer inherit from DistancedHitObjectComposer and hide control 2022-04-28 06:44:50 +03:00
Salman Ahmed
8ed39009fd Encapsulate distance spacing control handling to a "distance toolbox composite"
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
4f8f27a58b Merge branch 'master' into osu-distance-spacing 2022-04-24 05:23:30 +03:00
Salman Ahmed
61078910a6 Handle all skin component types explicitly 2022-04-23 03:34:05 +03:00
Dean Herbert
0cac935939 Shorten class name of ModCreatedReplayUser 2022-03-31 11:34:23 +09:00
Dean Herbert
4b2c01a8c1 Bring all mod implementations up-to-date 2022-03-29 16:59:03 +09:00
Dean Herbert
d2d88015e3 Update all cinema/autoplay mods to specify the system user ID 2022-03-28 22:22:56 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dan Balasescu
523f668c8c Remove unnecessary ctor argument 2022-03-15 12:37:39 +09:00
Dan Balasescu
daac933498 Remove unnecessary ctor arguments 2022-03-15 12:34:58 +09:00
Dan Balasescu
59d57a44d4 Prevent incorrect usages by hard-typing ctor type 2022-03-15 09:11:59 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Dan Balasescu
c36badab4b Add per-ruleset score multipliers for classic scoring 2022-03-10 10:26:09 +09:00
Dan Balasescu
84e82ef5e4 Add XMLDocs to difficulty attribute properties 2022-02-16 14:09:19 +09:00
Salman Ahmed
19ee05c232 Add "distance spacing" multiplier for osu! ruleset
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits 2022-02-02 20:41:25 +01:00
Bartłomiej Dach
e042f29ee3
Remove skin ctor param from LegacyCatchComboCounter
No longer used since 004798d61d.
2022-02-01 21:49:52 +01:00
Dan Balasescu
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
Bartłomiej Dach
2375420d4c
Tweak allowable ranges of size multiplier 2022-01-24 21:32:31 +01:00
Bartłomiej Dach
a227af75ed
Simplify flashlight parameter passing flow 2022-01-24 21:03:02 +01:00
Bartłomiej Dach
5874475dff
Extract DefaultFlashlightSize to base flashlight class 2022-01-24 21:03:02 +01:00
Bartłomiej Dach
a7c0d507ce
Rename flashlight settings to be more accurate 2022-01-24 21:03:02 +01:00
mk-56
948867898c ModeMultiplier rename 2022-01-24 11:38:52 +01:00
mk-56
161a2a321e Remove bindable from ModeMultiplier 2022-01-24 09:07:07 +01:00
mk-56
ed84ae0ac0 Adjust values to Bdach's refined taste 2022-01-24 00:42:43 +01:00
mk-56
955bab926f Separate the settings for each modes radiuses 2022-01-22 19:38:56 +01:00
mk-56
57cc2f7893 Adjustment to size values of FL per mode 2022-01-16 14:26:26 +01:00
mk-56
ee4331dda4 Merge remote-tracking branch 'origin/Liswiera-FL-changes' into Liswiera-FL-changes 2022-01-15 21:44:03 +01:00
mk-56
2a59735525 Initial commit 2022-01-15 21:43:28 +01:00
Dean Herbert
5c0494f3ba Remove unnecessary precondition check and disallow vertical catch flips for now 2022-01-06 14:39:29 +09:00
Dean Herbert
6779503e57 Refactor logic to avoid TimelineSelectionHandler having to block base calls 2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b Add global flip hotkeys 2022-01-05 16:48:07 +09:00
Joseph Madamba
0bd928b5cd Fix incorrect naming / apply review 2021-12-27 21:44:19 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
StanR
40b3ce0ade Clean up comments 2021-12-21 14:03:24 +03:00
StanR
cca02a8016 Create PerformanceAttributes 2021-12-21 13:08:31 +03:00
StanR
2f2006715e Slightly refactor difficulty and pp calculators 2021-12-17 23:40:23 +03:00
Dan Balasescu
8a81392d2b Fix use of incorrect variable, add test 2021-12-16 19:26:36 +09:00
Dan Balasescu
5ea081e899 Test hyperdash generation in catch conversion tests 2021-12-16 19:04:42 +09:00
Dean Herbert
9f688f6291 Stop persisting Skills in DifficultyAttributes 2021-11-21 12:15:32 +09:00
Dan Balasescu
33294ffda6
Merge branch 'master' into fix-plate-clearing-missing-last-banana 2021-11-19 11:42:57 +09:00
Darius Wattimena
38edeac710 Moved the logic to the bottom as placeCaughtObject is otherwise not called yet 2021-11-18 20:24:40 +01:00
Darius Wattimena
95891bc655 Moved clear plate logic to Catcher class 2021-11-18 20:03:41 +01:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers 2021-11-17 20:49:31 +09:00
Dan Balasescu
815179f713 Use consts for attribute IDs 2021-11-17 20:31:18 +09:00
Dean Herbert
369b4ba789 Update DifficultyCalculator to take an IRulesetInfo 2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca Update DifficultyCalculator to take an IWorkingBeatmap 2021-11-15 19:16:48 +09:00
Dan Balasescu
c8a01c35f7 Remove extra members from FromDatabaseAttributes 2021-11-15 18:11:07 +09:00
Dan Balasescu
0cfd6fdf04 Add to/from database mapping functions to difficulty attributes 2021-11-15 16:06:50 +09:00
Dan Balasescu
907499f73a Add json properties to difficulty attributes 2021-11-15 16:06:29 +09:00
Darius Wattimena
2c4f1817d3 Fixed an issue where banana showers don't clear the plate when missing the last banana 2021-11-14 20:43:31 +01:00
ekrctb
dca2cd6c44
Merge branch 'master' into catch-spinner-checks 2021-11-11 11:32:58 +09:00
Darius Wattimena
d370f64ac3 Changed finding the spinner gaps via a dictionary instead of getting the thresholds via an array 2021-11-10 19:58:36 +01:00
ekrctb
116b857cea
Merge branch 'master' into no-scope-catch 2021-11-10 20:50:31 +09:00
Bartłomiej Dach
6d04823b05
Remove unnecessary virtual specs 2021-11-10 12:00:36 +01:00
Semyon Rozhkov
577bdade5b Hide catcher during banana shower 2021-11-10 04:10:05 +03:00
Semyon Rozhkov
41f4f0ab5e Different setting slider description in each mod 2021-11-10 03:57:22 +03:00
Semyon Rozhkov
ce0eb0b26f Using IUpdatableByPlayfield 2021-11-10 03:53:30 +03:00
Darius Wattimena
bd5caceeb1 Fixed typo in banana shower gap check message 2021-11-10 00:23:14 +01:00
Darius Wattimena
5d8f35f3c9 Code cleanup and added tests for the spinner check 2021-11-10 00:16:29 +01:00
Darius Wattimena
fbfed16756 Started on implementing a spinner gap check for catch 2021-11-09 23:05:25 +01:00
Semyon Rozhkov
64bc8da14c Add "No Scope" mod implementation for Catch 2021-11-09 17:11:19 +03:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Dean Herbert
9b705460db Remove trailing exclamation marks from autoplay character names
As mentioned in
https://github.com/ppy/osu/discussions/15401#discussioncomment-1573839.
2021-11-02 14:53:58 +09: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
Dan Balasescu
cab254dc81
Merge branch 'master' into var-inspections-update 2021-10-27 14:02:49 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
ekrctb
393d118eef Fix compilation failure overlooked in merge 2021-10-26 20:20:43 +09:00
ekrctb
e5050b90a5 Don't assume catcher dash speed is 2x the walk speed 2021-10-26 20:09:48 +09:00
ekrctb
de7a908be2 Cut distance snap lines at playfield border in catch editor 2021-10-26 14:51:52 +09:00
ekrctb
c5d765029c Don't compute source object for distance snap grid when it is not enabled 2021-10-26 11:17:04 +09:00
ekrctb
b7a719de71 Rename method 2021-10-26 11:14:12 +09:00
ekrctb
068217557e Add doc comment on catch distance snap grid 2021-10-26 11:12:10 +09:00
ekrctb
9f49a1df8b Handle the case of cursor below the start time of distance snap 2021-10-26 11:00:55 +09:00
ekrctb
865be5a10b Fix distance snap grid rendering inverted when out of bounds 2021-10-26 11:00:44 +09:00
ekrctb
2c92f1a0b7 Use array for fixed-size list 2021-10-26 10:41:17 +09:00
ekrctb
6d1cd0a3a1 Add distance snapping to catch editor 2021-10-25 16:37:44 +09:00
ekrctb
60df0151c0 Add very basic distance snap grid for catch editor 2021-10-25 15:25:59 +09: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
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