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

4972 Commits

Author SHA1 Message Date
Dan Balasescu
a3d9a4d723
Merge pull request #20160 from apollo-dw/od
Retrieve great hit window from the hit object in osu! difficulty calculation
2022-09-15 20:38:35 +09:00
Dean Herbert
c7f8f948b9 Rename CreateLegacySkinProvider to CreateSkinTransformer and apply to all skins 2022-09-15 20:18:10 +09:00
Dean Herbert
4af76b9f48 Apply the same change to HandleFlip 2022-09-15 19:55:18 +09:00
Dean Herbert
c203a030c1
Update osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointPiece.cs
Co-authored-by: apollo <83023433+apollo-dw@users.noreply.github.com>
2022-09-15 04:28:07 +09:00
Dean Herbert
87384db872 Fix slider rotation causing thousands of new drawables to be created 2022-09-15 00:51:08 +09:00
StanR
1801ae3c6a Move flashlight TD difficulty reduction to diffcalc 2022-09-14 17:40:22 +03:00
Dan Balasescu
4004d57448
Merge branch 'master' into move-td-reduction 2022-09-13 16:12:26 +09:00
Dan Balasescu
7f291552c7
Merge pull request #20258 from peppy/fix-slider-leak-editor
Fix bindable event binds to `HitObject` directly
2022-09-12 19:47:10 +09:00
Dean Herbert
89e128c0f3 Fix bindable event binds to HitObject directly 2022-09-12 17:35:56 +09:00
Mk-56spn
d2ac25870b Merge remote-tracking branch 'origin/Freeze_frame_implementation' into Freeze_frame_implementation 2022-09-10 14:08:38 +02:00
Mk-56spn
23d435bc42 name changes 2022-09-10 14:08:04 +02: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
2f91b5c846 Add missing import. 2022-09-10 10:46:10 +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
MK56
33a435e2ef
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-10 00:54:46 +02:00
StanR
6338b87c63 attributes 2022-09-09 17:31:52 +03:00
StanR
c2e3fcfa3f Merge branch 'master' into move-td-reduction 2022-09-09 17:24:58 +03:00
Dean Herbert
31cd7cdca0 Refactor IsHitObjectOnBeat to be understandable 2022-09-09 18:00:51 +09:00
Dean Herbert
a2f96ea120 Make random implicitly null to avoid potential incorrect behaviour in randomBool 2022-09-09 17:55:54 +09:00
Dean Herbert
5defb8b471
Merge branch 'master' into enhance-randomisation 2022-09-09 17:53:13 +09:00
Mk-56spn
e416c87970 readded approach circles 2022-09-08 15:17:22 +02:00
Mk-56spn
4a6c8785af Clean up 2022-09-08 11:14:56 +02:00
Mk-56spn
7f08de522d Fixed 2022-09-08 01:21:03 +02:00
MK56
e250885204
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-08 00:10:44 +02:00
Mk-56spn
5a1b2f9a77 Freeze frame testing 2022-09-08 00:05:48 +02:00
apollo-dw
1997519364 Don't use full hit window in rhythm 2022-09-07 13:25:35 +01:00
Dean Herbert
6a03b4e0de
Merge branch 'master' into true-gameplay-rate 2022-09-07 20:01:03 +09:00
Dean Herbert
b5b66de3c9 Fix target mod crashing if beatmap is played with a break after all hitobjects
Closes https://github.com/ppy/osu/issues/20161.
2022-09-07 17:46:51 +09:00
apollo-dw
b5779508d0 Retrieve great hit window from the hit object 2022-09-06 17:10:32 +01:00
Dean Herbert
bc1212f4e6 Change NonGameplayAdjustments to GameplayAdjustments and convert TrueGameplayRate to extension method 2022-09-06 22:26:46 +09:00
Dean Herbert
f1d9b225a7
Remove probably pointless comment 2022-09-05 16:40:10 +09:00
Dean Herbert
8af8adf22d Fix incorrect slider length in timeline when non-default velocity is inherited from previous object 2022-09-05 16:17:26 +09:00
Salman Ahmed
ff4a051c05
Merge branch 'master' into remove-dispose-updates 2022-09-03 16:14:50 +03:00
Dan Balasescu
9645bfe708 Bump difficulty calculator versions 2022-09-02 16:27:25 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Bartłomiej Dach
cd72f087b3
Merge branch 'master' into fix-merge-crash 2022-08-31 21:25:53 +02:00
Dean Herbert
6af8143c8c Fix typing of new setting to allow it to be visible to tools export 2022-08-31 22:34:07 +09:00
Dan Balasescu
8c202ce141
Merge pull request #20033 from apollo-dw/speed-notes-fix
Fix relevant note count summation in osu!'s Speed skill
2022-08-31 19:15:40 +09:00
Dan Balasescu
837b19ab24
Merge pull request #19919 from khang06/nan-sv
Emulate osu!stable's NaN slider velocity behavior
2022-08-31 19:06:49 +09:00
Dean Herbert
a15ea71aed
Merge branch 'master' into fix-merge-crash 2022-08-31 13:28:57 +09:00
apollo-dw
ad650adab0 Fix speed note count sum 2022-08-30 18:03:44 +01:00
Dean Herbert
706ac3e44f
Merge pull request #19982 from OliBomby/fix-illegal-merge
Fixed 0 length merge being allowed
2022-08-30 12:28:18 +09:00
OliBomby
44916c51d7 Updated canMerge check to be totally accurate 2022-08-30 00:18:55 +02:00
Dean Herbert
2e5770be4e Move helper method to bottom of class 2022-08-30 02:51:42 +09:00
OliBomby
d50e9caa11 Moved guards to separate canMerge method 2022-08-29 18:58:29 +02:00
OliBomby
a296c1ec81 remove call to changeHandler BeginChange 2022-08-29 16:05:35 +02:00
Dan Balasescu
e34c8e4975
Merge pull request #19716 from MBmasher/fl-grid
Nerf repeated angles in Flashlight skill
2022-08-29 21:15:45 +09:00
Dan Balasescu
e3e204001e
Merge pull request #19907 from peppy/ruleset-api-versioning
Add ruleset API versioning
2022-08-29 18:50:01 +09:00
Dean Herbert
780121eeee Add setting to toggle metronome in "Target" mod
As mentioned in https://github.com/ppy/osu/discussions/20006#discussioncomment-3496732.
2022-08-29 17:12:10 +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
OliBomby
ff2eac79d1 fix same time merge causing crash 2022-08-27 17:43:32 +02:00
OliBomby
16e0ec2f88 Fixed 0 length merge being allowed 2022-08-27 13:53:50 +02:00
MBmasher
b082dc1fe4 Slightly buff flashlight multiplier 2022-08-27 18:31:07 +10:00
Dean Herbert
69cbc0125b
Merge pull request #19964 from nanashi-1/merge-hitobject-hitsound-fix
Fix hitobjects merge feature in editor not adding any hitsounds
2022-08-26 20:05:02 +09:00
MBmasher
454d868dd5 Remove unnecessary using call 2022-08-26 20:42:02 +10:00
MBmasher
249c3f868f Compare raw angle values instead of rounding angles 2022-08-26 20:40:18 +10:00
MBmasher
5082ee26cf Ensure a negative value cannot be added to angleRepeatCount 2022-08-26 20:30:14 +10:00
MBmasher
08cb70b093 Lessen repeated angle nerf for objects further back in time 2022-08-26 20:27:31 +10:00
Dean Herbert
03dcfed384
Merge branch 'master' into slider-splitter 2022-08-26 19:10:33 +09:00
Dean Herbert
47cb163015 Refactor splitting logic and comments slightly 2022-08-26 19:09:03 +09:00
Dean Herbert
f54047d17b Move selection clearing to top 2022-08-26 18:55:20 +09:00
MBmasher
d8854413cb Add newline 2022-08-26 12:38:36 +10:00
MBmasher
6651e76e2e Remove whitespace 2022-08-26 12:37:56 +10:00
MBmasher
b0e7f63361 Update angle multiplier to nerf repeated angles 2022-08-26 12:34:33 +10:00
nanashi
4fc96f0389
Merge branch 'ppy:master' into merge-hitobject-hitsound-fix 2022-08-25 19:34:05 +08:00
nanashi-1
2d2bfac5e9 used firstHitObject.Samples as samples for mergedHitObject 2022-08-25 17:49:38 +08:00
Dean Herbert
3ca4bdc087 Add ToArray() calls to removal iteration for safety 2022-08-25 15:13:38 +09:00
Dean Herbert
091c51e664 Fix SliderPath.Version bindings not being correctly cleaned up on path changes 2022-08-25 15:00:32 +09:00
o-dasher
4de6df71c5 No "gameplayClock" usage with playfield update mods 2022-08-24 20:59:32 -04:00
Khang
9c6968e96d Remove unused import in Slider 2022-08-24 02:54:40 -04:00
OliBomby
631ea9a3ed added a gap between objects and made it theoretically possible to retain sample control point 2022-08-23 23:29:59 +02:00
OliBomby
1f9cdff013 remove these lines 2022-08-23 22:19:40 +02:00
Khang
ec9daec93b Remove unnecessary workaround 2022-08-23 14:18:40 -04:00
Khang
c1ced85b5e Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now) 2022-08-23 14:07:18 -04:00
Khang
a81672f3dc Use an infinite tick distance instead of directly disabling tick generation for SliderEventGenerator 2022-08-22 23:31:24 -04:00
Khang
9f08c474ca Treat NaN slider velocity timing points as 1.0x but without slider ticks 2022-08-22 21:58:38 -04:00
Dean Herbert
f5710d8000 Add ruleset API versioning 2022-08-22 16:35:08 +09:00
naoei
29ef1c8db8 Check if StatisticItem.Name is null or empty 2022-08-20 21:48:53 -04:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Dean Herbert
885ea4270b Reorder context menu items and tidy up surrounding code 2022-08-20 14:03:54 +09:00
Dean Herbert
36e202c70e Add inline comment explaining necessity to use AddRange for slider transform operations 2022-08-20 11:38:43 +09:00
OliBomby
65f7ecec83 moving all controlpoints at once for slider 2022-08-20 00:26:04 +02:00
OliBomby
d1519343f6 Improved visual tests for slider splitting 2022-08-19 18:29:01 +02:00
MK56
91742859f1
Merge branch 'ppy:master' into blink_implementation 2022-08-19 16:55:27 +02:00
OliBomby
89eb0a4079 Added TestScene for slider splitting 2022-08-19 01:10:54 +02:00
Mk-56spn
7add3a6950 ar var test 2022-08-18 19:00:54 +02:00
OliBomby
cb6339a20b added slider splitting option 2022-08-18 01:29:03 +02:00
Dan Balasescu
237637f0c4
Merge pull request #19804 from stanriders/clamp-sb-estimation
Clamp effective miss count to maximum amount of possible breaks
2022-08-17 18:58:12 +09:00
Dean Herbert
615c5cf6ae
Merge branch 'master' into slider-merger 2022-08-17 13:36:15 +09:00
Dean Herbert
0ff5547b83 Make changeHandler optional in convertToStream method to match new implementation 2022-08-17 13:35:44 +09:00
StanR
43e471c2a5 Clamp effective miss count to maximum amount of possible braks 2022-08-16 16:12:13 +03:00
Dean Herbert
ee153a345c Add a few more overlooked beatmap save states on setup screen modifications 2022-08-16 16:31:56 +09:00
Dean Herbert
0833a6fb9a Avoid multiple iteration of LINQ query using a local 2022-08-16 15:39:23 +09:00
Dean Herbert
7cc9fdbaa0 Simplify context menu check by using existing mergeable object list 2022-08-16 15:39:23 +09:00
Dean Herbert
ecb9351bab Remove unnecessary null pre-checks 2022-08-16 15:36:43 +09:00
Dean Herbert
e636fcd9b8 Use DI'd components from parent class rather than fetching locally 2022-08-16 15:35:32 +09:00
OliBomby
3abc333813 added hotkey for merging selection 2022-08-15 17:18:55 +02:00
Dean Herbert
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization 2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7 Localise hit result name 2022-08-14 14:57:02 -04:00
naoei
18ce784ae0 Allow StatisticItem's name param to be nullable 2022-08-14 14:51:35 -04:00
Pasi4K5
5106c00a9c Improve code quality 2022-08-14 19:02:29 +02:00
Pasi4K5
7a41b9f25a Adjust angle and sectionOffset calculations 2022-08-13 03:11:58 +02:00
Pasi4K5
8c624d3269 Add comments and improve code readability 2022-08-13 00:57:49 +02:00
Pasi4K5
78fe72476d Adjust parameters 2022-08-13 00:01:40 +02:00
Dean Herbert
e5e9841652 Apply multiple other mod debuffs as decided in pull request discussion 2022-08-12 18:58:09 +09:00
MBmasher
21c5fed45f Adjust capitalisation 2022-08-12 14:09:16 +10:00
MBmasher
f70588a423 Add newline before brace 2022-08-12 14:08:32 +10:00
MBmasher
037f56077b Apply Flashlight grid nerf 2022-08-12 13:29:04 +10:00
OliBomby
3525dfb0f1 added merging feature 2022-08-12 01:17:33 +02:00
Dan Balasescu
61a3758cd9 Merge branch 'master' into pp-balancing 2022-08-11 19:46:16 +09:00
naoei
a42b8092af Change message type osu resume overlay 2022-08-10 16:09:58 -04:00
naoei
3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
Dan Balasescu
7cac089246
Merge branch 'master' into fl-slider 2022-08-10 21:19:05 +09:00
Pascal Pomper
f98ee3ff24
Merge branch 'ppy:master' into enhance-randomisation 2022-08-10 12:22:39 +02:00
Dean Herbert
e1189da824 Merge branch 'master' into irenderer-glwrapper 2022-08-08 12:31:53 +09:00
Dan Balasescu
6afff72865 Fix CI inspections / refactor to single enumeration 2022-08-05 20:54:10 +09:00
Dan Balasescu
802dc90cb1 Adjust using directives for vertices 2022-08-05 20:37:33 +09:00
Dean Herbert
a682a823f4 Fix test failures where Beatmap is not provided 2022-08-05 18:20:37 +09:00
Dean Herbert
9a4d0494de Adjust various pooling defaults to better handle more intense beatmaps 2022-08-05 18:09:07 +09:00
Dean Herbert
8ae5429602 Adjust slider pooling based on beatmap
Handles edge cases like mentioned in https://github.com/ppy/osu/issues/19585.
2022-08-05 18:08:05 +09:00
Dan Balasescu
2c6c315e3a
Merge branch 'master' into pp-balancing 2022-08-04 15:40:46 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
a2a913ab52 Merge branch 'irenderer-batches' into irenderer-textures 2022-08-02 19:25:08 +09:00
Dean Herbert
a5fac70c3b Rename variable to not include mode name itself 2022-08-01 23:30:00 +09:00
Dean Herbert
d09976bb39 Merge branch 'master' into Wiggle-strength-duration 2022-08-01 23:29:03 +09:00
Dean Herbert
e0940c6c22 Update animations to final versions 2022-08-01 18:03:32 +09:00
Dean Herbert
0d9edcfa24
Merge branch 'master' into stable-slider-tick-anims 2022-08-01 17:40:16 +09:00
Dan Balasescu
415d6def2d Remove unnecessary AsNonNull() 2022-08-01 13:22:58 +09:00
andy840119
632577389d Mark the property as non-nullable. 2022-07-31 21:43:16 +08:00
Dan Balasescu
09979d44aa Apply DrawNode batching changes 2022-07-29 23:32:09 +09:00
Dan Balasescu
155dac55d0 Apply DrawNode parameter changes 2022-07-29 22:33:34 +09:00
Salman Ahmed
72961ec336 Flip method parameters to make sense
See 537f64c75e (r931785228)
2022-07-28 08:04:55 +03:00
andy840119
537f64c75e Make original hit objects and random properties as local variable. 2022-07-27 22:15:41 +08:00
Salman Ahmed
89644a652e Separate combined fields 2022-07-27 10:13:44 +03:00
Pasi4K5
da7d297d85 Adjust parameters 2022-07-26 19:07:25 +02:00
andy840119
0fe64d1e80 Remove unused namespace. 2022-07-27 01:05:50 +08:00
為什麼
9134525111 Mark the property as nullable and add some assert check. 2022-07-26 23:58:50 +08:00
為什麼
deb39bd330 Mark the property as nullable or non-nullable. 2022-07-26 23:52:08 +08:00
為什麼
e28584da89 Remove nullable disable annotation in the Osu ruleset. 2022-07-26 23:25:28 +08:00
Salman Ahmed
f68c4e8890 Fix code formatting 2022-07-25 06:36:26 +03:00
mk-56
16e655766e Addressed pertinent issues 2022-07-23 23:30:57 +02:00
MK56
2a3d3a0660
Merge branch 'ppy:master' into Wiggle-strength-duration 2022-07-23 22:58:21 +02:00
MBmasher
267d55a6a8 Remove osuSlider from statement 2022-07-23 14:48:39 +10:00
MBmasher
230943f698 Merge branch 'fl-slider' of https://github.com/mbmasher/osu into fl-slider 2022-07-23 14:40:54 +10:00
MBmasher
f44a5def90 Move repeat bonus to TravelDistance 2022-07-23 14:40:16 +10:00
Dan Balasescu
71912e10c4
Merge branch 'master' into fl-slider 2022-07-22 15:22:50 +09:00
Alden Wu
c2c2c505a4 Combine FollowCircle and TickFollowCircle classes 2022-07-21 19:46:46 -07:00
Dean Herbert
726042d9ec Use switch instead of or 2022-07-21 23:16:28 +09:00
Dean Herbert
aca19a005e Add versioning to difficulty calculators 2022-07-21 18:15:25 +09:00
Alden Wu
23fd514ca3 Use DrawableSliderTail instead of DrawableSlider 2022-07-20 18:07:02 -07:00
StanR
163c3f9c2d Adjust multipliers to account for speed changes 2022-07-20 16:10:34 +03:00
StanR
35e841de95 Move base performance multiplier to a const 2022-07-20 15:54:49 +03:00
StanR
9c9f32b435 Merge branch 'master' into pp-balancing 2022-07-20 15:40:29 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-20 08:57:43 +03:00
Dan Balasescu
ec789c2f71
Merge pull request #19128 from peppy/default-follow-circle-improvements
Adjust default follow circle animations to feel nicer
2022-07-20 14:57:03 +09:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03:00
Dean Herbert
06ae30a7d2 Fix slider velocity not using previous value if slider is not adjacent 2022-07-19 22:54:11 +09:00
Dan Balasescu
cfb2adfd27
Merge branch 'master' into velocitychanges 2022-07-19 19:57:47 +09:00
Alden Wu
5cb0920cfb Revert OnSliderTail() to OnSliderEnd()
In light of the comment added in the previous commit, slider tail
and end are not actually the same.
2022-07-19 02:27:04 -07:00
Alden Wu
e1f7db6e7d Fix around some comments 2022-07-19 02:25:14 -07:00
Alden Wu
d213f56f79 Align legacy followcircle anims to slider ticks 2022-07-19 02:08:53 -07:00
Dean Herbert
e346624b14 Fix animation changes incorrectly applying to successful completion of sliders 2022-07-19 15:51:02 +09:00
Dean Herbert
101d270615 Merge branch 'master' into default-follow-circle-improvements 2022-07-19 15:50:47 +09:00
Salman Ahmed
d8cce5fe36 Fix OsuHitObject not using property wrapper properly 2022-07-19 07:52:12 +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
StanR
633f6fe620 Increase global multiplier 2022-07-18 21:58:11 +03:00
MBmasher
42b9dc877d Divide slider bonus by repeat count 2022-07-18 16:14:06 +10:00
MBmasher
72c096f9af Update xmldoc 2022-07-18 15:59:20 +10:00
MBmasher
7c680afc3c Change initialisation of osuSlider 2022-07-18 15:59:00 +10:00
MBmasher
204fbde07b Remove debug code 2022-07-18 15:58:32 +10:00
MBmasher
8413c40442 Remove debug code 2022-07-18 15:58:09 +10:00
Salman Ahmed
32ba58109b Remove score multiplier on difficulty-increasing mods with customised settings 2022-07-18 07:29:03 +03:00
Salman Ahmed
0ac3391d54
Merge branch 'master' into cinema-repel-incompatible 2022-07-18 06:55:43 +03:00
tsunyoku
83429d2f22 make cinema incompatible with repel 2022-07-17 20:45:17 +01:00
tsunyoku
491558261f remove unnecessary type-specification 2022-07-17 20:44:06 +01:00
tsunyoku
e13c1254e5 make perfect incompatible with autopilot 2022-07-17 20:41:43 +01:00
StanR
de38b54c10 Merge branch 'master' into pp-balancing 2022-07-17 20:53:05 +03:00
MBmasher
68caafa210 Update xmldoc 2022-07-17 17:02:30 +10:00
MBmasher
dae698638c Add repeat bonus to Flashlight, move repeat multiplier to AimEvaluator 2022-07-17 16:56:05 +10:00
MBmasher
a950deb7db Re-implement slider changes to FlashlightEvaluator 2022-07-17 16:27:55 +10:00
Jamieson Berida
a0dd6cbab3
Merge branch 'master' into fl-slider 2022-07-17 16:18:18 +10:00
Dean Herbert
b93b6ba2ca Change "single tap" mod acronym to not conflict with "strict tracking" 2022-07-16 17:19:55 +09:00
Salman Ahmed
887f2721b0
Merge branch 'master' into default-follow-circle-improvements 2022-07-15 18:39:57 +03:00
Dean Herbert
775c6c8374 Fix potential crash in editor from transform time going below zero 2022-07-15 19:29:37 +09:00
Dean Herbert
afec7941ff Adjust default follow circle animations to feel nicer 2022-07-15 17:28:42 +09:00
Dean Herbert
23a0e25c8c Merge branch 'master' into stable-slider-followcircle-anims 2022-07-15 17:27:48 +09:00
Dean Herbert
7ed4eb5815 Adjust transform logic to match osu-stable (and add TODOs for remaining oversights) 2022-07-15 17:17:55 +09:00
Dean Herbert
0ade8db550 Tidy up nullability and casting 2022-07-15 16:40:48 +09:00
Alden Wu
1581f1a0ff Convert constructor in abstract class to protected 2022-07-14 17:11:01 -07:00
Alden Wu
4453b0b3e8 Replace comment pointer with actual comment 2022-07-14 17:11:01 -07:00
Alden Wu
66932f1af6 Move shared followcircle code into abstract base class 2022-07-14 17:11:01 -07:00
StanR
760742e358 Move relax global multiplier to diffcalc 2022-07-14 00:42:50 +03:00
Dean Herbert
e2f2d5f794 Rename last action to better represent that it is only captured actions 2022-07-14 01:40:44 +09:00
Dean Herbert
0bc42ef67d
Merge branch 'master' into stable-slider-followcircle-anims 2022-07-14 00:24:33 +09:00
James
4d9494d3b3 change LastPressedAction to have a private setter 2022-07-13 14:42:45 +01:00
James
af03002495 make flash duration and ruleset private 2022-07-13 14:31:09 +01:00
James
0da1bd393c privatise checkCorrectAction, add abstract CheckValidNewAction function 2022-07-13 14:29:27 +01:00
Dean Herbert
be3187c3a4 Remove remnant nullable disables 2022-07-13 22:05:56 +09:00
Dean Herbert
33dd9562cc Privatise some fields 2022-07-13 22:04:57 +09:00
Dean Herbert
5e6b9b96b0 Apply NRT to new InputBlockingMod class 2022-07-13 22:02:46 +09:00
tsunyoku
6755a771b4 make Cinema incompatible with InputBlockingMod 2022-07-13 07:49:08 +01:00
tsunyoku
e9b0a3e4fa make alternate and singletap incompatible with eachother 2022-07-13 07:35:53 +01:00
James
20d2b86193 make Single Tap incompatible with Autoplay, Cinema and Relax 2022-07-12 23:18:20 +01:00
James
c05263c3c3 add Single Tap mod 2022-07-12 23:15:18 +01:00
James
f90f93a43c abstract OsuModAlternate into InputBlockingMod 2022-07-12 23:15:18 +01:00
StanR
0983e4f81e Increase 50s nerf again 2022-07-12 17:57:00 +03:00
Gabe Livengood
b96734e31a
fix mod incompatibility between repel and relax 2022-07-12 08:43:48 -04:00
StanR
e58c365276 Merge branch 'master' into pp-balancing 2022-07-12 10:53:31 +03:00
Dan Balasescu
7ab75606a1
Merge branch 'master' into velocitychanges 2022-07-12 16:52:57 +09:00
StanR
58c687172b Reduce low AR bonus 2022-07-12 10:52:44 +03:00
Dean Herbert
fa626a82b3 Add missed incompatilibity rules 2022-07-12 15:19:06 +09:00
Gabe Livengood
28278e2554
enable NRT again 2022-07-11 17:27:25 -04:00
Gabe Livengood
54fe84350c
reciprocate mod incompatibility 2022-07-11 17:23:32 -04:00
Alden Wu
48911b956a Remove ClearTransformsAfter call
A bit weird only having one call on its own; probably deserves an
entire PR dedicated to adding ClearTransformsAfter calls
2022-07-10 17:07:21 -07:00
Gabe Livengood
6443338251
use cursor position instead of destination for dampLength calculation
the destination vector is clamped within playfield borders, we want dampLength to be based on distance from the cursor.
2022-07-10 01:22:22 -04: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
Gabe Livengood
a606d545c1
update new usage of CalculatePossibleMovementBounds 2022-07-08 12:00:07 -04:00
Dean Herbert
36f129a9b6
Merge branch 'master' into osu-mod-repel 2022-07-09 00:26:49 +09:00
Dean Herbert
8071335f3a
Merge pull request #18596 from hlysine/fix-random-mod-slider
Fix random mod generating off-screen sliders
2022-07-08 19:28:34 +09:00
goodtrailer
84dcd042f4 Protect duration calculations against unstable fps 2022-07-07 20:30:31 -07:00
Gabe Livengood
62beae4063
add nullable directive 2022-07-06 17:18:21 -04:00
Gabe Livengood
b3f23d93e8
Merge branch 'master' into osu-mod-repel 2022-07-06 17:05:09 -04:00
Gabe Livengood
d5b4d14670
modify damp length to effectively invert repulsion strength 2022-07-06 17:01:14 -04:00
Salman Ahmed
7f94405c9e Rename method and make duration optional 2022-07-06 23:38:11 +03:00
Gabe Livengood
40e98f84f3
change default strength back to 0.5 2022-07-06 16:01:08 -04:00
Gabe Livengood
0281bf672c
operate on vectors instead of vector components 2022-07-06 15:58:25 -04:00
goodtrailer
72fb1ae892 Add forgotten unsubscribes 2022-07-05 21:04:13 -07:00
goodtrailer
1e6def8209 Fix spinner accent animation on rewind 2022-07-04 22:58:41 -07:00
apollo-dw
5b96f67a8b Remove non-overlapping velocity buff 2022-07-04 20:49:26 +01:00
StanR
4f77637946 Update desmos 2022-07-04 21:52:57 +03:00
StanR
bf738aa04f Account for extreme ODs in relax multipliers 2022-07-04 21:49:45 +03:00
StanR
afa3f8cda3 Make relax ok/meh multipliers dependent on OD 2022-07-04 20:53:20 +03:00
StanR
11eb344476 Reduce 50s nerf further 2022-07-04 20:28:15 +03:00
StanR
db8bb07c78 Reduce 50s nerf effect 2022-07-04 20:10:26 +03:00
StanR
212360f67e Make relax ok/meh nerfs less drastic, add flashlight nerf, remove ar bonus for relax 2022-07-04 19:59:30 +03:00
StanR
45258b3f14 Buff aim slightly 2022-07-04 19:53:34 +03:00
goodtrailer
e6a05ce3e2 Slow down legacy followcircle animations 2022-07-03 13:51:30 -07:00
Dan Balasescu
ccc322e100
Merge pull request #18985 from andy840119/remove-nullable-disable-in-the-replays
Remove nullable disable annotation in replays namespace
2022-07-03 21:19:36 +09:00
Dean Herbert
c07ee80dbe
Merge pull request #18977 from goodtrailer/stable-slider-ball-fadeout
Imitate stable's slider ball fade in/out animation
2022-07-02 18:47:31 +09:00
andy840119
19721a9bbb Remove the nullable disable annotation and fix the breaking api. 2022-07-02 13:33:05 +08:00
Dean Herbert
9a5431d93f Minor renaming / refactoring to use local parameter rather than DI'd object 2022-07-02 13:37:10 +09:00
goodtrailer
f2141715b8 Replace AsNonNull() with Assert() 2022-07-01 21:22:48 -07:00
goodtrailer
471b64bd20 Reinstate early return with comment
Whoops, didn't read the reply until after I pushed...
2022-07-01 21:19:54 -07:00
goodtrailer
6d6ffd35d0 Remove unused parameter 2022-07-01 21:14:53 -07:00
goodtrailer
2e3ff2c7e0 Prefer [Resolved] and LoadComplete 2022-07-01 21:12:36 -07:00
goodtrailer
76d4f86ca3 Make legacy slider ball fade out instantly 2022-07-01 18:21:03 -07:00
Dean Herbert
a17e18103f Improve description 2022-07-01 18:19:31 +09:00
Dean Herbert
cdc4caa8c4
Merge pull request #18945 from goodtrailer/separate-ball-followcircle
Separate slider ball and followcircle skinnables into default/legacy classes
2022-07-01 17:54:29 +09:00
Dan Balasescu
d4aa18112b
Merge pull request #15035 from emu1337/speed-acc-scaling
Change speed accuracy scaling to be closer to worst case scenario
2022-06-29 18:04:23 +09:00
goodtrailer
0e0e9968ac Split ball and followcircle into default/legacy files 2022-06-29 01:23:35 -07:00
Dan Balasescu
6d91c0f375 Resolve inspection issue 2022-06-29 16:57:11 +09:00
Dan Balasescu
ad95f037de Prevent another case of potential div-by-0 2022-06-29 16:42:53 +09:00
Dan Balasescu
e6ccca8045 Fix inspection 2022-06-29 16:29:17 +09:00
Dan Balasescu
0211fe7ae8 Fix exception + possible div-by-0 2022-06-29 16:29:14 +09:00
Dan Balasescu
2989803b71 Merge branch 'master' into speed-acc-scaling 2022-06-29 16:15:20 +09:00
Dan Balasescu
34b9118fb3 Cleanup by using const value 2022-06-29 16:10:06 +09:00
Dan Balasescu
7d743994bc Merge branch 'master' into FL-diffspike 2022-06-29 16:05:53 +09:00
Dean Herbert
8cda55e224
Merge pull request #18795 from smoogipoo/full-size-follow-circle
Track the full size of the follow circle at all times
2022-06-28 19:20:34 +09: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
Pasi4K5
2f1186d328 Add comments and XML doc 2022-06-22 16:49:07 +02:00
Dan Balasescu
a7de43ade6 Add attribute ID 2022-06-21 19:31:45 +09:00
Dan Balasescu
ede5ca31a1 Always track final follow circle size 2022-06-21 18:10:11 +09:00
apollo-dw
630bd244d5 Inherit StrainSkill instead 2022-06-21 10:01:11 +01:00
apollo-dw
0f6f000188 Remove difficulty spike nerf 2022-06-21 09:13:44 +01:00
Dan Balasescu
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
emu1337
26b0815fc8 fixed casting the wrong skill 2022-06-20 04:19:07 +02:00
emu1337
ecbbd29c9b Merge branch 'master' into speed-acc-scaling
# Conflicts:
#	osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyAttributes.cs
#	osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs
#	osu.Game.Rulesets.Osu/Difficulty/OsuPerformanceCalculator.cs
#	osu.Game.Rulesets.Osu/Difficulty/Skills/Speed.cs
2022-06-20 04:15:35 +02:00
Pasi4K5
a912bcadf8 Fix possible exception caused by log(0) 2022-06-20 00:19:29 +02:00
Pasi4K5
3356742ba2 Adjust angle offset caluclations 2022-06-20 00:05:03 +02:00
Pasi4K5
1bb27cd488 Code optimisation 2022-06-19 23:03:41 +02:00
Pasi4K5
9090e75020 Add XML documentation 2022-06-19 20:43:17 +02:00
Pasi4K5
7317b9b909 Remove unused field 2022-06-19 14:59:28 +02:00
Pasi4K5
33c6c6af6b Adjust target angle calculation parameters 2022-06-19 13:50:09 +02:00
Pasi4K5
c6ac60c0b5 Enhance target angle calculation 2022-06-19 13:07:10 +02:00
Dan Balasescu
1bd6198da2
Merge pull request #18692 from apollo-dw/dbltap
Rework doubletap detection in osu!'s Speed evaluator
2022-06-19 11:03:16 +09:00
apollo-dw
c4d69405bf Adjust speed ratio fraction to avoid division by 0 2022-06-17 21:18:16 +01:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
apollo-dw
2634e56944 Further adjustments 2022-06-14 16:16:12 +01:00
apollo-dw
737197591d Change doubletap algorithm 2022-06-13 17:49:56 +01:00
Dan Balasescu
f73142c50f Remove for loop 2022-06-13 20:43:56 +09:00
Dan Balasescu
b300bc1e24 Fix ever-increasing flashlight-strain 2022-06-13 20:41:32 +09:00
apollo-dw
4e3dd1ce18 Merge remote-tracking branch 'master/master' into evaluators 2022-06-13 12:27:02 +01:00
apollo-dw
add9b4a7a4 Merge branch 'master' into evaluators 2022-06-13 12:16:22 +01:00
apollo-dw
e7602563fb Fetch lastlast object from beatmap, not objects list 2022-06-10 10:28:14 +01:00
Gabe Livengood
2fe34f188f shamelessly copy osumodmagnetised 2022-06-09 18:52:10 -04:00
Gabe Livengood
569c39942a replace easement with easing 2022-06-09 18:26:18 -04:00
Gabe Livengood
4e01db03bb don't specify icon 2022-06-09 18:25:04 -04:00
Gabe Livengood
6e883a69d9 revert slider radius parameter addition 2022-06-09 18:07:37 -04:00
Dan Balasescu
6d2a2ba7d6 Rename Position -> Index 2022-06-09 18:49:11 +09:00
Dan Balasescu
f0ef2e610e Merge branch 'master' into dho 2022-06-09 18:29:14 +09:00
Gabe Livengood
f54a68f6ca
scale down repulsion strength 2022-06-08 01:00:47 -04:00
Gabe Livengood
f21c9fb520
add newline 2022-06-07 12:05:53 -04:00
Gabe Livengood
b7bdad4074
clamp sliders, expose slider bounds function 2022-06-07 09:36:44 -04:00
Henry Lin
de224e79c7 Limit slider rotation when the slider is too large 2022-06-07 10:32:51 +08:00
Salman Ahmed
b6e97e699a Remove unnecessary position specification 2022-06-07 00:34:18 +03:00
Salman Ahmed
4158146c71 Fix spinenr tick samples not positioned at centre
Causing samples to be played at left ear rather than centre.
2022-06-07 00:30:11 +03:00
Salman Ahmed
0eaf420fa1 Specify full size for spinner ticks container 2022-06-07 00:29:14 +03:00
Gabe Livengood
a805f78909
Merge branch 'master' into mod-accuracy-challenge 2022-06-06 12:11:47 -04:00
Salman Ahmed
fe96e15b1b Update spinner approach circle to handle LegacySkinTransformer 2022-06-04 01:15:39 +03:00
apollo-dw
774ac13900 Add xmldocs 2022-05-28 14:09:08 +01:00
apollo-dw
b631cefc55 Move object difficulty calculation to evaluator methods 2022-05-28 13:29:09 +01:00
apollo-dw
777d9af0f5 Move object difficulty calculation to evaluator methods 2022-05-28 13:28:04 +01:00
Gabe Livengood
5d838628d7
add test, fix formatting, expose easing function 2022-05-27 23:15:19 -04:00
apollo-dw
66a6467403 Pass object position to the object 2022-05-26 19:26:14 +01:00
Henry Lin
e205aeff38
Merge branch 'master' into random-mod-slider-rotation 2022-05-26 22:51:34 +08:00
Gabe Livengood
10287e0150
initial implementation 2022-05-26 00:08:00 -04:00
Dan Balasescu
8a4f52287c Re-invert distances, cleanup, use actual normalised distance 2022-05-25 13:38:36 +09:00
Dan Balasescu
cde06ecf17 Apply code reviews 2022-05-25 13:03:08 +09:00
Dan Balasescu
7b2a5d4f76 Adjust xmldoc for correctness 2022-05-25 13:01:27 +09:00
apollo-dw
1ef711de41 Return null for out of range objects 2022-05-24 16:40:24 +01:00
apollo-dw
30b9e0e7ab Use object list size for object position 2022-05-24 16:30:25 +01:00
Gabe Livengood
dde0756bed add accuracy challenge mod 2022-05-24 10:23:44 -04:00
apollo-dw
5dbec92d9e Update comments 2022-05-23 22:17:29 +01:00
apollo-dw
903c4f7b3d Merge remote-tracking branch 'master/master' into dho 2022-05-23 13:39:04 +01:00
Jamieson Berida
c9b00a2302
Merge branch 'master' into fl-slider 2022-05-23 17:42:12 +10:00
apollo-dw
26985ca8af Store hitobject history in the hitobject 2022-05-22 16:26:22 +01:00
Dean Herbert
2e21d75b10 Move metronome into own class and rename to avoid conflict with mod sounds 2022-05-20 17:30:04 +09: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
a443200d0d Make dependency nullable to allow for safer disposal unbinding 2022-05-19 13:49:52 +09:00
Dean Herbert
cf3ead8047 Remove unused local 2022-05-13 22:06:30 +09:00
Dean Herbert
d9782b5ef6 Remove redundant parenthesis 2022-05-13 21:31:49 +09:00
Dean Herbert
38b8baf095 Remove unused border colour 2022-05-13 21:28:50 +09:00
Dean Herbert
1529162318 Remove circle scaling (apparently the fixed scale is required for spacing) 2022-05-13 21:28:45 +09:00
Dean Herbert
0318944b80 Fix incorrect alive criteria causing clicking future objects to be too greedy 2022-05-12 23:37:29 +09:00
Dean Herbert
51744e428f Merge branch 'master' into editor-readability 2022-05-12 22:56:55 +09:00
Dean Herbert
0c335592b3 Tidy up interpolation and move const to new home 2022-05-12 19:44:07 +09:00
Dean Herbert
f22ff4e087 Remove editor animation toggling (replaced by overlap markers) 2022-05-12 19:28:56 +09:00
Dean Herbert
be3d4c9bf5 Add circle overlap marker, bringing back stable-like visibility of circles in the past 2022-05-12 19:27:32 +09:00
Dean Herbert
1b2c07e142 Extend lifetime of OsuSelectionBlueprint to allow for lingering display 2022-05-12 19:25:51 +09:00
Dan Balasescu
b71274265f
Merge pull request #15665 from MBmasher/fl-opacity
Consider opacity of hit objects in Flashlight skill
2022-05-12 19:00:21 +09:00
Dan Balasescu
c3d472310f
Merge pull request #18237 from peppy/editor-animation-toggle-refresh-immediately
Fix toggling hit animations on the editor not applying immediately
2022-05-12 18:51:04 +09:00
Dan Balasescu
4463a26f4e Refactor opacity computation algorithm 2022-05-12 18:31:10 +09:00
Dean Herbert
f5649b926a Use AliveObjects rather than tracking all hitobjects manually 2022-05-12 18:04:26 +09:00
Dean Herbert
c4854d4004 Fix slider ball rotation becoming undefined when time is not flowing smoothly 2022-05-12 17:55:12 +09:00
Dean Herbert
10e41d018a Fix toggling hit animations on the editor not applying immediately 2022-05-12 17:36:35 +09:00
Dean Herbert
c0abce918f Add enum to snap method as alternative to mutliple nested invocations 2022-05-12 16:19:07 +09:00
Dan Balasescu
2d33859e7a
Merge pull request #18094 from apollo-dw/sliderticks
Reimplement slider ticks in Strict Tracking mod sliders
2022-05-09 17:16:47 +09:00
Dean Herbert
c7e7aa5962 Don't draw distance snap grid on the start time of the next object 2022-05-06 17:05:52 +09:00
Bartłomiej Dach
8b4e4b48d1
Merge branch 'master' into sliderticks 2022-05-05 14:38:09 +02:00
Bartłomiej Dach
2039d3db6a
Use standard slider ticks in strict tracking mod 2022-05-05 14:37:57 +02:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance 2022-05-05 19:55:55 +09:00
Bartłomiej Dach
5e4d07760d
Merge branch 'master' into snapping-tidy 2022-05-05 10:17:48 +02:00
Dean Herbert
19cf9dc20b Merge branch 'snapping-tidy-distance' 2022-05-05 16:51:32 +09:00
Dean Herbert
225fc65068 Merge branch 'snapping-tidy' 2022-05-05 16:51:31 +09:00
Dean Herbert
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a Add xmldoc and rename methods in IPositionSnapProvider for legibility 2022-05-05 15:58:21 +09:00
Bartłomiej Dach
79ecf5dd5d
Merge branch 'master' into strict-tracking-description 2022-05-05 08:41:27 +02:00
Dean Herbert
cbc58c67bf Remove weird strict tracking icon and reword description to explain what the mod does 2022-05-05 15:16:01 +09:00
Supersonicboss1
81b4622620 fixed autoplay not showing compat, + relax compat 2022-05-04 22:25:34 +01:00
apollo-dw
81ce0e6565 Reimplement sliderticks 2022-05-04 12:55:22 +01:00
Dean Herbert
bb086800b1 Remove ugly playfield border 2022-05-04 13:41:30 +09:00
Dan Balasescu
637f817696 Ignore zero-sections on a per-case basis 2022-05-03 16:06:20 +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
Bartłomiej Dach
bba7722837
Merge branch 'master' into improve-alternate-after-break 2022-05-02 10:52:48 +02:00
Dean Herbert
b911981d80
Merge pull request #18002 from Pasi4K5/add-target-incompatibilities
Make some mods incompatible with `OsuModTarget`
2022-04-29 23:18:31 +09:00
Salman Ahmed
a4ca8bfe75 Improve "Alternate" to reset before first hitobject after break 2022-04-29 06:41:21 +03:00
Bartłomiej Dach
96f6c918a8
Merge branch 'master' into first-run-behaviour-screen 2022-04-29 00:55:30 +02:00
Pasi4K5
e31fdc28dd Make Classic and Target compatible again 2022-04-28 22:31:48 +02:00
Pasi4K5
d5702e2955 Append incompatible mods to base.IncompatibleMods 2022-04-28 18:29:37 +02:00
Salman Ahmed
835898dd30 Introduce DistancedHitObjectComposer and supersede OsuToolboxComposite 2022-04-28 06:44:50 +03:00
Pasi4K5
d6395b14be Add incompatibilities 2022-04-28 05:15:04 +02:00
Salman Ahmed
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
Salman Ahmed
66c730c382 Change distance spacing keybind to Ctrl+Alt 2022-04-27 17:11:23 +03:00
Salman Ahmed
fb6a112708 Mark OsuModTarget and OsuModSuddenDeath as mutually exclusive
`OsuModTarget` already fails on miss, so "Sudden Death" doesn't make
sense to be enabled and may only cause issues.
2022-04-26 23:27:03 +03:00
Dan Balasescu
ce095d6af6 Merge branch 'master' into fl-opacity 2022-04-26 18:34:53 +09:00
Dean Herbert
942f4e8ac2 Merge branch 'first-run-show-get-started' into first-run-behaviour-screen 2022-04-26 16:10:16 +09:00
Dean Herbert
b41e273086 Convert function weirdness to property + bool 2022-04-26 15:06:27 +09:00
Salman Ahmed
0738cd028f Give snapping toolbox enough hover delay for interaction with expand button
With 0 delay, if the `SettingsToolboxGroup` has been contracted via
button, there's no chance to be able to expand it via button again.

This is temporary at best just to keep things working somewhat, not sure
if the expansion logic will still be required in editor redesign, so
deciding to roll with it for now.
2022-04-24 08:53:11 +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
e0b9ab022d Add classic default values against setting controls 2022-04-22 18:05:24 +09:00
Dean Herbert
d43c66a3dd Merge branch 'master' into sample-positional-playback-screen-space 2022-04-21 16:57:20 +09:00
Joseph Madamba
5e5c8e78a6 Use existing web localisation for most hardcoded strings 2022-04-20 16:31:11 -07:00
Salman Ahmed
fd20c2bdcd Change circle/overlay sprite fields to protected for better test assertion 2022-04-20 00:24:28 +03:00
Salman Ahmed
a96664295b Fix nullability preprocessor placed over the copyright header 2022-04-19 19:48:44 +03:00
Salman Ahmed
033b556be5 Simplify texture lookup further 2022-04-19 19:44:35 +03:00
Dean Herbert
75a6e9fd7f Convert to use nullable and rearrange fields 2022-04-19 18:10:10 +09:00
Salman Ahmed
b067924ada Avoid applying state transforms when no object is present 2022-04-19 08:08:02 +03:00
Salman Ahmed
fd113953ac Rename prioritiyLookup and add xmldoc 2022-04-19 08:06:39 +03:00
Salman Ahmed
ec7bb876b5 Improve legacy circle texture lookup to match 1:1 with stable 2022-04-19 07:12:07 +03:00
Salman Ahmed
8d0dd3961e Add failing test cases 2022-04-19 07:12:07 +03:00
Salman Ahmed
3a00931e38 Update slider sliding samples balance calculation to use screen-space as well 2022-04-18 09:18:56 +03:00
Salman Ahmed
fcb48c69cf Calculate sample playback position using screen-space drawable rectangles 2022-04-18 07:57:31 +03:00
Henry Lin
e5e1960975 Add inline comments 2022-04-18 09:38:51 +08:00
Henry Lin
1d79266d42 Clarify in the xmldoc that angles are measured in radians 2022-04-17 10:40:43 +08:00
Henry Lin
610d2dc1a3 Use a bigger sample step to calculate slider center of mass 2022-04-17 10:34:48 +08:00
Henry Lin
72cb3d6ad6 USe MathF in all applicable places 2022-04-11 14:15:08 +08:00
Dan Balasescu
c48f8d7b9b
Merge pull request #17714 from bdach/mod-overlay/multimod-incompatibility
Ensure that mods grouped into multi mods are pairwise incompatible
2022-04-08 16:43:06 +09:00
Dean Herbert
879267862c Fix typo in DrawableOsuHitObject 2022-04-08 15:20:22 +09:00
Bartłomiej Dach
e99d0f9fae
Make all OsuModObjectScaleTween implementations incompatible with each other 2022-04-07 22:38:47 +02:00
Bartłomiej Dach
5e02ba353b
Make OsuMod{Blinds,Flashlight} incompatible 2022-04-07 22:38:46 +02:00
Dean Herbert
ee8451c8ca
Merge branch 'master' into osu-diff-calc-max-combo 2022-04-04 14:20:44 +09:00
Dean Herbert
de625125d6 Rename magnetised mod attraction strength property to match new naming 2022-04-01 13:03:48 +09:00
Henry Lin
3bebc88306 Consider spinners when calculating jump angles
Spinners are considered in `GeneratePositionInfos`, so they should also be considered in `RepositionHitObjects`
2022-04-01 11:59:24 +08:00
Henry Lin
ee65677884 Use height of playfield instead of width when randomizing the first object
This is the change discussed in #17194. The effect of this change is barely noticeable, but it makes more sense to generate the object within playfield from the start.
2022-04-01 11:57:45 +08:00
Henry Lin
031a977009 Calculate slider rotation using end point of path instead of EndPosition 2022-04-01 11:50:30 +08:00
Henry Lin
0015f627b0 Add xmldoc 2022-04-01 11:49:27 +08:00
Henry Lin
c0a78924aa Fix generation for zero-length sliders 2022-04-01 11:47:21 +08:00
Henry Lin
af3835083c Fix slider relative rotation calculation 2022-04-01 11:41:45 +08:00
Henry Lin
998df5a4fe Fix large slider clamping 2022-04-01 11:37:10 +08:00
Henry Lin
cabbc486e9 Rotate sliders in random mod 2022-04-01 11:36:20 +08:00
Dean Herbert
a987cda30d Rename "Aim Assist" to "Magnetised" to better suit the mod's behaviour
As proposed in https://github.com/ppy/osu/discussions/17375.
2022-04-01 12:15:52 +09:00
Dan Balasescu
32e55e7d78 Merge branch 'master' into osu-diff-calc-max-combo 2022-03-31 15:08:08 +09:00
Dan Balasescu
ff4745be59
Merge branch 'master' into extract-random-mod-logic-2 2022-03-31 13:42:47 +09: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
Henry Lin
e44db4e726 Revert unintentional behavior change of random mod
Actually, using OsuPlayfield.BASE_SIZE.Y makes a touch more sense since it is the short side of the playfield, but I guess it is better to preserve replays than to introduce pointless breaking changes.
2022-03-25 15:13:25 +08:00
Dan Balasescu
cd5907f8da Merge branch 'master' into extract-random-mod-logic-2 2022-03-25 14:25:43 +09:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
Dean Herbert
e4b2242719 Fix follow point animations not looping
Because they do in stable. I don't know why but let's go with it.

Resolves issue reported in https://github.com/ppy/osu/discussions/17072.
2022-03-21 18:29:13 +09:00
apollo-dw
d3742a91a8 Nest specific object classes within the mod 2022-03-20 15:56:41 +00:00
apollo-dw
35e2e6a4e7 Remove slider tick judgement flag 2022-03-20 15:41:46 +00:00
apollo-dw
52d6f083dc Only miss slider tail on untrack 2022-03-19 23:42:12 +00:00
apollo-dw
149cfd338d Use new mod-related object types for Strict Tracking 2022-03-19 18:29:44 +00:00
Noah M
78869c462a
Use .Concat() instead of chained Append
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-18 14:24:36 -05:00
Noah M
b4a8defe1a Make Relax and Aim assist mods incompatible 2022-03-18 14:12:36 -05:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +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
Henry Lin
76021c7627 Remove extra parameters 2022-03-14 20:23:35 +08:00
Henry Lin
6657d93b29 Separate the two nested classes 2022-03-14 20:18:30 +08:00
Dean Herbert
1b8c632b87 Add TailSamples to auxiliary samples list 2022-03-14 17:19:48 +09:00
Dean Herbert
6d6f73e016 Add overrides in DrawableSliderTail to explain/warn that this class never plays its own samples 2022-03-14 17:19:48 +09:00
Dean Herbert
be99202188 Move spinner spin samples to auxiliary specification 2022-03-14 17:19:48 +09:00
Dean Herbert
90e34d7686 Move slider slide samples to auxiliary specification 2022-03-14 17:19:48 +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
Dean Herbert
f82687a2c6
Merge pull request #17150 from SiimPender/master
Fix crash during kiai section on specific map due to negative transform duration
2022-03-10 18:09:41 +09:00
Dean Herbert
a1b7bf3986
Use a minimum fade length for clamping rather than zero
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-10 16:47:02 +09:00
Henry Lin
5e36383258 Convert IObjectPositionInfo to a class 2022-03-10 12:02:25 +08:00
Henry Lin
3a71d81775 Convert the position modifier to stateless methods 2022-03-10 11:53:03 +08:00
Henry Lin
ede838c4b3 Use ObjectPositionInfo.HitObject 2022-03-10 11:23:52 +08:00
Dan Balasescu
c36badab4b Add per-ruleset score multipliers for classic scoring 2022-03-10 10:26:09 +09:00
Henry Lin
e8dbed738e Move OsuHitObjectPositionModifier to Utils/ 2022-03-09 21:52:15 +08:00
Henry Lin
8e12a067df Remove an unused property 2022-03-09 21:04:35 +08:00
Henry Lin
6a507ca11b Rename identifiers to remove references to random mod 2022-03-09 20:52:11 +08:00
Henry Lin
37328f8d24 Extract hit object positioning logic to a separate class
It is intentional to not rename the identifiers at this point to produce a cleaner diff.
2022-03-09 20:36:31 +08:00
Dan Balasescu
1646e9d64c
Merge pull request #17153 from hlysine/osu-random-mod-logic-changes
Separate randomization and object positioning logic in osu random mod
2022-03-09 20:52:33 +09:00
Dan Balasescu
353b251d38 Attempt to merge conditional expression
Hoping to fix CI error, caused by older R# version.
2022-03-09 17:46:42 +09:00
Dean Herbert
75c6a676b4 Apply nullable to OsuModRandom rather than using jetbrains annotations 2022-03-09 16:58:36 +09:00
Henry Lin
e3cf2c6acd Merge getAbsoluteAngle into computeRandomisedPosition 2022-03-09 13:27:33 +08:00
Henry Lin
3ced5e7904 Rename Distance to DistanceFromPrevious 2022-03-09 13:09:33 +08:00
apollo-dw
e2001148d5 Implement strict tracking mod 2022-03-08 21:47:54 +00:00
Henry Lin
ae1c65c38d Add xmldoc 2022-03-08 12:07:10 +08:00
Henry Lin
8cfeffc085 Extract a major part of ApplyToBeatmap to a new method 2022-03-08 11:50:30 +08:00
Henry Lin
ded84cab3f Separate randomisation and object positioning logic 2022-03-08 11:45:16 +08:00
Siim Pender
a02adfdbd4 Fix crash on super high bpm kiai sections 2022-03-07 20:36:09 +02:00
Henry Lin
c9b205afeb Add adaptive speed mod 2022-03-02 09:57:52 +08:00
Dean Herbert
a41e1c80f1 Show hit error on results screen
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
692ddd5f52 Merge branch 'master' into issues/16839-spun-out-rate 2022-02-22 14:04:45 +09:00
Dan Balasescu
567da9214e Merge branch 'master' into osu-diff-calc-max-combo 2022-02-18 18:35:24 +09:00
Dan Balasescu
84e82ef5e4 Add XMLDocs to difficulty attribute properties 2022-02-16 14:09:19 +09:00
Dan Balasescu
215da7e933 Reimplement as extension method on IBeatmap
Implementation has changed slightly to support arbitrary levels of
nested hitobjects.
2022-02-16 12:06:49 +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
Kaleb
df9535d195
Update RPM calculation for readability
Multiply the 1.01 factor to the resulting RPM, not to the duration.
2022-02-13 14:28:40 -05:00
Kaleb
585bd541f3
Add missing parentheses to RPM calculation 2022-02-13 02:38:49 -05:00
Kaleb
f1535b74be
Give Spun Out mod dynamic spin rate 2022-02-13 02:16:06 -05:00
PercyDan
639d813d06
Don't override previous value
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-12 11:15:03 +08:00
PercyDan54
053f41d755
Simplify code 2022-02-12 10:06:43 +08:00
PercyDan54
2ed3d58531
Ignore short spinners for relax mod 2022-02-12 09:28:50 +08:00
Henry Lin
ee6d4b2583 Move performance breakdown to the top to prevent re-ordering after watching replay 2022-02-05 21:39:01 +08:00
Henry Lin
0b1fef38af Use the playable beatmap provided in CreateStatisticsForScore 2022-02-05 21:36:34 +08:00
Henry Lin
2e1a9f1379 Add performance breakdown as statistic item in extended statistics panel 2022-02-05 21:13:16 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes 2022-02-05 16:59:46 +08:00
mk-56
dd8fc710fa removed wiggle duration 2022-02-04 15:48:46 +01:00
Dean Herbert
df9d99f5aa Merge branch 'master' into extended-statistics-without-replay 2022-02-03 18:59:48 +09:00
Dean Herbert
2731d8e3c2
Merge pull request #16701 from LeNitrous/mod-alternate-osu
Add "Alternate" mod for osu! ruleset
2022-02-03 10:41:23 +09:00
Dean Herbert
be9df2ca11
Merge pull request #5774 from MaxOhn/aimassist-mod
Add "Aim Assist" mod
2022-02-03 10:40:43 +09: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
7463744407
Fix osu! autoplay-like mods not declaring incompatibility with AimAssist 2022-02-02 19:17:33 +01:00
Dean Herbert
19eb9ad8a7 Reorder StatisticsItem constructor to make a touch more sense 2022-02-02 23:02:38 +09:00
Henry Lin
6a482827fe Fix weird line breaking 2022-02-02 17:23:03 +08:00
Dean Herbert
6e41a6e704 Tidy up code into a presentable state 2022-02-02 16:27:16 +09:00
Dean Herbert
2e46404fe5 Remove spinner support for now 2022-02-02 16:26:00 +09:00
Dean Herbert
f07502ac5f Use simple damp easing rather than transforms 2022-02-02 16:15:06 +09:00
Dean Herbert
334ed2c9c4 Fix sliders moving before they are actually hit 2022-02-02 15:36:09 +09:00
Dean Herbert
6b31e7e9db Merge branch 'master' into aimassist-mod 2022-02-02 15:18:48 +09:00
Dean Herbert
e7d72f1823 Revert recent changes 2022-02-02 15:18:44 +09:00
Dean Herbert
a2affefb0a Avoid checking gameplay clock time in Update method 2022-02-02 14:33:17 +09:00
Henry Lin
c5c4c85006 Lazily create content of StatisticItem 2022-02-02 13:29:18 +08:00
Dean Herbert
c7a192cc5f Only handle LeftButton and RightButton actions
There are definitely going to be other actions used in the future, which
would immediately cause this mod to fail. Limiting handling to
left/right buttons only is the correct way forward.
2022-02-02 14:04:12 +09:00
Dean Herbert
fed63abd83 Sanitise interceptor logic to now require two separate check paths 2022-02-02 14:02:48 +09:00
Dean Herbert
0036d0e26d Move alternate mod to "conversion" category 2022-02-02 13:58:13 +09:00
Bartłomiej Dach
9227211a44
Privatise shouldAlternate 2022-01-31 22:56:27 +01:00
Dan Balasescu
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
Nitrous
40f43344f1
remove unused using 2022-01-29 23:31:26 +08:00
Nitrous
535216a0d3
rename CanIntercept to ShouldAlternate 2022-01-29 23:20:31 +08:00
Nitrous
24f9ef4005
make xmldoc more verbose 2022-01-29 22:31:04 +08:00
Nitrous
98d8b26a9c
move ModAlternate to OsuModAlternate and check if intro has ended 2022-01-29 21:49:40 +08:00
Nitrous
2326c36836
remove unused method and fix description 2022-01-29 21:09:36 +08:00
Nitrous
aa582fb0e1
add Alternate Mod 2022-01-29 20:38:12 +08:00
mk-56
35be0f24d0 fixed leading "0"s not being present infront of decimal floats 2022-01-27 00:10:15 +01:00
MK56
c17ff49427
Merge branch 'ppy:master' into Wiggle-strength-duration 2022-01-25 19:57:14 +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
836cb1ee32 Suggested boundary change 2022-01-24 12:16:29 +01:00
mk-56
948867898c ModeMultiplier rename 2022-01-24 11:38:52 +01:00
mk-56
a427e20090 Fixes 2022-01-24 10:38:11 +01:00
mk-56
e3ba7d9ba5 Wiggle mod expansion
Free dlc!
2022-01-24 10:24:40 +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
Henry Lin
74a55ead77 Simplify combo counting logic 2022-01-23 13:00:54 +08:00
Henry Lin
f53ce5aedf Fix max combo calculation in osu diffcalc 2022-01-23 11:11:12 +08:00
mk-56
955bab926f Separate the settings for each modes radiuses 2022-01-22 19:38:56 +01:00
MK56
b5f813a949
Merge branch 'ppy:master' into Liswiera-FL-changes 2022-01-22 19:04:39 +01:00
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes 2022-01-22 14:12:57 +01:00
Dan Balasescu
36d1cdb95a Merge branch 'master' into fl-opacity 2022-01-20 14:48:20 +09:00
StanR
b77e6f92b7 Fix touch device difficulty reduction not affecting star rating 2022-01-19 22:31:11 +03:00
Dan Balasescu
58bae9bda3
Merge pull request #16331 from stanriders/continuous-effective-misscount
Don't floor `effectiveMissCount`
2022-01-19 14:13:12 +09:00
mk-56
bd308ca38c Cleanup 2022-01-17 15:15:25 +01:00
Henry Lin
b81fc675e8 Include PropertyName in PerformanceDisplayAttribute 2022-01-17 20:45:25 +08:00
Henry Lin
d014fef179 Hide confusing attributes 2022-01-17 20:36:36 +08:00
Henry Lin
511a607599 Display performance breakdown in a tooltip 2022-01-17 18:28:17 +08: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
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Salman Ahmed
3ab13dd78c Assign position to spinner ticks for correct positional playback 2022-01-15 14:24:52 +03:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dean Herbert
4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Joseph Madamba
b245ffefc1 Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names 2022-01-12 15:05:07 -08:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
d8c52740cb
Merge pull request #16354 from bdach/slider-snapping
Apply slider snapping to current beat divisor more liberally to match user expectations
2022-01-12 11:18:18 +09:00
Dan Balasescu
b88a65166e Fix pp counter underflow with SpunOut mod 2022-01-11 10:22:16 +09:00
Bartłomiej Dach
c09f6ee052
Use slider snapping more liberally to match user expectations
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
MaxOhn
b3230868cc use playfield clock 2022-01-06 16:31:30 +01:00
MaxOhn
197ada1a8c naive 10hz update 2022-01-06 16:04:38 +01:00
MaxOhn
b9d2a10530 adjustable assist strength + dont update spinner & running slider 2022-01-06 16:00:49 +01:00
MaxOhn
04d060aba3 update general playfield only once 2022-01-06 10:38:30 +01:00
Dean Herbert
ee24713002 Fix single sliders not being flippable due to incorrect precondition 2022-01-06 14:37:13 +09:00
StanR
dc755f4a7f Remove redundant casts 2022-01-05 15:07:02 +03:00
MaxOhn
5a62760fe4 hold spinners & minor adjustments 2022-01-05 13:05:22 +01:00
StanR
b317a95fe1 Don't floor effectiveMissCount 2022-01-05 14:36:07 +03: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
MaxOhn
27a8bfa496 handle spinners and follow points 2022-01-04 22:17:50 +01:00
MaxOhn
612f69782b use Playfield.HitObjectContainer.AliveObjects 2022-01-04 14:29:44 +01:00
MaxOhn
168a105ed8 merged upstream 2022-01-04 09:34:02 +01:00