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 HitObject
s 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 Skill
s 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 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
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
ekrctb
fbe44dac34
Add empty catch hit object composer
2021-06-22 17:20:13 +09:00
Dean Herbert
1b0aadcc6f
Merge branch 'master' into transformers-per-skin
2021-06-22 16:03:15 +09:00
ekrctb
b54e82eb99
Remove unused argument from CatchPlayfield
2021-06-22 15:23:50 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
ekrctb
b087c95581
Use a frozen clock for catcher trails
2021-06-16 16:17:32 +09:00
ekrctb
1632450918
Add comments
2021-06-16 16:17:32 +09:00
ekrctb
73e443a0d9
Add comments
2021-06-16 14:01:12 +09:00
ekrctb
df16d4bacc
Remove CurrentTexture
from catcher
2021-06-14 20:26:33 +09:00
ekrctb
38a56d64d3
Rename CatcherTrailSprite
-> CatcherTrail
2021-06-14 19:47:18 +09:00
ekrctb
c094914023
Simplify catcher trail creation
2021-06-14 19:46:48 +09:00
ekrctb
9b6ab4360e
Use common skinnable catcher in catcher trails
2021-06-14 19:45:58 +09:00
ekrctb
ca061c4b93
Factor out SkinnableDrawable
component of the catcher to SkinnableCatcher
2021-06-14 19:41:51 +09:00
Salman Ahmed
fbb856d84b
Call base
when overriding lookup methods
...
Rather than arbitrarily accessing `Skin` here and there.
2021-06-11 12:44:44 +03:00
ekrctb
7f7c2c73e0
Move catcher movement logic of Catcher
to CatcherArea
2021-06-11 15:39:06 +09:00
Salman Ahmed
26cdcc8d78
Remove stale access to Source
from master merge
2021-06-10 13:07:32 +03:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Salman Ahmed
dde84e5cbd
Merge branch 'master' into transformers-per-skin
2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display
2021-06-10 17:09:46 +09:00
Dean Herbert
05b46b4743
Merge pull request #13379 from ekrctb/catcher-sprite
...
Refactor osu!catch catcher sprite to factor out skinning logic
2021-06-10 16:52:17 +09:00
Dean Herbert
865c5c0676
Use [Resolved]
to simplify bindable resolution
2021-06-10 15:47:03 +09:00
Dean Herbert
6995945360
Use With
to simplify drawable construction
2021-06-10 15:45:49 +09:00
Salman Ahmed
cf40282f1f
Convert LegacySkinTransformer
s to accept raw ISkin
s rather than a full ISkinSource
2021-06-09 22:49:31 +03:00
ekrctb
e5deecf459
Check skin version for legacy catcher sprite
2021-06-09 15:47:23 +09:00
Dean Herbert
85abee5fc7
Remove difficulty calculator exceptions
...
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
ekrctb
7df971a970
ICatcherPiece
-> ICatcherSprite
2021-06-08 22:10:13 +09:00
ekrctb
194c78f67a
Make current state bindable protected
2021-06-08 22:08:54 +09:00
ekrctb
109a366722
Use separate classes for old and new catcher legacy skin element
...
- Fix catcher texture animation is reset for legacy old catcher skin
2021-06-08 21:59:09 +09:00
ekrctb
0192549d6c
Refactor catcher sprite to use skinned piece pattern
2021-06-08 21:29:41 +09:00
Samuel Cattini-Schultz
f1bef989b7
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-08 19:43:59 +10:00
ekrctb
6e28c1b29a
Move default catcher sprite to its own file
2021-06-08 17:54:57 +09:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup
2021-06-08 17:37:36 +09:00
Dean Herbert
e388a896e8
Don't apply visibility increase to first object in osu!catch
...
The goal of the visibility increase is to help in cases where timing is
an issue (by showing the approach circle etc.). This doesn't need to
apply to catch.
@smoogipoo interested as to whether you agree with this one. Visually it
looks better to me but it does change the behaviour for only osu!catch,
so I'm not 100% confident on it.
Closes #13367 .
2021-06-08 16:02:26 +09:00
Bartłomiej Dach
122a624b7f
Remove bogus CatchHitWindows
...
`CatchHitWindows` were a vestige from the past, and were not actually
used anywhere except for the hit error meter test, giving off an
appearance that the hit error meter was working properly.
`CatchHitObject` actually specifies empty hit windows.
2021-06-07 13:16:07 +02:00
Dean Herbert
1b93234c76
Merge branch 'master' into fruit-representation
2021-06-07 16:05:00 +09:00
ekrctb
bb02c35f2d
Move all osu!catch legacy skin piece files to the correct location
2021-06-07 15:10:47 +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
Dean Herbert
d26c9a66c2
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-06-07 12:01:19 +09:00
ekrctb
8e20f90ed5
Use seeded RNG for catch explosion animation
...
The animation is always the same when a replay is rewound or a beatmap is played multiple times.
2021-06-04 19:54:46 +09:00
ekrctb
181f1da3d3
Maintain catch hit explosion by lifetime entries
...
- Fix hit explosion not showing when a replay is rewound to a time after a hit object is caught
2021-06-04 19:46:50 +09:00