1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-01 07:17:27 +08:00
Commit Graph

3539 Commits

Author SHA1 Message Date
Pasi4K5
d90708d646
Merge branch 'master' into mod-osu-random 2021-05-01 02:45:32 +02:00
Bartłomiej Dach
9cb55ca245
Merge branch 'master' into barrel-roll 2021-04-30 22:27:27 +02:00
Andrei Zavatski
7bf3498e2a Calculate playfield scale locally 2021-04-30 02:49:19 +03:00
Andrei Zavatski
25e0fb1cf9 Refactor OsuModBarrelRoll to allow it's usage by other rulesets 2021-04-30 01:59:59 +03:00
Dean Herbert
9c62c90cfc Refactor SelectionBlueprint and MoveSelectionEvent to work in screen-space coordinates
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.

This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Pasi4K5
95040f7edc Change initial seed to a random number 2021-04-27 22:19:04 +02:00
Pasi4K5
a141a4e9e6 Add setting "Seed"
Random numbers are now generated with the seed specified in the mod settings.
2021-04-27 20:44:36 +02:00
Pasi4K5
4b05568d2d Revert "Fix bug causing the star rating to change when Random is enabled"
This reverts commit 1dfe028c02.
2021-04-27 19:39:58 +02:00
Dean Herbert
f586bc46e6 Avoid using EditorBeatmap.SelectedHitObjects 2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
Dean Herbert
ec1c336b0a Fix a couple of inspections 2021-04-27 13:23:14 +09:00
Pasi4K5
1dfe028c02 Fix bug causing the star rating to change when Random is enabled 2021-04-26 22:26:13 +02:00
Pasi4K5
19fc224348 Revert "Make OsuAutoGenerator spin the cursor around the position of the spinner instead of a set value"
This reverts commit 817bb5213c.
2021-04-26 11:52:46 +02:00
smoogipoo
1e0ee3cd61 Merge branch 'master' into fix-editor-slider-repeat-animation 2021-04-26 16:45:04 +09:00
Dan Balasescu
0727728771
Merge pull request #12579 from peppy/rename-edit-classes
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 16:44:35 +09:00
smoogipoo
0d0b4ea78a Rewrite comment to hopefully be more readable 2021-04-26 15:47:37 +09:00
smoogipoo
f70e45b199 Prevent adding null enumerable 2021-04-26 15:35:08 +09:00
Dean Herbert
d10aac851d Extract scale constant 2021-04-26 15:30:22 +09:00
Dean Herbert
8795c5f082 Update osu! editor transform logic to allow adjustments to DrawableSliderRepeat and DrawableSliderTail 2021-04-26 15:27:10 +09:00
Dean Herbert
4da964c3f3 Expose DrawableSliderRepeat's arrow and move transforms to children 2021-04-26 15:22:42 +09:00
Dean Herbert
aa7ade8186 Expose presence of MainCirclePiece via an interface 2021-04-26 15:22:17 +09:00
smoogipoo
6182181ea1 Fix simultaneous slider input not allowing both keys 2021-04-26 15:20:29 +09:00
Dean Herbert
4898471d68 Merge branch 'master' into fix-editor-slider-repeat-animation 2021-04-26 14:43:22 +09:00
Dean Herbert
e8d83f2f99 Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword 2021-04-26 14:33:30 +09:00
Salman Ahmed
0b9172a1dc Animate back slider repeat and tail circle pieces 2021-04-26 02:39:49 +03:00
Pasi4K5
6e85c4e069 Change randomisation process to keep distances between objects
Remove now unnecessary settings;
Remove spinners;
Sliders are not implemented yet
2021-04-25 23:57:01 +02:00
Pasi4K5
08821da954 Change mod description 2021-04-25 01:43:32 +02:00
Pasi4K5
f33f1b2bed Remove class "ModRandomOsu" and adjust code
Add documentation comment for OsuModRandom
2021-04-25 01:34:39 +02:00
Pasi4K5
92f765b958 Change ModType from Fun to Conversion 2021-04-25 01:19:06 +02:00
Pasi4K5
817bb5213c Make OsuAutoGenerator spin the cursor around the position of the spinner instead of a set value
This is to make Autoplay work with randomised spinner positions
2021-04-25 00:46:35 +02:00
Pasi4K5
961bd1177c Add mod "Random" for ruleset "osu!" 2021-04-25 00:39:36 +02:00
Dan Balasescu
50f37ef09c
Merge pull request #12519 from peppy/editor-hit-animation-toggle
Add editor hit animation toggle
2021-04-22 20:49:21 +09:00
smoogipoo
d4d78f7434 Merge branch 'master' into legacy-scores-classic-mod 2021-04-22 18:44:20 +09:00
Dean Herbert
0f70469d1c Only apply custom editor overrides if hit animations is disabled 2021-04-21 19:44:17 +09:00
Dean Herbert
f2824a222a Adjust existing fades to close match stable editor 2021-04-21 19:41:15 +09:00
Dean Herbert
47a4a07024 Split out animation triggering of MainCirclePiece to be interface driven 2021-04-21 19:15:10 +09:00
Salman Ahmed
e90d791754 Add base "classic" mod 2021-04-21 09:14:19 +03:00
Dean Herbert
6164902eba
Merge pull request #12510 from smoogipoo/fix-wiggle-slider-tails
Fix slider tails wiggling independently
2021-04-21 11:30:13 +09:00
smoogipoo
e454037d82 Add to comment 2021-04-21 10:32:13 +09:00
Dan Balasescu
397df41570
Merge pull request #12507 from peppy/fix-cursor-position-rotated
Fix click-to-resume cursor location being incorrect when playfield is transformed
2021-04-21 10:29:35 +09:00
smoogipoo
9d423201ed Fix slider tails wiggling independently 2021-04-21 10:29:18 +09:00
Dean Herbert
4910d8f56c Fix click-to-resume cursor location being incorrect when playfield is transformed
Closes #12501.
2021-04-21 00:12:49 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
Add background and audio checks
2021-04-21 00:10:32 +09:00
Dan Balasescu
86772869da
Merge pull request #12498 from peppy/barrel-roll-faster-spin
Allow faster roll speed selection in "Barrel Roll" mod
2021-04-20 20:39:45 +09:00
Dean Herbert
ac0ed72d04 Keep hitcircles aligned with view in "Barrel Roll" mod 2021-04-20 18:36:11 +09:00
Dean Herbert
f11b068dee Allow faster roll speed selection in "Barrel Roll" mod 2021-04-20 18:22:58 +09:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks 2021-04-20 02:36:13 +02:00
Naxess
8656176ab8 Add the playable beatmap as check argument
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.

So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.

This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Dean Herbert
510e54ff54 Update framework 2021-04-19 23:41:21 +09:00
Naxess
56bf49c85c Take IWorkingBeatmap instead of WorkingBeatmap
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
448574e7e6 Use WorkingBeatmap instead of IBeatmap
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.

Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Salman Ahmed
c1082ddb9a
Add space before the unit
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-04-17 06:28:07 +03:00
Salman Ahmed
892a8a7cd2 Remove unnecessary comma 2021-04-17 04:23:48 +03:00
Salman Ahmed
78c8508784 Remove unused using directive
gotta git gud
2021-04-17 03:52:08 +03:00
Salman Ahmed
d5a1e00feb Improve "barrel roll" mod settings description 2021-04-17 03:32:47 +03:00
Dean Herbert
f824105075 Merge branch 'master' into fix-slider-zero-length 2021-04-16 18:47:22 +09:00
Dan Balasescu
7648d6f7fb
Merge pull request #12443 from peppy/fix-slider-scale-crash
Fix div-by-zero when scaling a 1-dimensional slider
2021-04-16 17:31:42 +09:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
Dean Herbert
401bf368a7 Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length 2021-04-16 16:58:19 +09:00
Dean Herbert
8de68e0ebf Fix div-by-zero when scaling a 1-dimensional slider 2021-04-16 16:55:26 +09:00
Dean Herbert
ff408b852e Handle scaling a slider below minimum length 2021-04-16 15:45:24 +09:00
Dean Herbert
89373638be Handle control point deletion when the resulting slider would be too short to be useful 2021-04-16 15:45:24 +09:00
Dean Herbert
2949a6bbdc Handle control point drag revert 2021-04-16 15:45:24 +09:00
Dean Herbert
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09:00
Dean Herbert
965a1ead36 Disallow zero-length slider blueprint placements 2021-04-16 14:38:30 +09:00
ekrctb
a965e8a75d Remove AutoGenerator workaround of now-fixed issue 2021-04-16 14:13:41 +09:00
ekrctb
91c7d8d26c Introduce StartFrame and EndFrame to simplify the replay interpolation code 2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de Make FramedReplayInputHandler.CurrentTime non-null 2021-04-16 14:13:41 +09:00
Dean Herbert
5c0ef55691 Rename SliderPlacementState to make way for more generic version 2021-04-16 14:09:35 +09:00
Dan Balasescu
587973be25
Merge pull request #12405 from frenzibyte/top-left-cursor
Add support for legacy skin's `CursorCentre` setting
2021-04-16 00:30:53 +09:00
smoogipoo
34859a4760 Invalidate drawnode on change 2021-04-15 23:37:05 +09:00
Dan Balasescu
3374895e40
Merge branch 'master' into mod-barrel-roll 2021-04-15 22:15:26 +09:00
smoogipoo
1a987dfbc0 Fix gameplay cursor showing offscreen 2021-04-15 21:16:38 +09:00
Dean Herbert
698a9d3fed Add rotation direction setting 2021-04-15 14:40:03 +09:00
Dean Herbert
23eb1c655c Add missing description 2021-04-15 14:37:47 +09:00
Dean Herbert
7469849e7c Merge branch 'abstract-mod-description' into mod-barrel-roll 2021-04-15 14:37:17 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
Dean Herbert
0d32290cd5 Show roll speed in rotations-per-minute 2021-04-15 13:15:52 +09:00
Dean Herbert
362a5a39d0 Scale the playfield to avoid off-screen objects 2021-04-15 13:15:42 +09:00
Dean Herbert
a209415942 Add "Barrel Roll" mod 2021-04-14 16:52:29 +09:00
Salman Ahmed
367dafab56 Apply CursorCentre to old-style legacy cursor trail 2021-04-14 08:20:18 +03:00
Salman Ahmed
ad53ababe8 Fix wrong default
Ah, soz
2021-04-14 08:16:46 +03:00
Salman Ahmed
bf5ed12b75 Add support for legacy skin CursorCentre setting 2021-04-14 06:33:54 +03:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Dean Herbert
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
Naxess
304fe5cd34 Add CheckBackground to OsuBeatmapVerifier 2021-04-13 10:41:02 +02:00
Naxess
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
Naxess
c8cb4286f6 Add reference for screen bounding box numbers 2021-04-13 10:35:06 +02:00
Dean Herbert
fbc6fb8fc5 Split out common logic into private method and add inline comment for future visitors 2021-04-13 15:35:57 +09:00
Naxess
6d3f9fa9ce Use is class instead of Equals with template index
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d9e3276d0e Don't update path type once immediately 2021-04-12 19:18:22 +02:00
Naxess
19a154ddf1 Rename checkOrigin -> check
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0 Remove check ctors and locals 2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282 Remove redundant parameter naming 2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021 Move nested classes to bottom of file 2021-04-12 23:36:10 +09:00
Naxess
7c4f6d2b62 Rework template usage
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
Naxess
a2fc9c398f Rename CreateChecker -> CreateBeatmapVerifier 2021-04-12 10:08:30 +02:00
Naxess
65ebdd8f7a Move check origin from IssueTemplate to Issue
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
8bf85d737c Change Metadata into a get property 2021-04-12 15:52:29 +09:00
Dean Herbert
8c31e96cdf Change some methods to get properties 2021-04-12 15:52:18 +09:00
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
smoogipoo
942ecde0e1 Merge branch 'master' into pooling-editor-support 2020-11-13 17:23:35 +09:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
smoogipoo
beb6bbd2a1 Implement now abstract method 2020-11-13 14:58:32 +09:00
smoogipoo
7085b25898 Merge branch 'hitobject-pooling-base' into osu-hitobject-pooling 2020-11-13 14:57:59 +09:00
Dean Herbert
38105ed6a2
Merge branch 'master' into hitobject-pooling-base 2020-11-13 11:27:32 +09:00
Dean Herbert
030df8234a
Merge pull request #10805 from bdach/fix-osu-hd-mod-part-2
Fix slider ends not fading out after a rewind with hidden mod
2020-11-13 11:27:15 +09:00
kamp
66544544d3
Merge branch 'master' into allow-reversing-spinners 2020-11-13 00:40:49 +01:00
kamp
45ce6cc82d Allow spinners to be reversed 2020-11-13 00:36:47 +01:00
kamp
1439c0f392 Prevent SelectionBox handles from appearing when a stack of circles is selected 2020-11-12 23:19:29 +01:00
Dan Balasescu
2840fd0f8f
Merge branch 'master' into hitobject-pooling-base 2020-11-12 23:17:36 +09:00
smoogipoo
3f0a127196 Fix slider/spinner samples not being disposed 2020-11-12 18:51:58 +09:00
smoogipoo
7548db7ecc Fix hitobjects sometimes not fading in completely with HD mod 2020-11-12 18:29:22 +09:00
Bartłomiej Dach
0ae6f82291 Fix incorrect fade of slider ends after a rewind 2020-11-12 09:33:39 +01:00
smoogipoo
3f78d81386 Add nested osu! hitobject pooling 2020-11-12 15:59:48 +09:00
smoogipoo
1ea526b5ef Adjust pooling implementation with branch changes 2020-11-12 15:39:02 +09:00
smoogipoo
bf72961959 Add top-level osu! hitobject pooling 2020-11-12 15:39:02 +09:00
smoogipoo
606cfacedf Fix state update exception in a better way 2020-11-11 19:01:12 +09:00
smoogipoo
5d55af5818 Fix hitobjects sometimes not fading in completely with HD mod 2020-11-11 16:35:48 +09:00
Dean Herbert
a82291f31f
Merge pull request #10776 from smoogipoo/fix-possible-nullref
Fix possible nullref with non-attached hitobjects
2020-11-11 11:14:57 +09:00
smoogipoo
81844878b0 Fix possible nullref with non-attached hitobjects 2020-11-11 00:29:34 +09:00
smoogipoo
0bab5605d1 Merge branch 'master' into dho-apply 2020-11-10 01:30:45 +09:00
kamp
42c543472d Remove unnecessary null coalesce 2020-11-07 01:56:41 +01:00
kamp
b47a2a03d5 Fix nullref when quickdeleting slider that hasn't been selected yet 2020-11-07 01:53:14 +01:00
Dean Herbert
d93cf08570
Merge branch 'master' into dho-apply 2020-11-07 01:18:46 +09:00
smoogipoo
b1e039bcec Prevent overrides from messing with application/freeing 2020-11-07 00:40:26 +09:00
smoogipoo
3a4bd73823 Fix DHOs being freed when not expected 2020-11-07 00:25:26 +09:00
smoogipoo
e190afbfed Remove initial value changed invocations 2020-11-07 00:00:25 +09:00
smoogipoo
33b629a87a Make top-level osu! objects use new methods 2020-11-06 23:09:23 +09:00
Dan Balasescu
f230250faf
Merge branch 'master' into editor-slider-control-point-quick-delete 2020-11-06 21:47:37 +09:00
Dan Balasescu
cf9acca78a
Merge pull request #10676 from peppy/fix-hitcircle-glow-on-skin-change
Fix skin changes resulting in incorrectly applied transforms in MainCirclePiece
2020-11-06 21:09:22 +09:00
Dean Herbert
e0ef777e87
Merge branch 'master' into fix-hitcircle-glow-on-skin-change 2020-11-06 16:47:56 +09:00
Dan Balasescu
5d7fa42d90
Merge branch 'master' into add-spinner-clear 2020-11-06 16:14:15 +09:00
Dan Balasescu
44c6457c85
Merge branch 'master' into add-spinner-spin 2020-11-06 15:40:40 +09:00
Dan Balasescu
41dc3a7abd
Merge branch 'master' into add-spinner-glow 2020-11-06 14:37:54 +09:00
Dan Balasescu
71a1165209
Merge branch 'master' into drawable-hit-object-hit-state-fix 2020-11-06 13:19:25 +09:00
Dean Herbert
d7a912a0d2 Match stable's transform 1:1 2020-11-05 19:44:34 +09:00
Dean Herbert
71253cb5e9 Add support for spinner "clear" text in legacy skins 2020-11-05 19:35:32 +09:00
Dean Herbert
5e387e92cd Add positional offset to avoid the SPM counter 2020-11-05 19:16:47 +09:00
Dean Herbert
901102918e Centralise scale and apply to SPIN text 2020-11-05 19:05:59 +09:00
Dean Herbert
3ec813da03 Add "spin" sprite 2020-11-05 18:48:47 +09:00
Dean Herbert
2bbdbfda5c
Merge pull request #10696 from smoogipoo/visibility-adjustment-mod 2020-11-05 18:18:57 +09:00
Dean Herbert
5ec6011340 Apply new style spinner scale to only local sprites 2020-11-05 18:14:49 +09:00
Dean Herbert
11c18952e3 Allow children to be added in base class 2020-11-05 18:12:06 +09:00
Dean Herbert
64e3325b41 Abstract out common part of legacy spinner implementations
Some elements going forward will be shared, so it makes sense to have a
common base class to add these shared elements.
2020-11-05 18:00:27 +09:00
Dean Herbert
82d8c1bbea Add support for spinner glow 2020-11-05 17:27:41 +09:00
Dean Herbert
0cadb31947 Merge branch 'master' into drawable-hit-object-hit-state-fix 2020-11-05 17:07:52 +09:00
Dean Herbert
4a4fa96fef
Merge pull request #10692 from smoogipoo/followpointrenderer-hitobject 2020-11-05 16:39:05 +09:00
Dean Herbert
54775ccacf
Merge pull request #10690 from smoogipoo/osu-remove-hitobject-references 2020-11-05 16:22:13 +09:00
smoogipoo
d1fa391d25 Make OsuModHidden apply fadein adjustment on custom state update 2020-11-05 16:12:55 +09:00
smoogipoo
f513c95ab2 Use class with transform and wiggle mods 2020-11-05 16:04:42 +09:00