Dean Herbert
f78239c7f2
Move enums out of nesting
2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48
Checker -> BeatmapVerifier
2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77
Merge branch 'master' into verify-tab
2021-04-12 15:14:37 +09:00
Dean Herbert
e2470d757e
Merge branch 'master' into legacy-spm-counter
2021-04-12 12:52:52 +09:00
Joseph Madamba
a42714540b
Add follow delay setting to osu! flashlight mod
2021-04-10 23:04:15 -07:00
Naxess
dac733cced
Fix field name and accessibility
2021-04-10 15:49:57 +02:00
Naxess
3289bb0379
Merge Check
and BeatmapCheck
...
We're probably not going to need GeneralChecks or BeatmapsetChecks.
The verify tab is only available to a single difficulty at a time, and we already have access to the rest of the set through `IBeatmap`.
2021-04-10 14:56:30 +02:00
Naxess
bc4f3351f3
Replace checks with realistic ones
2021-04-10 13:03:16 +02:00
Naxess
d1007ff26a
Move components to more appropriate spot
2021-04-10 13:02:22 +02:00
Dean Herbert
cceb10cc85
Merge pull request #12337 from Naxesss/slider-path-segments
...
Improve UX of correcting invalid slider path types
2021-04-09 19:26:49 +09:00
Naxess
f64b2095bf
Carry over the previous path type
2021-04-09 11:04:00 +02:00
smoogipoo
f2e811928b
Rework slider hackery to not overwrite Samples
2021-04-09 15:28:08 +09:00
smoogipoo
8efa381d3a
Actually use whistle sample for sliderwhistle
2021-04-08 23:13:16 +09:00
smoogipoo
7d291ed7d7
Don't serialise OriginalSamples
2021-04-08 20:57:50 +09:00
smoogipoo
7713c8a45f
Add support for sliderwhistle
2021-04-08 20:20:09 +09:00
Naxess
9a675a2219
Correct 4+ point perfect curves to Bezier
2021-04-08 12:33:43 +02:00
Naxess
be4520fe33
Fix index out of range possibility
2021-04-08 11:46:00 +02:00
Naxess
0341023d13
Improve UX of selecting PerfectCurve
2021-04-08 09:06:28 +02:00
Naxess
725edfcbf3
Add path type menu change method
2021-04-08 09:05:35 +02:00
Dean Herbert
a8839792fd
Merge branch 'master' into circular-arc-freeze
2021-04-08 14:33:03 +09:00
Naxess
d6490899e2
Simplify slider path bindings
...
Adds a slight performance overhead, but solves the memory leak and makes the code much easier to follow.
2021-04-08 03:21:56 +02:00
Naxess
d1d56c636a
Convert pathTypes
to local variable
...
Not entirely sure what holds the reference to pathTypes now (the binding to`slider.Path.ControlPoints` maybe?), but this does seem to work still.
2021-04-08 01:43:06 +02:00
Naxess
b8ab1c7682
Track path type changes for PointsInSegment
2021-04-07 17:19:12 +02:00
Naxess
9c4604e3c5
Add example checks
2021-04-07 14:36:53 +02:00
Naxess
0343ef7f14
Add ruleset-specific checker
2021-04-07 14:36:43 +02:00
Dean Herbert
784552022f
Merge pull request #12303 from smoogipoo/fix-last-control-point-segmenting
...
Make last control point not able to make an implicit segment
2021-04-06 13:35:55 +09:00
smoogipoo
42e816fcae
Add failing tests
2021-04-05 17:48:29 +09:00
Samuel Cattini-Schultz
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
smoogipoo
9c3d15171c
Reword xmldoc slightly
2021-04-02 18:00:28 +09:00
Amber
5ac36a2462
Switch AlwaysPlaySample to SamplePlaysOnlyOnHit in DrawableSliderTail for conformity
2021-04-02 03:56:23 -05:00
Amber
48e9985782
Make "AlwaysPlayTailSample" a mod setting rather than a hardcoded constant.
2021-04-02 03:10:28 -05:00
Amber
5063cd957f
Force hit sample to play when Classic mod is enabled
2021-04-02 02:54:35 -05:00
Naxess
7e47922fb7
Merge branch 'master' into circular-arc-freeze
2021-04-01 17:09:45 +02:00
Naxess
5022a78e80
Check current point instead of start point
...
Since each control point will call this when the path updates, the previous would correct the start segment 3 times instead of just once.
This fixes that.
2021-03-31 20:25:46 +02:00
Naxess
75b8f2535f
Move updatePathTypes to PathControlPointPiece
...
Here we produce a local bound copy of the path version, and bind it to update the path type.
This way, if the path version updates (i.e. any control point changes type or position), we check that all control points have a well-defined path.
Additionally, if the control point piece is disposed of, the GB should also swoop up the subscription because of the local bound copy.
2021-03-31 20:09:56 +02:00
Dean Herbert
b82247aabe
Add inline comments and use Vector2.Zero
2021-03-30 14:13:16 +09:00
Dean Herbert
eda45e0e28
Merge branch 'master' into scale-breaking-bounds
2021-03-30 14:05:19 +09:00
Dean Herbert
9504fe3f3c
Inline add of spm calculation (no need for it to be a separate call)
2021-03-30 13:43:05 +09:00
Salman Ahmed
f848ef5347
Add legacy spinner SPM counter support
2021-03-30 04:19:23 +03:00
Salman Ahmed
0bf84e473d
Refactor spinner SPM counter for skinning purposes
2021-03-30 04:19:23 +03:00
Naxess
70d5b616f2
Add scaling path type recovery
2021-03-29 15:49:49 +02:00
Leon Gebler
17b16d4f89
Clarify purpose of getClampedScale()
2021-03-29 14:17:30 +02:00
Leon Gebler
1d99a63f17
Limit minimum size for single slider scaling
2021-03-29 14:16:27 +02:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy
2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Leon Gebler
a50c4be8ab
Add missing space
2021-03-26 17:41:36 +01:00
Leon Gebler
305c2e31cf
Clarify todo comment
2021-03-26 16:53:17 +01:00
Leon Gebler
25ea60cb92
Remove return values from HandleScale submethods
2021-03-26 16:40:10 +01:00
Leon Gebler
5d272bef97
Remember ContolPoint positions instead of recalculating them
2021-03-26 16:31:04 +01:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Nathan Alo
2bea69456e
remove implementations
2021-03-26 15:24:33 +08:00
Naxess
51f0477df4
Move bounding box logic to framework
2021-03-26 04:42:46 +01:00
Naxess
ce9130ca50
Remove determinant limit
...
This has since been added into the framework through https://github.com/ppy/osu-framework/pull/4302
2021-03-25 17:38:55 +01:00
Salman Ahmed
bada1e7189
Update legacy spinner bonus counter usage
2021-03-25 15:00:06 +03:00
Salman Ahmed
6aa0c9d8fd
Merge branch 'master' into legacy-sprite-text-fonts
2021-03-25 14:52:01 +03:00
Dean Herbert
b4bccc19ba
Refactor LegacySpriteText initialisation
2021-03-25 18:37:13 +09:00
Dean Herbert
c715b9b89e
Merge branch 'master' into legacy-spinner-bonus
2021-03-25 18:09:25 +09:00
Naxess
9df059b01d
Add bounding box limit
2021-03-24 17:25:28 +01:00
Leon Gebler
e67ab3cca7
Change single slider scaling to a method that works
2021-03-24 12:24:11 +01:00
Leon Gebler
3d471d239f
Clamp multi-object scale instead of cancelling it
2021-03-24 12:24:11 +01:00
Leon Gebler
def0e5c42e
Fix off-by-one error in isQuadInBounds
2021-03-24 12:24:11 +01:00
Naxess
e0240ab9d9
Increase exterior threshold
2021-03-24 05:55:34 +01:00
Naxess
4ae3eaaac6
Move path type correction
...
This is better because `PathControlPointVisualizer` is local to the editor, meaning there is no chance that this could affect gameplay.
2021-03-24 03:02:19 +01:00
Naxess
0bcd38e661
Simplify path type maintenance when dragging
2021-03-24 02:57:47 +01:00
Naxess
5ee280f941
Update PointsInSegment when adding/removing points
...
There was a bug where if you created a slider, moved the last point, and then added a point such that it became a PerfectCurve, it would fail to recover after becoming a Bezier.
This fixes that.
2021-03-24 02:56:32 +01:00
Dan Balasescu
ade542191a
Merge pull request #12154 from peppy/fix-hitcircle-glow-fade-out
...
Fix default skin's glow resetting fade on miss
2021-03-23 20:14:51 +09:00
Dean Herbert
d10ff615fe
Fix default skin's glow resetting fade on miss
2021-03-23 19:28:08 +09:00
Dean Herbert
64e85ba995
Always fade out approach circles at a HitObject's start time to better match stable
2021-03-23 19:19:07 +09:00
Dan Balasescu
9e38d580ca
Merge pull request #12139 from peppy/fix-editor-spinner-looping-too-long
...
Fix spinners playing looping sound too long in the editor
2021-03-23 17:44:07 +09:00
Dean Herbert
098005393e
Remove unnecessary null checks and debug code
2021-03-23 10:38:37 +09:00
Naxess
067178e537
Maintain path type when dragging/placing
2021-03-22 15:59:06 +01:00
smoogipoo
e60ff45b73
Add another test for colinear perfect curves
2021-03-22 16:57:40 +09:00
Dean Herbert
c4d08463ad
Fix spinners playing looping sound too long in the editor
...
The `OnComplete` event was never being run due to the transform playing
out longer than the spinner's lifetime. I've matched the durations, but
also moved the `Stop()` call to what I deem a safer place to run it (I
did notice that without this it would still potentially never fire).
Note that this is more noticeable in the editor because of lifetime
extension. In gameplay, the returning of a spinner to the pool will
clean things up (but in the editor that can take longer, depending on
timeline zoom level).
Another thing worth mentioning is that the fade doesn't actually work.
This is due to https://github.com/ppy/osu-framework/pull/4212 .
Closes #12119 .
2021-03-22 16:04:51 +09:00
Bartłomiej Dach
e67c759eef
Mark control point visualiser as possibly-null
2021-03-19 22:44:31 +01:00
Bartłomiej Dach
9634560d4b
Fix control point visualiser crashing after deselections
...
`SliderSelectionBlueprint.OnDeselected()` would expire the
`ControlPointVisualiser` on deselection, leading to its removal from the
blueprint and eventual disposal, but still kept a separate reference to
said visualiser in another field.
This could lead to that stale reference to a disposed child getting read
in `ReceivePositionalInputAt()`, crashing quite a ways down over at the
framework side on futilely trying to compute the bounding box of a
drawable with no parent.
2021-03-19 21:40:22 +01:00
Dean Herbert
27c38db14d
Add tooltips for slider path nodes which aren't inheriting
2021-03-19 16:58:08 +09:00
Dean Herbert
5f31304d05
Give each type of slider path type a unique colour to help visually distinguish them
2021-03-19 14:00:26 +09:00
Nathan Alo
51e0304c54
properly format strings per ruleset
2021-03-17 18:31:09 +08:00
smoogipoo
7fa5fd5647
Update usages of config with framework changes
2021-03-17 16:10:16 +09:00
Salman Ahmed
848adddd92
Use double.ToString(InvariantInfo)
instead
2021-03-15 11:05:29 +03:00
Salman Ahmed
779c55d768
Fix potentially adding null legacy text to hierarchy
2021-03-14 03:27:47 +03:00
Salman Ahmed
43c1e1d217
Update existing usages
...
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Salman Ahmed
115c186cb7
Move hit circle font from osu! ruleset
2021-03-13 06:05:36 +03:00
Salman Ahmed
98f6e16113
Move default spinner bonus counter to new DefaultSpinner
2021-03-13 05:59:42 +03:00
Salman Ahmed
774ebf50bc
Move legacy spinner bonus counter to LegacySpinner
2021-03-13 05:59:42 +03:00
Salman Ahmed
8fdab5a7de
Revert legacy spinner presence changes and bonus counter component
...
No longer necessary, after inlining legacy coordinates logic to `LegacySpinner` and limiting precisely-positioned legacy components there
2021-03-13 05:57:47 +03:00
Salman Ahmed
020a03e01e
Use sensible "score per tick" constant
2021-03-13 05:56:28 +03:00
Salman Ahmed
c4048c9831
Merge branch 'master' into legacy-spinner-bonus
2021-03-13 05:54:34 +03:00
Dean Herbert
e3813ab828
Merge branch 'master' into legacy-spinner-placements
2021-03-12 19:47:34 +09:00
smoogipoo
ea9b48d17d
Remove unused using
2021-03-11 21:21:48 +09:00
smoogipoo
b5bdf235ca
Slightly improve comments more
2021-03-11 21:21:44 +09:00
smoogipoo
8bc494b224
Adjust explanatory comments
2021-03-11 20:57:00 +09:00
Dean Herbert
1591d593e2
Move spin start time to inside result and switch to standard state handling
2021-03-11 12:58:15 +09:00
Salman Ahmed
3f34981664
Fix incorrect spinner top offset calculation with clarification
2021-03-11 05:40:20 +03:00
Dean Herbert
4e8bcc9265
Fix SPM counter decreasing after spinner has already been completed
2021-03-09 16:54:46 +09:00
Dean Herbert
5a6864eb78
Fix SPM counter immediately disappearing on completion of spinners
2021-03-09 16:54:46 +09:00
Salman Ahmed
0549395869
Inline "legacy coordinates container" and add "spinner Y centre" const
2021-03-09 08:55:32 +03:00
Salman Ahmed
bb79da1aac
Correct playfield shift counteract comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-09 00:34:00 +03:00
Salman Ahmed
0ad3073c1a
Use MathF utility class instead
...
Co-authored-by: Berkan Diler <b.diler@gmx.de>
2021-03-07 21:21:44 +03:00
Salman Ahmed
fbfaa378fc
Move spinner top offset constant outside
2021-03-07 20:47:16 +03:00
Salman Ahmed
413cbb30a0
Reword playfield shift counteract comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-07 13:39:46 +03:00
Salman Ahmed
30f07aa9fc
Add legacy spinner bonus counter piece
2021-03-06 20:27:56 +03:00
Salman Ahmed
3f1d36ee6b
Add default spinner bonus counter piece
2021-03-06 20:27:56 +03:00
Salman Ahmed
c441e993ff
Separate "gained bonus" to a read-only bindable
2021-03-06 20:27:56 +03:00
Salman Ahmed
1841a4d1c9
Extract legacy spinner presence to lazy field
2021-03-06 20:27:56 +03:00
Salman Ahmed
e4afe717d5
Publicize legacy coordinates container and sprite scale
2021-03-06 20:27:56 +03:00
Salman Ahmed
1525480e73
Demonstrate value of SPINNER_TOP_OFFSET
to being more sensible
2021-03-06 19:18:40 +03:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
Salman Ahmed
d528ef426f
Reposition legacy spinner components in-line with osu!stable
2021-02-28 22:59:22 +03:00
Salman Ahmed
41b43dd39a
Add nested legacy-simulating coordinates container
2021-02-28 21:32:56 +03:00
Dean Herbert
8004652d27
Merge branch 'master' into optimised-has-flag-checks
2021-02-25 21:24:39 +09:00
Dean Herbert
90e8308716
Merge branch 'master' into localisation-refactor-framework
2021-02-25 17:28:55 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
Dean Herbert
0c202e0777
Merge branch 'master' into fix-selecting-incompatible-freemods
2021-02-24 19:24:04 +09:00
smoogipoo
14160b897e
Fix references to ModSuddenDeath
2021-02-24 14:44:53 +09:00
Leon Gebler
877e19421b
Refactor movement while scaling
2021-02-23 21:02:00 +01:00
Leon Gebler
2a4139a207
Refactor isQuadInBounds
2021-02-23 21:02:00 +01:00
Leon Gebler
71b30bdbbb
Adjust tuple usage
2021-02-23 21:02:00 +01:00
Leon Gebler
3491021f72
Move moveSelection into HandleMovement
2021-02-23 21:02:00 +01:00
Dean Herbert
1fd76ea3fb
Apply changes to UI components overriding functions with changing signatures
2021-02-22 19:01:42 +09:00
smoogipoo
ca92ad715a
Add test
2021-02-22 13:32:54 +09:00
Leon Gebler
33985d9e7c
Rewrite scaling bounds check to behave more intuively
2021-02-21 18:11:32 +01:00
Leon Gebler
2c6f92d12f
Move bounds check from moveSelection to HandleMovement
2021-02-21 17:38:50 +01:00
Leon Gebler
562a4cefdb
Simplify HandleScale by extracting methods
2021-02-21 12:12:32 +01:00
Leon Gebler
0b8009938a
Prevent selection from breaking playfield bounds when scaling
2021-02-21 00:14:39 +01:00
Leon Gebler
cc4c5f72d8
Move logic to keep selection in bounds into it's own method
2021-02-21 00:14:39 +01:00
Samuel Cattini-Schultz
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Dan Balasescu
cb4d119f23
Merge pull request #11740 from peppy/editor-fix-slider-samples-new-placement
...
Fix newly placed sliders in the editor not playing hitsounds
2021-02-12 13:31:00 +09:00
Dean Herbert
f84ea30637
Expose Mods in DrawableRuleset to avoid using external DI
2021-02-11 17:47:29 +09:00
Dean Herbert
aaa0362b12
Merge branch 'master' into autoplay-rate-independence
2021-02-11 17:39:45 +09:00
Dean Herbert
db79080bc4
Fix GetNodeSamples potentially returning a live reference and overwriting existing samples
2021-02-11 17:14:49 +09:00
Dean Herbert
4710a12774
Merge branch 'master' into classic-mode-flags
2021-02-11 16:21:55 +09:00
smoogipoo
5d1d6ec1cb
Fix inverted calculation
2021-02-10 22:09:24 +09:00
smoogipoo
20a6405fd2
Add explanatory comments + const
2021-02-10 22:06:19 +09:00
smoogipoo
bd2486e5a0
Fix grammatical error in comment
2021-02-10 21:27:12 +09:00
smoogipoo
1d425b8322
Simplify case
2021-02-10 21:25:31 +09:00
smoogipoo
4a391ce03d
Fix div-by-0 when 0 ticks are hit
2021-02-10 21:24:41 +09:00
smoogipoo
be9b07a4cf
Merge branch 'master' into difficulty-adjustment-extension
2021-02-10 20:42:08 +09:00
smoogipoo
c458c4cfae
Fix unintended changes due to renaming or otherwise
2021-02-10 20:27:47 +09:00
smoogipoo
0dcdad9839
Adjust comment for DrawableSliderHead
2021-02-10 19:04:23 +09:00
smoogipoo
6bf40170db
Rename SliderBall flag
2021-02-10 18:53:26 +09:00
smoogipoo
a16f4cee3a
Adjust DrawableSlider comment
2021-02-10 18:52:39 +09:00
smoogipoo
2fcc4213e1
Rename IgnoreJudgement -> OnlyJudgeNestedObjects
2021-02-10 18:46:26 +09:00
smoogipoo
9519b7f7c1
Adjust comment
2021-02-10 18:43:14 +09:00
smoogipoo
18a29dcb96
Rename bindable member, reorder binds
2021-02-10 18:42:24 +09:00
smoogipoo
6730c4c58b
Apply review comments (user explanations + property names)
2021-02-10 18:41:28 +09:00
smoogipoo
cf06684ad1
Judge heads as slider ticks instead
2021-02-10 18:38:31 +09:00
Dean Herbert
1cb51fa8d2
Merge branch 'master' into autoplay-rate-independence
2021-02-09 16:05:34 +09:00
Dean Herbert
695e46a358
Fix AutoPilot mod failing to block touch input
2021-02-09 15:31:55 +09:00
Dean Herbert
b96a594546
Remove unnecessary initial call to HitObjectApplied bound method
...
Was causing test failures. Looks to be unnecessary on a check of when
HitObjectApplied is invoked.
2021-02-09 15:11:59 +09:00
smoogipoo
7021d1dfdc
Merge branch 'hit-policy-refactor' into classic-mode-flags
2021-02-08 20:12:33 +09:00
smoogipoo
f4a31287bf
Add/use IHitObjectContainer interface instead of IEnumerables
2021-02-08 20:11:06 +09:00
smoogipoo
d955200e07
Prevent invalid hit results for ignored slider heads
2021-02-08 11:10:14 +09:00
smoogipoo
2218247b21
Override mod type
2021-02-08 11:07:50 +09:00
Bartłomiej Dach
0e1ec703d3
Use IApplicableToRate in osu! auto generator
2021-02-07 18:49:31 +01:00
Bartłomiej Dach
3fabe247b0
Allow OsuModGenerator to accept a mod list
2021-02-07 18:35:34 +01:00
Bartłomiej Dach
68c20a2a37
Allow autoplay score generation to access mod list
2021-02-07 18:35:34 +01:00
smoogipoo
a5855f5d28
Move follow circle tracking to DrawableSliderHead
2021-02-05 17:33:48 +09:00
smoogipoo
ee3367d7c5
Add classic slider ball tracking
2021-02-05 17:14:23 +09:00
smoogipoo
3aa3692ed4
Disable snaking out when tracking is disabled
2021-02-05 15:56:13 +09:00
smoogipoo
6aece18f8d
Add OOHP tests
2021-02-05 15:36:47 +09:00
smoogipoo
a4551dc1ee
Add object-ordered hit policy
2021-02-05 15:36:47 +09:00
smoogipoo
6c78d308a4
Merge branch 'hit-policy-refactor' into classic-mode-flags
2021-02-05 15:36:43 +09:00
smoogipoo
8adf37d958
Add SetHitObjects() to IHitPolicy instead of using ctor
2021-02-05 15:25:03 +09:00
smoogipoo
08aae011c1
Add IHitPolicy interface
2021-02-05 15:25:03 +09:00
smoogipoo
df1df81847
Better indicate ordering
2021-02-05 15:25:03 +09:00
smoogipoo
0528469b44
Rename OrderedHitPolicy -> StartTimeOrderedHitPolicy
2021-02-05 15:25:03 +09:00
smoogipoo
3b5c67a063
Add OsuModClassic
2021-02-03 23:08:59 +09:00
smoogipoo
2f22dbe06b
Make sliders display judgements when not ignored
2021-02-03 22:42:50 +09:00
smoogipoo
03b7817887
Add flags to return to classic slider scoring
2021-02-03 22:12:20 +09:00
smoogipoo
623b47f9af
Add flag to toggle follow circle tracking for slider heads
2021-02-03 21:55:19 +09:00
Bartłomiej Dach
ae08ef2543
Reset SPM counter state on DHO application
2021-01-29 20:32:45 +01:00
Dean Herbert
d521bfc251
Don't directly update HandleUserInput (as it is used by mods)
2021-01-30 02:35:11 +09:00
Dean Herbert
5a306dfc2b
Fix unused using
2021-01-29 20:22:25 +09:00
Dean Herbert
f25809d35f
Ensure spinners only handle input during their hittable time
...
While this was already being enforced inside of `CheckForResult`, the
internal tracking values of rotation were still being incremented as
long as the `DrawableSpinner` was present. This resulted in incorrect
SPM values being displayed if a user was to start spinning before the
object's `StartTime`.
Kind of annoying to write a test for (there's no setup for spinners yet)
but am willing to do so if that is deemed necessary.
Closes https://github.com/ppy/osu/issues/11600 .
2021-01-29 19:55:55 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
Dean Herbert
000c7dd07b
Merge pull request #11502 from peppy/fix-spinner-spinning-weirdness
...
Fix some issues with spinner spin sound
2021-01-18 22:50:32 +09:00
Dan Balasescu
95963f2fa2
Merge pull request #11526 from peppy/fix-editor-repeat-slider-adjustment
...
Fix sliders with an even number of repeats not allowing rotation/scale transforms
2021-01-18 18:56:25 +09:00
Dean Herbert
707d5346c9
Merge branch 'master' into fix-spinner-spinning-weirdness
2021-01-18 18:26:44 +09:00
Dean Herbert
2f1d4bf51b
Add missing braces
2021-01-18 17:13:47 +09:00
Dean Herbert
c79ab63743
Fix sliders with an even number of repeats not allowing rotation/scale transforms
2021-01-18 16:59:16 +09:00
Dean Herbert
02d2b2742b
Fix selection box not updating with hitcircles/sliders far in the future or past
2021-01-18 16:57:36 +09:00
smoogipoo
1b166d809e
Adjust package titles
2021-01-18 11:08:03 +09:00
smoogipoo
ec00aaef90
Add nuget deploys for all rulesets
2021-01-18 10:53:31 +09:00
Dean Herbert
14b3323682
Use OnComplete instead of Finally to avoid potentially stopping on aborted transforms
2021-01-15 17:18:15 +09:00
Dean Herbert
311f8b7017
Only restart spinning sample if it was not already playing
2021-01-15 17:17:51 +09:00
Dean Herbert
767c76921f
Adjust transition time of spinner sound
2021-01-15 17:17:28 +09:00
Bartłomiej Dach
1ba586a683
Revert overlooked AR<8 speed buff
...
Pull request #11107 introduced changes in osu! performance calculation,
related to a scaling coefficient applied to the speed and aim skills.
The coefficient in question was dependent on the approach rate of
a map. During a post-merge review of that PR, it was spotted that
the scaling coefficient for speed also had a 10x buff applied for AR<8,
which could reach magnitudes as large as 80% on AR0, which seems quite
exorbitant. This change was not discussed or mentioned anywhere in the
review process.
Revert back to the old multiplier of 0.01 rather than 0.1 for AR<8. The
negative slope through AR0 to 8 is retained in its previous form.
2021-01-13 17:59:29 +01:00
Bartłomiej Dach
303cc62ee7
Transfer flags indicating if settings were changed
2021-01-06 22:46:46 +01:00
TheOmyNomy
355ecc4499
Change cursor trail blending mode to match stable
2020-12-29 12:37:57 +11:00
Dean Herbert
a411b26a09
Remove unnecessary clamp
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2020-12-24 10:51:24 +09:00
Dean Herbert
dec997c0f4
Fix flashlight not updating its position during replay rewinding
...
Closes #11260
2020-12-23 14:44:38 +09:00
Dean Herbert
87176edca1
Fix crash when attempting to scale two hitobjects on the same axis
2020-12-22 12:52:57 +09:00
Bartłomiej Dach
569caa9500
Merge branch 'master' into add-bundle-header
2020-12-17 20:55:24 +01:00
Dean Herbert
76ffe31855
Merge pull request #11138 from smoogipoo/stanr-nf-multiplier
...
Port StanR's NF multiplier changes
2020-12-17 18:59:46 +09:00
Dean Herbert
88b3bf06e8
Merge branch 'master' into add-bundle-header
2020-12-16 13:40:15 +09:00
Dan Balasescu
8bdef0ff55
Code quality fix
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-12-15 13:18:41 +09:00
Xexxar
54827d4e96
fixed low 50s count still penalizing high obj count maps
2020-12-14 12:41:24 -06:00
Dean Herbert
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
Dan Balasescu
66f43e523b
Merge pull request #11147 from Xexxar/miss-penalty-curve
...
Change miss penalty curve for speed and aim pp awarded in the osu! ruleset
2020-12-14 14:25:26 +09:00
Xexxar
1dce446c52
Merge branch 'miss-penalty-curve'
2020-12-11 10:49:31 -06:00
Xexxar
b7872a54b8
small factor rebalance
2020-12-11 10:48:53 -06:00
Xexxar
a5a66e71f9
Merge branch 'miss-penalty-curve'
2020-12-11 10:22:04 -06:00
Xexxar
abc8a2982c
swapped ^.75 buff onto speed instead of aim
2020-12-11 08:20:56 -06:00
Xexxar
c20117f0fb
Merge branch 'miss-penalty-curve'
2020-12-11 08:02:39 -06:00
Xexxar
544160798b
cleaned up mistakes and made quality changes
2020-12-11 08:01:45 -06:00
Xexxar
fd0d793c69
changed the comment to reflect the change
2020-12-10 18:51:54 -06:00
Xexxar
e45417d4fe
Merge branch 'lowacc-nerf'
2020-12-10 14:24:42 -06:00
Xexxar
1f2946d64c
changed miss penalty curve to scale with totalhits
2020-12-10 14:21:06 -06:00
Xexxar
cc5639d2b4
added unneeded whitespace
2020-12-10 09:48:40 -06:00
smoogipoo
7c2f506b79
Port StanR's NF multiplier changes
2020-12-10 17:10:29 +09:00
Xexxar
54abc3bd4d
revert aim curve and add new 50s nerf
2020-12-09 20:07:52 -06:00
Xexxar
149651dec1
Merge branch 'lowacc-nerf' of https://github.com/Xexxar/osu into lowacc-nerf
2020-12-09 13:05:11 -06:00
Xexxar
d604c51cbd
capped scaling at OD 8 to prevent overscaling
2020-12-09 13:04:14 -06:00
Xexxar
a2bd8ece10
Merge branch 'master' into lowacc-nerf
2020-12-09 12:06:33 -06:00
Xexxar
05ad9aae8d
changed curve to linear OD + acc based curve
2020-12-09 11:57:01 -06:00
Xexxar
cfc34a63bd
realized i accidently deleted the OD scaling
2020-12-09 11:21:03 -06:00
Xexxar
7e3fcfe437
fixed issue with comment
2020-12-09 10:35:48 -06:00
smoogipoo
47a93d8614
Adjust osu! hitobject fade-ins to support AR>10
2020-12-10 00:37:19 +09:00
smoogipoo
ac91f0e270
Add extended limits to difficulty adjustment mod
2020-12-10 00:37:19 +09:00
Xexxar
748035e80a
changes to acc scaling curve for speed and aim pp
2020-12-08 16:53:52 -06:00
smoogipoo
168ba62500
Port StanR's dynamic SO pp changes
2020-12-08 22:09:48 +09:00
Dan Balasescu
c3cb82489b
Merge pull request #11107 from Xexxar/ar11-nerf
...
osu! PerformanceCalc Short Map AR11 Nerf
2020-12-08 12:51:26 +09:00
smoogipoo
57b7ef88e2
Fix spacing
2020-12-08 12:12:53 +09:00
ekrctb
0d88ff3404
Adjust namespace
2020-12-07 12:27:12 +09:00
ekrctb
c905df8a77
Move LegacySkinTransformer
2020-12-07 12:26:58 +09:00
Xexxar
cf3fbe0b0b
osuDifficulty ar11 nerf
2020-12-06 18:06:36 -06:00
ekrctb
0ed9989a82
Adjust namespace
2020-12-04 20:25:49 +09:00
ekrctb
626956febd
Move some files from Drawables to Skinning.Default namespace
2020-12-04 20:25:12 +09:00
ekrctb
245be2c5ed
Adjust namespace
2020-12-04 20:21:53 +09:00
ekrctb
a12b049154
Move piece files in Osu ruleset
2020-12-04 20:11:35 +09:00
Dean Herbert
2f4b3a2d4c
Merge branch 'master' into fix-hidden-increased-visibility-state-2
2020-12-04 13:38:01 +09:00
Dean Herbert
5db15a6b26
Merge branch 'master' into fix-hidden-mod-crash
2020-12-04 12:50:02 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived
2020-12-04 11:04:56 +09:00
Bartłomiej Dach
4d739f11a8
Fix spinner ticks getting increased visibility state
...
Regressed in #10696 . The old `IsFirstHideableObject()` method did not
consider nested hitobjects, while its replacement -
`IsFirstAdjustableObject()` - did. Therefore, spinner ticks could be
considered first adjustable objects, breaking the old logic.
There is no need to match over `SpinnerBonusTick`, as it inherits from
`SpinnerTick`.
2020-12-03 22:51:59 +01:00
smoogipoo
09af4bbd57
Merge branch 'dho-remove-onparentreceived' into fix-hidden-mod-crash
2020-12-03 20:10:16 +09:00
smoogipoo
0bdf99b97a
Remove OnParentReceived()
2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc
Change order of OnParentReceived()
2020-12-03 20:06:26 +09:00
smoogipoo
e3bbc2b128
Rework osu! hidden mod to avoid storing hitobjects
2020-12-03 14:45:56 +09:00
smoogipoo
e831c797f3
Merge branch 'master' into hit-sample-pooling
2020-12-02 14:45:24 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dean Herbert
d344268df7
Merge pull request #11028 from peppy/osu-fade-slider-body-on-hit
...
Hide slider body immediately on successful hit when snaking is enabled
2020-12-02 12:59:26 +09:00
Dan Balasescu
be3fed3072
Merge pull request #11024 from peppy/fix-slider-point-drag-offset
...
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-02 11:10:06 +09:00
Dan Balasescu
8dfe3a21cc
Merge pull request #11025 from peppy/editor-slider-control-point-scaling
...
Scale slider control point display in line with circle size
2020-12-02 11:06:00 +09:00
Dan Balasescu
46a57921e2
Merge branch 'master' into osu-fade-slider-body-on-hit
2020-12-02 11:03:04 +09:00
smoogipoo
2bb7484608
Merge branch 'immutable-hit-samples' into hit-sample-pooling
2020-12-01 16:05:28 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
Dean Herbert
dd05c56a08
Fix sliders playing hit animations when completely missed
2020-12-01 15:34:29 +09:00
Dean Herbert
f8ef822e73
Add short fade to better hide transition on default skin
2020-12-01 15:21:32 +09:00
Dean Herbert
d0852d7f4a
Hide slider body immediately on successful hit when snaking is enabled
2020-12-01 14:56:41 +09:00
Dean Herbert
8d101efb24
Remove unused proxy layer
2020-12-01 14:56:14 +09:00
Dean Herbert
b256c54619
Scale slider control point display in line with circle size
2020-12-01 14:17:36 +09:00
Dean Herbert
c8c1848bb8
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-01 13:46:30 +09:00
Bartłomiej Dach
5fbe1823a0
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:39:22 +01:00
Dean Herbert
51741c4791
Merge branch 'master' into hit-sample-pooling
2020-11-30 22:25:28 +09:00
smoogipoo
f589da4317
Fix compilation error
2020-11-30 19:24:38 +09:00
Dean Herbert
c17d67bc7d
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:34:38 +09:00
smoogipoo
4bbeb9ebd4
Merge branch 'master' into hit-sample-pooling
2020-11-30 18:31:58 +09:00
smoogipoo
fdef6e479c
Remove 1000ms offset and adjust comment
2020-11-30 18:28:04 +09:00
smoogipoo
8f48389f89
Merge branch 'master' into improve-dho-time-offsets
2020-11-30 18:01:48 +09:00
Dean Herbert
5bc76cac58
Remove unused using statement
2020-11-27 17:01:07 +09:00
Dean Herbert
1246c8ba5f
Reduce the opacity of the default skin slider ball
...
Previous value was [hitting pure white on some brighter combo
colours](https://github.com/ppy/osu/issues/10910#issuecomment-734354812 ).
2020-11-27 15:22:29 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets
2020-11-27 15:03:56 +09:00
ekrctb
fe85b7d482
Remove unused import
2020-11-27 10:18:00 +09:00
ekrctb
57454bbb1c
Remove hitObject argument from OnApply and OnFree
2020-11-27 10:13:05 +09:00
Dean Herbert
b1864670a2
Merge pull request #10961 from smoogipoo/better-dho-rewind
...
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap
2020-11-26 17:06:47 +09:00
smoogipoo
0414e5c550
Add MaximumJudgementOffset to DrawableHitObject, use in more places
2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57
Rewind pooled DHOs into better states
2020-11-26 00:42:25 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added
2020-11-24 16:09:57 +09:00
Dean Herbert
5662e722ed
Merge pull request #10936 from bdach/fix-follow-points-getting-stuck
...
Fix legacy follow point animations not playing after a while
2020-11-23 14:14:00 +09:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez
2020-11-22 13:29:02 +01:00
Bartłomiej Dach
1c31a4a6b6
Expose animation start time as mutable in interface
2020-11-22 13:11:22 +01:00
ekrctb
c506b438bf
Remove more code and make some methods private
2020-11-22 18:51:16 +09:00
ekrctb
5247ebaf53
Restore accidently removed comment
2020-11-22 18:51:16 +09:00
Bartłomiej Dach
240c1b0aef
Add support for changing animation start time after load
2020-11-21 20:06:30 +01:00
Bartłomiej Dach
e55326e7c7
Merge branch 'master' into fix-slider-selection-nre
2020-11-21 15:08:05 +01:00
ekrctb
295ca38cda
Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added
2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6
Event -> virtual method
2020-11-21 15:20:33 +09:00
ekrctb
82aefa3868
Rework and rename to OnNewDrawableHitObject.
...
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
smoogipoo
9520cf6481
Merge branch 'master' into fix-judgement-ordering
2020-11-20 22:49:33 +09:00
smoogipoo
96abee3fde
Fix silent NRE in slider selection blueprint
2020-11-20 22:43:10 +09:00
Dan Balasescu
de824e47df
Merge branch 'master' into remove-dead-playfield-code
2020-11-20 21:48:24 +09:00
Dan Balasescu
b799fcf65b
Merge pull request #10916 from peppy/fix-editor-context-menus-outside-playfield
...
Fix slider right click context menus not being shown outside the valid playfield area
2020-11-20 21:47:44 +09:00
Dan Balasescu
4213d6bdba
Merge pull request #10890 from peppy/legacy-jugement-match-stable-transforms
...
Adjust judgement animations to match stable
2020-11-20 21:47:21 +09:00
Dan Balasescu
79752bcb19
Merge branch 'master' into legacy-jugement-match-stable-transforms
2020-11-20 20:51:27 +09:00
ekrctb
27f5a99726
Fix more than one proxy is created
2020-11-20 18:42:48 +09:00
ekrctb
cd16a3fa61
Use event instead of using custom pools (osu)
2020-11-20 17:56:47 +09:00
smoogipoo
7bd75eca81
Separate classes
2020-11-20 16:53:08 +09:00
smoogipoo
c1f56cd0ba
Remove aliveness hackery
2020-11-20 16:52:27 +09:00
smoogipoo
85eb98a7ec
Clean up some code reuse
2020-11-20 16:43:07 +09:00
Dean Herbert
7fe0923fcf
Show main judgement content above hitobjects
2020-11-20 16:25:48 +09:00
smoogipoo
2418f17b0c
Fix lifetime not being set correctly in some cases
2020-11-20 16:19:02 +09:00
Dean Herbert
0e9999ecb1
Merge branch 'remove-dead-playfield-code' into fix-judgement-ordering
2020-11-20 16:12:48 +09:00
smoogipoo
2ed2ddfe8a
Rename methods
2020-11-20 15:39:29 +09:00
smoogipoo
33eea64cfc
Fix follow points not updating on positional changes
2020-11-20 15:31:04 +09:00
Dean Herbert
185653b1d8
Remove depth specifications
2020-11-20 15:11:24 +09:00
Dean Herbert
45b1fcf26f
Remove unnecessary using statement
2020-11-20 15:01:37 +09:00
Dean Herbert
af67b4a346
Remove no longer necessary code from OsuPlayfield
2020-11-20 14:57:08 +09:00
smoogipoo
2fc53a278d
Add back reorder support
2020-11-20 14:10:28 +09:00
smoogipoo
17ff7fe163
Fix failing test due to early lifetime end
2020-11-20 13:55:27 +09:00
smoogipoo
a3145ed96d
Fix test compile errors
2020-11-20 13:54:41 +09:00
Dean Herbert
b547abafb2
Fix slider right click context menus not being shown outside the valid playfield area
...
Closes #10816 .
2020-11-20 13:46:23 +09:00
smoogipoo
d467a00eea
Add initial followpoint pooling implementation
2020-11-20 00:11:31 +09:00
smoogipoo
688a04c2ff
Make slider/spinner use pooled samples
2020-11-19 20:40:30 +09:00
Dean Herbert
7f3c8ad744
Merge pull request #10872 from smoogipoo/fix-missing-triangles
2020-11-19 14:11:08 +09:00
Dean Herbert
3024ae6d86
Add better test coverage of hit lighting (and ensure reset after animation reapplication)
2020-11-19 14:10:07 +09:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms
2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic
2020-11-18 19:20:11 +01:00
Dean Herbert
d017e725fb
Add comment for future todo task
2020-11-18 19:03:34 +09:00
Dean Herbert
9d3de5bca0
Fix hit lighting dictating lifetime even when not present in skin
2020-11-18 19:03:34 +09:00
Dean Herbert
72a15ef2dc
Handle DrawableJudgement lifetime more flexibly
2020-11-18 19:03:34 +09:00
Dean Herbert
94886a09b2
Remove fades from DrawableJudgement itself
2020-11-18 19:03:34 +09:00
Dean Herbert
37b9550e6e
Merge pull request #10876 from nbvdkamp/slider-control-point-connection-fix
...
Fix slider control point connections not being updated
2020-11-18 18:54:54 +09:00
kamp
2d66423fbd
Simplify inequality
2020-11-17 23:04:38 +01:00
kamp
c8fb49d540
Apply suggestions and remove redundant updateConnectingPath call
2020-11-17 22:23:46 +01:00
smoogipoo
ce4baf328d
Move into OnApply() to resolve one-frame issues
2020-11-17 23:35:36 +09:00
smoogipoo
04805b78c3
Tighten osu! ruleset lifetime expiry for past hitobjects
2020-11-17 23:20:19 +09:00
Dean Herbert
8247e6ce91
Move result type to ctor
2020-11-17 15:43:54 +09:00
Dean Herbert
f465dd5a5e
Move all extended animation logic out of DrawableJudgement
2020-11-17 14:59:34 +09:00
Dean Herbert
82c3925a37
Remove unused DrawableOsuJudgement constructors
2020-11-17 14:13:51 +09:00
Dean Herbert
9dfa4249e0
Make Apply non-virtual
2020-11-17 14:05:13 +09:00
smoogipoo
c101f32db8
Reset osu! triangle pieces on hitobject application
2020-11-17 13:06:52 +09:00
kamp
c6618f08aa
Fix slider control point connections not being updated
2020-11-16 21:26:08 +01:00
Bartłomiej Dach
8da40ce2dc
Reduce duplication by extracting ModEasyWithExtraLives
2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017
Merge branch 'master' into change-taiko-ez
2020-11-16 19:37:47 +01:00
smoogipoo
84b42f207d
Fix triangles disappearing after a while
2020-11-16 23:14:20 +09:00
smoogipoo
4cf6aca873
Fix slider ball tint not working
2020-11-16 22:40:25 +09:00
PercyDan54
99ee5e3ad7
Correct inheritance
2020-11-16 18:28:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy
2020-11-16 18:15:15 +08:00
Dan Balasescu
09298139e1
Merge pull request #10844 from bdach/spinner-rotation-tracker-state
...
Fix rotation tracker state not being reset on drawable spinner re-use
2020-11-16 17:10:40 +09:00
Dean Herbert
6706840b54
Merge pull request #10853 from bdach/add-to-legacy-conversion-tests
2020-11-16 15:22:04 +09:00
Bartłomiej Dach
a17990f2ee
Fix osu!-specific missing cases
2020-11-15 15:40:31 +01:00
kamp
268bbcf77d
Clamp selection movement instead of refusing to move on borders
2020-11-15 14:22:46 +01:00
Bartłomiej Dach
532680bb36
Manually reset rest of rotation tracker state on object application
2020-11-14 23:23:11 +01:00
Bartłomiej Dach
727a886fb3
Move spinner completion info into judgement
2020-11-14 23:08:47 +01:00
Bartłomiej Dach
af392e3995
Move rate adjusted spinner rotation into judgement result
2020-11-14 21:10:12 +01:00
Dean Herbert
deea75b2e9
Fix typo in comment
2020-11-14 18:05:51 +09:00
Dean Herbert
7ac4d2c4be
Move "drawable" to first prefix
2020-11-14 18:05:30 +09:00
Dean Herbert
90f37ff4ab
Rejig namespaces
2020-11-14 18:04:59 +09:00
Dean Herbert
354e748e45
Merge branch 'master' into osu-hitobject-pooling-playfield
2020-11-14 15:44:00 +09:00
Bartłomiej Dach
3985fb1fa7
Merge branch 'master' into allow-reversing-spinners
2020-11-13 19:48:40 +01:00
smoogipoo
5b60f32c7f
Move implementation into OsuPlayfield
2020-11-14 01:03:23 +09:00
smoogipoo
1e05fd48e2
Fix hidden mod crash
2020-11-13 23:08:27 +09:00
kamp
742a140462
Merge branch 'master' into allow-reversing-spinners
2020-11-13 11:08:56 +01:00
smoogipoo
f7f70d41df
Add osu! editor pooling support
2020-11-13 17:28:26 +09:00
smoogipoo
3c91626132
Merge branch 'pooling-editor-support' into osu-editor-pooling
2020-11-13 17:27:00 +09:00