1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 08:37:24 +08:00
Commit Graph

5851 Commits

Author SHA1 Message Date
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs 2023-09-26 15:52:27 +09:00
Salman Ahmed
734ee0e68b Simplify code 2023-09-24 02:22:50 +03:00
Fabian van Oeffelt
7c40072c47 Get first Spinner,Slider or HitCircle instead of only HitCircle
Fixes bug
2023-09-23 13:18:49 +02:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv 2023-09-21 09:13:27 +02:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length 2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49 Remvoe null default for mods which can't be null 2023-09-20 15:27:50 +09:00
Dean Herbert
8e16b1d507 Simplify some maximum size specs 2023-09-20 12:48:15 +09:00
Bartłomiej Dach
92cafe23fe
Merge pull request #24810 from peppy/remove-slider-head-movement-allowance
Remove slider head circle movement (and remove setting from "classic" mod)
2023-09-19 12:25:33 +02:00
Dean Herbert
0360646e9b Avoid fast fade out if slider head was not hit 2023-09-19 14:38:53 +09:00
Salman Ahmed
922f6f36f2 Add size limitation for hit object numbers 2023-09-19 04:38:10 +03:00
Salman Ahmed
ab5226832a Add size limitation for slider reverse arrow piece 2023-09-19 04:38:10 +03:00
Salman Ahmed
b823507b2a Add size limitation for approach circles 2023-09-19 04:38:10 +03:00
Salman Ahmed
f963a921db Add size limitation for slider follow circle 2023-09-19 04:18:12 +03:00
Salman Ahmed
fc1a39ede3 Add size limitations for slider balls 2023-09-19 04:18:12 +03:00
Salman Ahmed
291a91be66 Change extension from retrieval to post-processing instead 2023-09-19 03:40:30 +03:00
Salman Ahmed
57dc76b345 Revert "Update GetTexture signature rather than creating new overload"
This reverts commit 96f12cfbaa.
2023-09-19 03:21:19 +03:00
Magnus-Cosmos
bd7dab1d86
Add test for slider path edge case 2023-09-18 12:02:20 -04:00
Bartłomiej Dach
5c6cd879dd
Adjust slider calculations to new method API
Code originally read

	Velocity = scoringDistance / beatLength
		 = BASE_SCORING_DISTANCE * SliderMultiplier * GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength

Given (mathematically, floats are not generally as forgiving):

	GetPrecisionAdjustedBeatLength() = beatLength / GetPrecisionAdjustedSliderVelocityMultiplier()

it follows that (inverting both sides):

	1 / GetPrecisionAdjustedBeatLength() = GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength

and therefore

	Velocity = BASE_SCORING_DISTANCE * SliderMultiplier * GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
		 = BASE_SCORING_DISTANCE * SliderMultiplier / GetPrecisionAdjustedBeatLength()

and to recover `scoringDistance`

	scoringDistance = Velocity * beatLength
2023-09-15 12:30:25 +02:00
Bartłomiej Dach
4275af1343
Merge branch 'master' into fix-slider-tick-misssing 2023-09-15 12:09:54 +02:00
Bartłomiej Dach
86c46a5b3f
Manually reorder objects in expected mapping
The test added in 64baa4d01a was
previously failing despite applying a fix. This was caused by the fact
that in stable, the last `sliderScoreTimingPoint` (i.e. the
`LegacyLastTick` is pulled back by 36ms, but the list of all of them
is not re-sorted afterwards, causing objects to be exported in
non-chronological order to the resultant conversion mapping.
lazer correctly sorts the objects, causing a false positive.
2023-09-15 12:07:59 +02:00
Dan Balasescu
2abef4ade5
Expand comment to justify maximising bonus score
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-15 18:35:17 +09:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point 2023-09-15 11:14:28 +02:00
Dan Balasescu
ed295effc5 Maximise bonus score 2023-09-15 15:51:05 +09:00
Dean Herbert
cf9ca60b09 Change slider body to not animate snaking until head circle is (successfully) hit 2023-09-14 17:49:41 +09:00
Dean Herbert
e3e7a81ad9 Remove slider head circle movement (and remove setting from "classic" mod) 2023-09-14 17:49:41 +09:00
Dan Balasescu
753c1c877c Revert masking SSBO changes 2023-09-13 23:10:13 +09:00
Givikap120
1a70110a4e Added BeatmapAttributesDisplay support 2023-09-12 16:44:44 +03:00
Dean Herbert
e810abf1e6 Rename variable 2023-09-12 20:51:22 +09:00
Dean Herbert
39d69903ab
Merge branch 'master' into stable-spinner-ticks-2 2023-09-12 20:41:43 +09:00
Dean Herbert
7db4b3e83c
Merge pull request #24661 from frenzibyte/stable-spinner-ticks-1
Update osu! spinner ticks calculation method to better match with osu!(stable)
2023-09-12 20:41:28 +09:00
Givikap120
c61212c523
Merge pull request #1 from Givikap120/master
add display to calibrate
2023-09-12 13:02:19 +03:00
Dan Balasescu
86330a7cc4 Adjust comment 2023-09-11 18:01:53 +09:00
Dan Balasescu
628517569b Fix another difficulty-specific value 2023-09-08 21:08:09 +09:00
Bartłomiej Dach
e9b08219e9
Block input to objects lying under already-hit slider heads before slider is fully judged when classic note lock is active 2023-09-08 13:42:18 +02:00
Bartłomiej Dach
168a828f23
Revert "Block input to objects lying under already-hit hitcircles when classic note lock is active"
This reverts commit 03c61a573e.

The goal here was to handle an edge case discovered during work on note
lock, wherein it was determined that on stable hit circles would block
input from reaching objects underneath them. However, the change
mentioned above did that _too_ hard and caused overlaps to also be
blocked even long past a hit circle has been faded out.

Revert the change pending further (and more careful) investigation.
2023-09-08 10:11:21 +02:00
Dan Balasescu
2334be1987 Split legacy scoring attributes into a separate object 2023-09-07 21:10:38 +09:00
Dean Herbert
22ee64cfda Fix sliders not always being the correct length
This is another similar case where stable floating point precision comes
into play due to use of `hitObjectManager.Beatmap.BpmMultiplierAt` (see
1531237b63/osu!/GameplayElements/HitObjects/Osu/SliderOsu.cs#L680)

Closes #24708.
2023-09-07 18:20:08 +09:00
Dean Herbert
64baa4d01a Add test coverage of failing slider tick generation edge case 2023-09-07 18:20:08 +09:00
Dean Herbert
dcbdc114ce Remove precision limitations of SliderVelocity 2023-09-07 17:41:58 +09:00
Bartłomiej Dach
323a4f4522
Only show preempt time when limits are extended 2023-09-07 08:30:02 +02:00
Bartłomiej Dach
bd633889e7
Remove local preempt time calculation
And just use a hitcircle, and read the actual value. Comes with 100%
less chance of forgetting to update either place in the future.
2023-09-07 08:23:50 +02:00
Bartłomiej Dach
9c6f77b26e
Fix too many things being exposed 2023-09-07 08:11:04 +02:00
Dean Herbert
e05d7d5f8d Inline local control 2023-09-07 14:22:06 +09:00
isakvik
2ab11ab568 adds new diffsetting control that shows millisecond values for approach rate override 2023-09-07 01:41:22 +02:00
isakvik
3db0d0d341 extendable minimum AR value for osu!std diff adjust mod, set to -10 2023-09-06 23:26:34 +02:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Dean Herbert
d06490220d Add better xmldoc for Slider.Velocity 2023-09-06 18:58:58 +09:00
Salman Ahmed
912c8b0901 currentSpins -> completedFullSpins 2023-09-06 00:10:41 +03:00
Bartłomiej Dach
03c61a573e
Block input to objects lying under already-hit hitcircles when classic note lock is active 2023-09-05 22:50:27 +02:00
Dean Herbert
96f12cfbaa Update GetTexture signature rather than creating new overload 2023-09-05 18:01:19 +09:00
Dean Herbert
0da37e4e99
Merge pull request #24701 from frenzibyte/remove-flashlight-slider-dim-transform
Apply flashlight slider dim immediately to match osu!(stable)
2023-09-04 16:35:30 +09:00
Salman Ahmed
351081eb27 Add limit to osu! hit circle elements 2023-09-03 02:22:53 +03:00
Salman Ahmed
920c6fa48f Update comment 2023-09-01 23:29:51 +03:00
Salman Ahmed
f74dfa9c6c Apply flashlight slider dim immediately to match osu!(stable) 2023-09-01 22:55:33 +03:00
Dean Herbert
90121814f9 Merge branch 'master' into stable-notelock 2023-09-01 17:15:48 +09:00
Dean Herbert
c75b14c729 Apply NRT to new LegacyHitPolicy class (and other implementations) 2023-09-01 16:56:34 +09:00
Salman Ahmed
993cebe785 Fix mod "Classic" interfering with DrawableHitCircle animation while in hit state 2023-08-30 21:42:47 +03:00
Salman Ahmed
3bcddf3cc8 Add gap of two whole spins before achieving bonus score 2023-08-27 01:54:10 +03:00
Salman Ahmed
d614e745b8 Calculate spinner ticks as "whole spins" without arbitrary factors 2023-08-27 01:27:31 +03:00
Salman Ahmed
e77581f641 wholeSpins -> currentSpins 2023-08-27 01:27:31 +03:00
Givikap120
290f8db341 fixed stated problems
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
2023-08-26 02:13:14 +03:00
Givikap120
17b9b1649a Fixed "works only for std" problem
1) Now it use AR/OD calculation from Ruleset class
2) Implemented needed functions in each of default rulesets
2023-08-25 00:58:26 +03:00
Bartłomiej Dach
7f215f163f
Use reduced hittable range with autopilot active 2023-08-24 08:52:49 +02:00
Bartłomiej Dach
ed2b1a0754
Contain entirety of legacy notelock badness inside the hit policy 2023-08-24 08:52:49 +02:00
Bartłomiej Dach
a045cb71fc
Add assertions checking action type taken by legacy hit policy 2023-08-24 08:52:49 +02:00
Bartłomiej Dach
b777b34cc0
Merge branch 'master' into stable-notelock 2023-08-24 08:43:59 +02:00
Dean Herbert
bbe4635a50 Remove unused usings 2023-08-22 16:07:48 +09:00
Dean Herbert
4e9e084b2c Merge branch 'master' into scorev3 2023-08-22 15:52:22 +09:00
Dan Balasescu
e8337c592a Update framework and apply changes to support masking SSBO 2023-08-22 12:50:13 +09:00
Bartłomiej Dach
3c191ff9ea
Expand allowable rotation range to [-360, 360] 2023-08-19 15:09:59 +02:00
Dean Herbert
63080d049f Adjust icons slightly 2023-08-17 19:08:18 +09:00
Dean Herbert
0858bef66e Update SmokeSegment in line with framework vertex changes 2023-08-17 18:12:04 +09:00
OliBomby
cc4e11a5ac Ensure populated node samples so new objects have unique node sample lists 2023-08-16 20:48:52 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
c21167e2ab
Merge pull request #24360 from peppy/spinner-faster-rotation
Change spinner rotation animation to match input 1:1
2023-07-29 00:48:56 +02:00
Dean Herbert
2e9379474d Change spinner rotation animation to match input 1:1 2023-07-25 19:21:20 +09:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Dean Herbert
2f7d38d98b Merge branch 'master' into fix-editor-blueprint-input-extension 2023-07-25 18:14:02 +09:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler to use SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba904fd77b
Migrate osu! rotation handling to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class 2023-07-23 18:24:20 +02:00
Dean Herbert
b58354ac64 Fix playfield getting cut off (again) at tall aspect ratios 2023-07-21 15:20:20 +09:00
Liam DeVoe
6a81230298 rename ObjectOrderedHitPolicy to LegacyHitPolicy 2023-07-19 14:44:28 -04:00
Liam DeVoe
2c97ac7410 convert AliveObjects to list in hit policy instead of globally 2023-07-19 14:28:04 -04:00
Dean Herbert
4a6a5b174a Fix editor blueprints being selectable for too long when hit markers are enabled
Addresses https://github.com/ppy/osu/discussions/24163.
2023-07-19 14:59:22 +09:00
Liam DeVoe
768d7b5e1c correct implementation of stable notelock 2023-07-17 23:31:21 -04:00
Zyf
b672b49e02 Scoring : Implement v1 to v3 conversion. 2023-07-15 23:20:49 +02:00
Zyf
ecb633f8fb Scoring : Remove ComputeTotalScore overide in OsuScoreProcessor 2023-07-15 15:22:59 +02:00
Dean Herbert
dd8774a640 Vertically centre the editor osu! playfield 2023-07-14 13:21:28 +09:00
Bartłomiej Dach
d5912165e9
Merge branch 'master' into results-screen-component-metrics 2023-07-13 19:53:52 +02:00
Dean Herbert
9ad63bae37 Add missing heading for statistics section in results screen 2023-07-13 18:50:52 +09:00
Dean Herbert
947b40149f Adjust metrics of SimpleStatisticTable 2023-07-13 18:45:32 +09:00
Dean Herbert
4f089eb5a5 Adjust metrics of AccuracyHeatmap 2023-07-13 18:30:57 +09:00
Dean Herbert
87570ed238 Fix incorrect slider stacking on very old beatmaps
Closes https://github.com/ppy/osu/issues/24185

The stable code has had a bug in this logic forever. So we'll need to
reimplement the bug.

Basically, sliders have to have `UpdateCalculations` run in order to
have a correct `Position2` and `EndTime`, but this wasn't being called
in the inner loop before use of `EndTime` at
1531237b63/osu!/GameplayElements/HitObjectManager.cs#L1813.

To fix this, we use `StartTime` in the inner loop to reproduce the bug.
2023-07-12 17:35:03 +09:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2 and LegacyMods 2023-07-09 16:15:21 +02:00
Bartłomiej Dach
e9ecad9839
Add failing test cases covering NaN-timing-point sliders 2023-07-08 23:24:38 +02:00
Dean Herbert
e0fc97bb93 Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Dan Balasescu
c6ad184d94 Move Ruleset method to ILegacyRuleset interface 2023-06-29 17:24:37 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dan Balasescu
5f350aa66f Fix float division
Firstly, this is intended to be a float division.

Secondly, dividing integers by 0 results in an exception, but dividing
non-zero floats by 0 results in +/- infinity which will be clamped to
the upper range.
In particular, this occurs when the beatmap has 1 hitobject (0 drain
length).
2023-06-27 17:14:35 +09:00
Dan Balasescu
a9c65d200a Initial conversion of scores 2023-06-26 22:19:01 +09:00
Dan Balasescu
e1d723a2cc Merge branch 'master' into diffcalc-total-scorev1 2023-06-26 14:32:14 +09:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections 2023-06-24 16:07:01 +02:00
Dan Balasescu
5fadadc3d0 Merge branch 'master' into diffcalc-total-scorev1 2023-06-24 02:46:15 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dan Balasescu
06565871d6 Add flag to disable computing legacy scoring values 2023-06-24 01:03:18 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dan Balasescu
87447f41d0 Fix incorrect calculation of difficulty 2023-06-24 00:58:45 +09:00
Bartłomiej Dach
6d32206a08
Fix slider tails receiving wrong colours
Only visually apparent on legacy skins.
2023-06-19 17:47:01 +02:00
Dan Balasescu
bfa449e47a Adjust attribute data 2023-06-19 21:38:13 +09:00
Dean Herbert
0900cebc0d Avoid doing expensive colour fetch operation every update 2023-06-19 20:12:17 +09:00
Dean Herbert
aa96fefae2 Merge branch 'master' into snap-colour-mod 2023-06-19 20:01:36 +09:00
Dan Balasescu
0844a21a51 Merge branch 'master' into diffcalc-total-scorev1 2023-06-15 19:33:29 +09:00
Dan Balasescu
b9f485b551 Merge classes + split out 2023-06-13 02:32:54 +09:00
Dan Balasescu
446807e7f6 Add combo score / bonus score attributes 2023-06-12 23:00:29 +09:00
Dan Balasescu
024a64e52c
Merge pull request #23866 from bdach/fix-judgement-processing-order
Fix not being able to receive full score for extremely short sliders with repeats
2023-06-12 15:04:08 +09:00
Dean Herbert
bddb91dc0a Adjust adjustment to 1px based on review feedback
Also split out `Size` variable for clarity
2023-06-12 14:24:39 +09:00
Dean Herbert
03a5b701e9
Fix incorrect inline comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-12 14:20:54 +09:00
Bartłomiej Dach
7e5533e205
Fix not being able to receive full score for extremely short sliders with repeats
Closes #23862.

Score V2 is a scoring algorithm, which aside from the raw numerical
values of each judgement, incorporates a combo component, wherein each
judgement's "combo score" is derived from both the raw numerical value
of the object and the current combo after the given judgement. In
particular, this means that Score V2 is sensitive to the _order_ of
judging objects, as if two objects with the same start time are judged
using different ordering, they can end up having a different "combo
score".

The issue that this change is fixing is an instance of one such
reordering. Upon inspection, it turned out that the simulated autoplay
run, which is used to determine max possible score so that it can be
standardised to 1 million again, was processing a slider repeat before a
slider tail circle, while actual gameplay was processing the same slider
repeat _after_ the slider tail circle.

The cause of that behaviour is unfortunately due to `LegacyLastTick`.
The sliders which cause the issue are extremely short. Stable had a
behaviour, in which to provide leniency, slider tails were artificially
offset back by 36ms. However, if the slider is not long enough to make
this possible, the last tick is placed in the middle of the slider. If
that slider also happens to have exactly 1 repeat, then this means that
the last tick and the repeat have the same time instant.

Because of the time equality, what begins to matter now is the _order_
of processing the elements of the drawable slider in the hierarchy. For
the purposes of legacy skins, tail circles were moved below ticks in
fce3eacd7d - but in this particular case,
it means that the order of processing the slider elements is now
inadvertently inverted, causing the entire debacle.

While the fact that scoring depends on order of processing of visuals is
suboptimal, there isn't a great way to address this without significant
restructuring. Due to the structure of processing judgements currently
in place, in which each judgement is processed independently from others
by its corresponding drawable hit object, this is probably the best that
can be done for the time being at least.
2023-06-10 12:14:08 +02:00
Dan Balasescu
4b8c4bd503 Fix black jaggies around argon hitcircles 2023-06-10 01:54:13 +09:00
Dean Herbert
95ad18ed2e Reduce the radius of note-to-note snapping in osu! editor
Stable uses `0.15f`, but for whatever reason that feels too large still.

I've ballparked this.

Addresses https://github.com/ppy/osu/discussions/23806.
2023-06-08 17:44:33 +09:00
John Biddle
d07437f810 Added recommendations from bdach:
Fixed null checking in ApplyToDrawableHitObject
Renamed mod to "Synesthesia"
Moved to the "Fun" mod category
2023-06-08 00:52:28 -07:00
Dan Balasescu
d10c63ed2d Fix difficulty calculation when mods are involved 2023-06-08 16:29:34 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
247fa088db Add IHasNoTimedInputs interface to scope change further 2023-06-06 22:22:42 +09:00
Dan Balasescu
77c745cc94 "TotalScoreV1" -> "LegacyTotalScore" 2023-06-06 17:25:28 +09:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage 2023-06-03 19:45:23 +02:00
Dean Herbert
a5fd833214 Fix "bubbles" mod not adding pool to hierarchy (and constructing too early) 2023-06-02 23:01:03 +09:00
Dan Balasescu
e402c6d2b4 Write max combo attribute from base class 2023-06-02 21:53:25 +09:00
Dan Balasescu
02111e3854 Implement ScoreV1 calculation for OsuRuleset 2023-06-02 17:36:45 +09:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dean Herbert
e830b96e61 Add back required override to make AccuracyHeatmap work 2023-06-01 13:26:47 +09:00
Bartłomiej Dach
aaf50c47a7
Merge pull request #23696 from peppy/fix-autopilot-ripples
Fix cursor ripples appearing in a weird place when "autopilot" mod is enabled
2023-05-30 23:29:30 +02:00
John
ed850196d9 Reverted to applying the color change in OnUpdate, removed EnableComboColour flag from DrawableHitObject.cs 2023-05-30 01:43:08 -07:00
Dean Herbert
3e94d4bb5a Fix cursor ripples appearing in a weird place when "autopilot" mod is enabled 2023-05-30 15:18:23 +09:00
Dean Herbert
1558723420 Merge branch 'master' into scorev2 2023-05-29 20:06:32 +09:00
Bartłomiej Dach
53c91349fe
Merge branch 'master' into slider-control-point-no-distance-snap 2023-05-26 19:52:54 +02:00
Bartłomiej Dach
e35201cb99
Don't snap non-head slider nodes to distance grid during placement either
1cd69220ef only disabled snapping the
aforementioned nodes to distance grid for already-placed sliders.
`SliderPlacementBlueprint` has its own logic for placement, so the fix
needs to be mirrored there too.
2023-05-26 19:51:20 +02:00
Bartłomiej Dach
e8db0739fa
Merge pull request #23577 from peppy/accuracy-heatmap-text-hints
Show text hints on the accuracy heat map to better explain direction
2023-05-25 17:00:25 +02:00
Dean Herbert
1cd69220ef Fix slider path placement snapping non-head nodes to distanced snapping grid
As discussed at https://github.com/ppy/osu/discussions/23531.
2023-05-25 21:41:43 +09:00
Dean Herbert
804671ca74 Split out grid snapping modes into "relative" and "global" types 2023-05-25 21:41:19 +09:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Dean Herbert
c8303d55cd Adjust text and alignment 2023-05-23 16:21:56 +09:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dan Balasescu
30a296bd09 Rename parameters 2023-05-19 17:27:02 +09:00
Dan Balasescu
d74bf2a096 Refactor for safety 2023-05-19 14:37:26 +09:00
Dan Balasescu
2ae34530f7 Avoid NaN values during ApplyBeatmap processing() 2023-05-19 14:14:34 +09:00
Dan Balasescu
8b56a3f87d Remove ClassicScoreMultiplier and DefaultScoreProcessor 2023-05-19 12:24:52 +09:00
Dean Herbert
b58ab28765 Make EditorClock non-nullable in PlacementBlueprint 2023-05-17 21:40:52 +09:00
Dean Herbert
3054348c73 Add text hints to accuracy heat map to better describe travel direction 2023-05-17 15:22:48 +09:00
Dean Herbert
9fe787acd8 Enable NRT on AccuracyHeatmap 2023-05-17 15:03:59 +09:00
Dean Herbert
dc51d5ecf3 Rename GetSampleInfo to better describe what method does
Also add full xmldoc
2023-05-17 14:07:48 +09:00
John
b7dc8d49ba Removed import for Allocation and other unnecessary [Resolved] tag missed in last commit 2023-05-16 21:14:55 -07:00
John
e2633ae993 Removed unnecessary [Resolved] attribute (thanks bdach)
Moved accent color assignment from OnUpdate to ApplyCustomUpdateState. In order to get this to work, a flag needed to be added to DrawableHitObject.cs to disable combo color updates also being applied.
2023-05-16 21:08:56 -07:00
Bartłomiej Dach
a6ddb107cd
Merge branch 'master' into master 2023-05-14 19:45:31 +02:00
alix
d503312788 updates and add changes 2023-05-14 13:37:44 -04:00
John
7a907f7207 Code quality improvements (thanks to ItsShamed): Removed #nullable disable, fixed incorrect LocalisableString, removed incorrect dependency injection for OsuColour, fixed nullable dependency for IBeatmap
Removed unnecessary usage of "this." caught by the CI code quality check
2023-05-12 22:13:39 -07:00
John
24f07633f3 Formatting fixes 2023-05-12 19:43:28 -07:00
John
e5884016ab Initial commit for the snap colour mod. Implements basic functionality. 2023-05-12 19:07:25 -07:00
Dean Herbert
f443cfb93e Move blueprint validity conditions to allow more correct external usage of EndPlacement
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.

By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
alix
b3a5e4d305 nest class outside of OsuModRandom 2023-05-12 00:29:00 -04:00
alix
53ab780796 fix indents 2023-05-11 23:50:45 -04:00
alix
e50cab9e81 move class to the bottom of the file 2023-05-11 23:48:31 -04:00
alix
a4954e64ac fix precision from making mouse input also go 0.5 2023-05-11 23:45:41 -04:00
js1086
3bce7ac589 Copy SliderVelocity to strict tracking sliders 2023-05-11 19:07:22 +01:00
alix
4732c8a06c fix angle sharpness slider value from not always scaling by 0.5 2023-05-11 13:46:07 -04:00
Dan Balasescu
a7b623f52a Reimplement classic scoring mode 2023-05-09 20:21:38 +09:00
Dan Balasescu
3c3c812ed6 Initial implementation of ScoreV2 2023-05-09 19:33:33 +09:00
Bartłomiej Dach
808a44ac0c
Resolve code quality inspection 2023-05-06 16:23:00 +02:00
Bartłomiej Dach
a45f0b65a1
Merge pull request #23372 from peppy/fix-slider-end-circle-appear-delay
Fix fade in delay for first slider end circle being incorrect when snaking disabled
2023-05-03 19:06:39 +02:00
Bartłomiej Dach
2add8e119f
Merge pull request #23379 from peppy/legacy-skin-reverse-arrow-colour-flip
Add support for flipping colour of reverse arrow on legacy default skin when combo colour is too bright
2023-05-03 08:48:32 +02:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
9c4312b407 Add support for flipping colour of reverse arrow on legacy default skin when combo colour is too bright 2023-05-03 12:37:07 +09:00
Dean Herbert
e42b0cc5b1
Merge pull request #23370 from peppy/fix-editor-playfield-padding
Add more padding around playfield in editor to avoid overlap with tool areas
2023-05-03 11:44:55 +09:00
Bartłomiej Dach
03459a4f19
Merge pull request #23371 from peppy/argon-slider-ball-fade-faster
Increase the rate of slider ball fade on argon skins to match other implementations
2023-05-02 19:03:47 +02:00
Dean Herbert
e44672bdd5 Avoid using Schedule in transforms (doesn't handle rewind well) 2023-05-02 17:08:49 +09:00
Dean Herbert
7830711c8e Tidy up various code quality issues in OsuModBubbles 2023-05-02 17:08:37 +09:00
Dean Herbert
fb0e90913d Ensure lifetime start is also updated when reverting judgements 2023-05-02 17:07:12 +09:00
Dean Herbert
b2b9f2a036 Merge branch 'master' into bubble_mod_implementation_clean 2023-05-02 16:59:55 +09:00
Dean Herbert
a619812cab Fix nullability and remove extra preempt from SliderEndCircle calculation 2023-05-02 16:36:43 +09:00
Dean Herbert
1a04be15c7 Fix fade in delay for first slider end circle being incorrect when snaking disabled 2023-05-02 16:27:17 +09:00
Dean Herbert
bd72c67d68 Increase the rate of slider ball fade on argon skins to match other implementations 2023-05-02 15:47:35 +09:00
Dean Herbert
67f83f246b Add more padding around playfield in editor to avoid overlap with tool areas
Closes #23130.
2023-05-02 15:37:02 +09:00
Dean Herbert
e3c384c6b5 Merge branch 'master' into sample-control-points 2023-05-02 14:38:39 +09:00
OliBomby
27cfadca16 add sample info to Banana and SpinnerBonusTick 2023-05-01 14:54:06 +02:00
Dean Herbert
0a70734331 Adjust ripple size with cursor scale (including CS) 2023-05-01 14:43:49 +09:00
Dean Herbert
5cbfefbcb4 Adjust metrics of default ripple to match stable default better 2023-05-01 13:29:50 +09:00
Dean Herbert
b8ae508639 Fix incorrect starting scale for ripples 2023-05-01 13:09:00 +09:00
OliBomby
41d4894aa3 add min and max value to SliderVelocity 2023-04-30 19:32:24 +02:00
OliBomby
4a0ff046ae pass new hitobject properties through beatmap converters 2023-04-30 19:20:42 +02:00
OliBomby
1eb2e35dff fix ticks not being generated by default 2023-04-30 16:03:58 +02:00
Dean Herbert
72b472a756 Change default scaling and add note about legacy cursor-ripple scale 2023-04-30 14:48:03 +09:00
Dean Herbert
6a62949fcd Fix positioning and rewinding support for ripples 2023-04-30 14:48:03 +09:00
Dean Herbert
c994adfc22 Add pooling support for ripples 2023-04-30 14:48:03 +09:00
Dean Herbert
a4ae9e409b Implement ripples (legacy and default) 2023-04-30 14:48:03 +09:00
Dean Herbert
b39a9d816e Add basic structural requirements for cursor ripples 2023-04-30 14:48:03 +09:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
9f8d7bccba fix usings 2023-04-26 17:34:02 +02:00
OliBomby
d97daee96b remove all non-test usage of SampleControlPoint 2023-04-26 13:55:39 +02:00
OliBomby
6c70948681 Remove IContext & add IHasGenerateTicks 2023-04-26 13:10:57 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +02:00
OliBomby
66eda40cdf fix implementations of IHasSliderVelocity 2023-04-25 18:22:22 +02:00
OliBomby
065464d90c Fixed DifficultyPointPiece 2023-04-25 18:12:53 +02:00
OliBomby
97910d6be6 remove unused directives 2023-04-25 13:06:37 +02:00
OliBomby
891b87a5ff remove ApplyLegacyInfo method 2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798 Add LegacyContext 2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2 made the SampleControlPoint and DifficultyControlPoint obsolete 2023-04-25 11:34:09 +02:00
Dan Balasescu
ad51f880e0 Remove overrides on DC/NC mods 2023-04-10 17:49:29 +09:00
Dan Balasescu
15f6bc155e Add progressive score multiplier for HT 2023-04-10 13:35:48 +09:00
Dan Balasescu
c923482976 Add progressive score multiplier for DT 2023-04-10 13:31:48 +09:00
Dean Herbert
45e3e3623b Fix spinners being selectable for too long after they fade in the editor
The actual visual extension is only applied to `HitCircle`s (which does include slider
start / end), and should not be applied to spinners in the first place.

Addresses https://github.com/ppy/osu/discussions/22949.
2023-03-28 18:49:59 +09:00
Dean Herbert
ad5bdf6511 Merge branch 'master' into fix-ubo-not-bound 2023-03-22 16:46:39 +09:00
Dean Herbert
c056d5a6fb Reduce distance requirement for lock-in behaviour 2023-03-20 15:36:58 +09:00
Dean Herbert
13a32b5246 Move lock-in variable to const and document better 2023-03-20 15:36:27 +09:00
Salman Ahmed
678e8ed736 Update UBO usages inline with framework changes 2023-03-16 14:06:35 +03:00
Dean Herbert
7b34607676 Merge branch 'master' into bubble_mod_implementation_clean 2023-03-16 13:45:22 +09:00
Dean Herbert
42359a9754 Fix previous touch action not being released when it's not a direct touch 2023-03-15 16:43:20 +09:00
Dean Herbert
6c4f596a9a Make osu! touch input aware of the distance travelled of a non-direct touch 2023-03-15 16:43:20 +09:00
Dean Herbert
969c0e9c9d Merge branch 'master' into veldrid-renderer 2023-03-14 17:35:38 +09:00
Dan Balasescu
069b77dd23 Update language version 2023-02-25 02:15:56 +09:00
Dan Balasescu
dd9748a25c Adjust DrawNodes to use UBOs 2023-02-25 01:42:55 +09:00
Dean Herbert
a8c692a215
Merge pull request #22635 from peppy/use-overlays-container-more
Use `Overlays` container rather than `KeyBindingInputManager` for flashlight
2023-02-22 18:30:21 +09:00
Dean Herbert
ee87a29376
Merge pull request #22543 from Cwazywierdo/hitcircle-late-miss-fade
Fix hit circle late-miss fading differences compared to stable
2023-02-21 13:56:57 +09:00
MK56
b74c1c8334
Merge branch 'master' into bubble_mod_implementation_clean 2023-02-19 21:36:59 +01:00
Bartłomiej Dach
8a488ebccc
Actually simplify condition 2023-02-19 16:39:35 +01:00
Adam
58d64cdbd0 Clarify usingHiddenFading logic 2023-02-18 17:33:33 -06:00
Bartłomiej Dach
6b9472c367
Merge branch 'master' into skin-per-ruleset-layouts 2023-02-17 22:58:38 +01:00
Dean Herbert
675e5b81f3 Fix SkinnableLighting showing up as a user placeable component 2023-02-17 18:24:05 +09:00
Adam
e06502085e Enable fading when hidden only hides appreach circles 2023-02-16 16:31:42 -06:00
mk56-spn
d5bc8e2941 Code cleanup pass:
Make bubble transform logic more sane.

Extract bubble `getPosition()` method.

Address poorly named variables.
2023-02-16 11:12:30 +01:00
Dean Herbert
7afdcb9383 Merge branch 'master' into hide-resume-overlay 2023-02-16 15:42:14 +09:00
mk56-spn
8fc35b159f Remove dysfunctional slider colouring 2023-02-15 10:04:50 +01:00
mk56-spn
297963b461 Remove BubbleInfo struct and consume DrawableOsuHitObjects directly 2023-02-15 10:00:46 +01:00
mk56-spn
1d1c794ccf Invert pointless nested if statement 2023-02-15 09:37:47 +01:00
mk56-spn
e9a7d90273 make transform duration for bubble a method instead of a variable 2023-02-15 09:33:18 +01:00
mk56-spn
82292d6162 Make colouring for bubble more intuitive and remove unnecessary alpha assignment 2023-02-15 09:30:56 +01:00
Adam
5e774a28d8 Correct timings to match stable exactly + don't fade with hidden 2023-02-15 01:02:54 -06:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object 2023-02-15 14:48:15 +09:00
mk56-spn
5db624159b Change bubble rewind removal to be in ApplyToDrawableHitObject method. 2023-02-14 18:06:43 +01:00
mk56-spn
92c61c7339 move logic for bubble invoking to ApplyToDrawableHitobject()` method 2023-02-14 16:31:34 +01:00
mk56-spn
2d49b5f9d6 Move bubbles to ruleset overlays container 2023-02-14 14:03:48 +01:00
mk56-spn
d100a4a491 Make lastJudgedHitObject nullable, and fix typo in name. 2023-02-14 10:12:37 +01:00
Dean Herbert
c540d78fbc Expose the actual KeyBindingInputManager
Turns out that `CreateInputManager` is called more than once, and some
mods (ie. `InputBlockingMod`) rely on consuming the "main" one. So let's
go back to accessing and exposing in `DrawableOsuRuleset` rather than
storing out own reference.
2023-02-14 18:10:26 +09:00
Dean Herbert
5ec5222d8a Expose and consume OsuInputManager explicitly 2023-02-14 17:36:07 +09:00
Pasi4K5
e4b84ebd0b Add UseResumeOverlay and use it for hiding the ResumeOverlay 2023-02-13 23:51:39 +01:00
mk56-spn
6ff6e06a69 Simplify bubble container structure, modify some comments 2023-02-12 11:37:07 +01:00
mk56-spn
5e0c4aa904 Refactor pooling for bubbles, tweak the animations a tad, add some clarifying comments 2023-02-12 00:59:46 +01:00
Adam
7bad0113cd Move early fade effect to classic mod setting 2023-02-09 16:20:11 -06:00
Adam
d027d69913 Make hit circle fade out into late miss judgement 2023-02-06 19:22:47 -06:00
mk56-spn
f0d4b9f0ca Add inline comment for colour border override 2023-02-06 17:00:47 +01:00
Dean Herbert
abcb564a74 Code quality pass of OsuModBubbles 2023-02-06 17:35:43 +09:00
Dean Herbert
a67d5d2a14 Merge branch 'master' into bubble_mod_implementation_clean 2023-02-06 17:24:20 +09:00
Bartłomiej Dach
49443f0b55
Inline temporary variable 2023-02-04 14:36:30 +01:00
Bartłomiej Dach
a1343dacc1
Merge branch 'master' into SnapToReverseSlider 2023-02-04 14:14:37 +01:00
Wleter
60f6484073 fix spaces 2023-02-03 16:13:37 +01:00
Wleter
f7f13cb9d9 fix formatting 2023-02-03 16:13:04 +01:00
Wleter
20e220df56 prioritize closest snap position 2023-02-03 16:05:16 +01:00
Wleter
23e9bdd554 check every snap position in blueprint 2023-02-02 14:22:30 +01:00
Dean Herbert
10df64467a
Merge pull request #22430 from peppy/skin-editor-nrt
Apply NRT to all skin editor classes
2023-02-02 13:57:57 +09:00
Bartłomiej Dach
a14481acca
Merge pull request #22440 from peppy/argon-hit-lighting-v2
Adjust argon hit lighting further
2023-01-30 19:34:58 +01:00
mk56-spn
3bdf83bf44 Redo the drawable structure of bubbledrawable to run and look better 2023-01-29 00:48:14 +01:00
mk56-spn
66da4c0288 Add colouration to the sliders to better match the vibrancy of the mod 2023-01-28 17:38:24 +01:00
mk56-spn
c3090dea5f Simplify animations 2023-01-28 00:30:30 +01:00
mk56-spn
7c81f1e75b Remove unnecessary BDL from bubble drawable
Improve animation duration formula
2023-01-27 12:53:19 +01:00
MK56
c50604f701
Merge branch 'master' into bubble_mod_implementation_clean 2023-01-27 11:58:56 +01:00
Dean Herbert
98c9ba5b6f
Merge branch 'master' into skin-editor-nrt 2023-01-27 19:35:43 +09:00
Dean Herbert
74ab036f3e Refactor SkinnableSound.Samples to be non-nullable 2023-01-27 19:32:30 +09:00
Dean Herbert
2b55e05b10 Adjust argon hit lighting further 2023-01-27 13:31:21 +09:00
Bartłomiej Dach
c4dce30de5
Merge pull request #22412 from peppy/argon-kiai
Add very basic kiai flash to argon hit circles
2023-01-26 19:13:58 +01:00
Dean Herbert
7344d34d5b Move where class specs to next line 2023-01-26 17:12:41 +09:00
Dean Herbert
13937cf555
Merge branch 'master' into stream-tool-2 2023-01-26 16:08:20 +09:00
Dean Herbert
de1d473d29 Fix kiai flash being visible and incorrectly sized during hit animation 2023-01-26 15:24:10 +09:00
Dan Balasescu
9ed0b8ccfa
Merge pull request #22375 from peppy/osu-ruleset-touch-support
Add empty space tap-streaming support for osu! ruleset on touchscreen devices
2023-01-26 08:12:12 +09:00
Bartłomiej Dach
73f53328cf
Merge branch 'master' into argon-kiai 2023-01-25 22:21:26 +01:00
Bartłomiej Dach
3daa9e6295
Merge branch 'master' into argon-hit-lighting-peppy-take 2023-01-25 21:44:43 +01:00
Dean Herbert
48d68b0f4f Add very basic kiai flash to argon hit circles 2023-01-25 18:59:26 +09:00
Dean Herbert
9499d3a20a Add support for disabling "hit lighting" with osu! argon skin 2023-01-25 15:50:49 +09:00
Dean Herbert
1cde90d55d Add note about CheckScreenSpaceActionPresJudgeable being naive 2023-01-25 15:03:47 +09:00
Dean Herbert
5bfd4e47a1 Refactor position tracking touch handling (and comments) to read better 2023-01-25 14:59:54 +09:00
Dean Herbert
d8365f4fca Reverse order of application to match DrawableHitObject 2023-01-25 11:47:15 +09:00
Dean Herbert
3a47be6e00 Fix argon hit circles occasionally going missing during editor seeking 2023-01-24 17:43:14 +09:00
Dean Herbert
a966d6c330
Merge pull request #18402 from ggliv/mod-accuracy-challenge
Add accuracy challenge mod
2023-01-24 16:00:55 +09:00
Dean Herbert
3cd810f332
Merge pull request #22265 from Wleter/SliderEnd-Snap
Add snapping sliderends with nearby objects
2023-01-24 13:43:43 +09:00
Dean Herbert
72cfe2ba5a Move private field up with others 2023-01-24 12:30:11 +09:00
Dean Herbert
949610c8a4 Add commentary as to why ReceivePositionalInputAt override is required 2023-01-24 11:06:54 +09:00
Pasi4K5
8b47af6503 Remove HidesResumeOverlay and set ResumeOverlay to null in OsuModAutopilot 2023-01-24 00:49:09 +01:00
Susko3
a992682276 Fix OsuTouchInputMapper not handling all touches when using screen scaling 2023-01-23 21:46:01 +01:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap 2023-01-23 21:33:16 +01:00
Dean Herbert
c4d5957ac3 Add empty space tap-streaming support for osu! ruleset on touchscreen devices 2023-01-23 17:07:27 +09:00
Dean Herbert
73f083a316 Refactor how additional points are provided to avoid confusion 2023-01-23 14:13:46 +09:00
Pasi4K5
75a1a2ec2f Hide ResumeOverlay when OsuModAutopilot is enabled 2023-01-22 03:44:59 +01:00
ekrctb
7e466e1eba Fix SPM calculation division by zero 2023-01-20 21:00:01 +09:00
ekrctb
11e1b22bf5 Move MaximumJudgementOffset to HitObject
We want to access this property for computing lifetime
2023-01-19 21:23:55 +09:00
Wleter
f8d8a627b8 change property name 2023-01-18 22:00:39 +01:00
Wleter
ab78dd0436 add collection of selection points. 2023-01-18 21:34:23 +01:00
Dean Herbert
ecb4727aec Fix formatting issues 2023-01-18 17:33:14 +09:00
Dean Herbert
3630b41a5b Remove unused usings 2023-01-18 13:13:20 +09:00
Wleter
00f15d19f9 fix double newlines 2023-01-17 21:11:21 +01:00
Gabe Livengood
dfbbc4002c address test failure 2023-01-17 10:22:58 -05:00
Dean Herbert
00996c9f47 Remove unnecessary touch interception from OsuInputManager 2023-01-17 19:11:22 +09:00
Dean Herbert
70cb23bbc9
Merge branch 'master' into mod-accuracy-challenge 2023-01-17 16:46:54 +09:00
Dean Herbert
24a626a9cd Fix incorrect touch handling in autopilot and relax mods 2023-01-17 15:07:05 +09:00
Dean Herbert
3b95691d53 Add note about mouse button disable tracking 2023-01-17 14:54:52 +09:00
Dean Herbert
45b34f5306 Remove pointless xmldoc 2023-01-17 14:53:24 +09:00
Dean Herbert
34120b6131 Use linq Single instead of First for guaranteed singular match 2023-01-17 14:52:45 +09:00
Dean Herbert
9b5d6b391b Remove nullability allowance from BackgroundDependencyLoader 2023-01-17 14:52:15 +09:00
Dean Herbert
c6d33df147 Only track TouchSource for now 2023-01-17 14:51:46 +09:00
Dean Herbert
b3860c6d52 Only use positional input from most recent touch 2023-01-16 21:21:00 +09:00
Dean Herbert
606e374d94 Don't handle touch down events if "mouse" buttons are disabled
Maintains compatibility with existing logic.
2023-01-16 21:21:00 +09:00
Dean Herbert
355bec2058 Handle movement locally as we are blocking events from touch->mouse mapping 2023-01-16 21:21:00 +09:00
Dean Herbert
b265888f18 Add bare minimum touch support to osu! ruleset 2023-01-16 21:21:00 +09:00
ansel
9ce7c51b14 Localise osu! settings 2023-01-15 23:29:58 +03:00
mk56-spn
ca84b885dc Add more detail to bubbles 2023-01-11 17:51:41 +01:00
MK56
f9b42161e3
Merge branch 'master' into bubble_mod_implementation_clean 2023-01-11 14:56:21 +01:00
Dean Herbert
e9571be4ab Fix incorrect application layer causing completely discoloured circles 2023-01-11 19:29:17 +09:00
Dean Herbert
0d1046ed83 Add full colour application to kiai sprites 2023-01-11 19:29:17 +09:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap 2023-01-10 21:22:13 +01:00
Wleter
e5863fbaf1 add ScreenSpaceEndPoint field 2023-01-10 21:20:09 +01:00
Wleter
38bb7ac0c7 add fields for path's end location 2023-01-10 21:16:34 +01:00
Salman Ahmed
760b2d98df Tint "argon" slider follow circle with combo colour 2023-01-04 16:19:30 +03:00
Salman Ahmed
d70df08f45 Tint "argon" slider ball with combo colour 2023-01-04 16:19:16 +03:00
Berkan Diler
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
mk56-spn
8a108b143e Address mod incompatibilities 2022-12-25 23:11:15 +01:00
mk56-spn
bbb22479a8 Add "ModBubbles" for the osu ruleset. 2022-12-25 23:09:52 +01:00
Dean Herbert
5e9fb1063a Move judgement text creation to base class and tidy things up 2022-12-24 12:22:36 +08:00
Dean Herbert
03603f8b54 Don't show great or higher judgements when using argon "pro" skin 2022-12-24 03:35:44 +08:00
Dean Herbert
727ac00f6d Combine base class for JudgementPiece 2022-12-24 03:32:13 +08:00
Berkan Diler
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01:00
Dean Herbert
192536643c Fix some more inspections 2022-12-16 20:21:19 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Dean Herbert
d6cae991da Update netstandard2.1 references to net6.0 2022-12-16 17:16:13 +09:00
Bartłomiej Dach
7676838cc0
Apply "reflect" vernacular in nested methods 2022-12-07 23:27:02 +01:00
apollo-dw
684b16cef5 Disambiguate object flipping and reflection methods 2022-12-07 21:09:53 +00:00
apollo-dw
1776485b93 Reflect nested objects vertically in the playfield correctly 2022-12-07 20:20:11 +00:00
OliBomby
d458c3a012 Fix variable which didnt get renamed 2022-12-07 10:13:40 +01:00
OliBomby
10b5900710 made PathControlPointVisualiser generic 2022-12-07 10:13:40 +01:00
Pasi4K5
8f3023ffd9 Update ReflectHorizontally() and ReflectVertically() to use FlipSliderHorizontally() and modifySlider(). 2022-12-07 01:05:15 +01:00
Pasi4K5
91e9c27507 Rename FlipSlider() to FlipSliderHorizontally 2022-12-07 00:48:25 +01:00
Pasi4K5
30952199b8 Allow random mod to flip sliders 2022-12-07 00:40:18 +01:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
ee62f3c0d3 Fix test failure
Similar to SliderPlacementBlueprint.
2022-12-02 18:32:43 +09:00
Dean Herbert
45ea183cc3 Fix being able to place zero-length spinners
Also always snap a spinner's end time using beat snap (matches stable).
2022-12-02 17:57:15 +09:00
Dean Herbert
896f2d8f74 Fix multiple instances of last hitobject time being calculated incorrectly 2022-12-01 18:04:06 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Alden Wu
815cd56f13 Add support for nonsquare smoke textures 2022-11-20 16:50:15 -08:00
Dean Herbert
12606122e3 Fix sliders not correctly taking on full available length after changing curve type 2022-11-17 13:59:07 +09:00
Dario Headley
a8c95c39ad Exclude sliderticks from the " freeze " 2022-11-14 16:18:46 +01:00
Thomas Müller-Höhne
9ef43ebd83 Fix compilation after framework-side PR updates 2022-11-12 21:24:12 +09:00
Thomas Müller-Höhne
fa8e38d9d6 Target rounded fragment shader
Compatibility with osu-framework change https://github.com/ppy/osu-framework/pull/5512
2022-11-12 17:18:23 +09:00
Dan Balasescu
606d42c679
Merge pull request #21184 from peppy/skinnable-things-cleanup
Skinnable class naming pass
2022-11-10 12:52:08 +09:00
Dan Balasescu
051f7f4c68
Merge pull request #21173 from peppy/toggle-hit-markers
Add the ability to toggle off hit marker displays in the editor
2022-11-10 12:23:53 +09:00
Dean Herbert
e19ba65f91 Remove LookupName from base ISkinComponentLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
Dean Herbert
ab458320c4 Fix some lingering inspections 2022-11-09 17:46:24 +09:00
Dean Herbert
82ff142b1b Apply nullability to osu! skinning classes 2022-11-09 13:37:09 +09:00
Dean Herbert
5e7dc34d05 Move some non-default skin files to correct namespace 2022-11-09 13:31:52 +09:00
Dean Herbert
710c224de4 Remove unused IHasMainCirclePiece interface 2022-11-09 13:31:50 +09:00
Dean Herbert
ada039151b Add the ability to toggle off hit marker displays in the editor 2022-11-08 18:07:06 +09:00
Dean Herbert
e02c477008
Merge pull request #21017 from andy840119/remove-nullable-disable-in-the-checks
Remove nullable disable in the checks.
2022-11-06 18:39:03 +09:00
andy840119
b0673636ca Remove nullable disable annotation in the osu ruleset. 2022-11-05 16:49:55 +08:00
Bartłomiej Dach
23134aea61
Update outdated comment 2022-11-04 19:48:19 +01:00
Dean Herbert
36c08b69fe Fix failing tests 2022-11-04 20:47:49 +09:00
Dean Herbert
20021551bb Fix editor selection behaviour regressions due to new path visualiser optimisation 2022-11-04 19:36:59 +09:00
Dean Herbert
e89d3840fc Adjust completion animation 2022-11-03 15:12:30 +09:00
Dean Herbert
0868c00ee8 Fix spinner centre size being updated every frame using transforms 2022-11-03 14:36:16 +09:00
Dean Herbert
62660ec92f Reorganise drawables and transforms to make more sequential sense 2022-11-03 14:21:22 +09:00
Dean Herbert
304f6f0418
Merge branch 'master' into argon-spinner-sides 2022-11-03 13:21:22 +09:00
Dan Balasescu
e4fb9119b3
Merge pull request #21060 from peppy/rename-target-practice
Rename mod "Target" to "Target Practice"
2022-11-01 20:38:15 +09:00
Dan Balasescu
947e6d41c0
Merge pull request #21056 from peppy/fix-argon-explosion-size
Fix argon hit circle outer gradient getting smaller each state application
2022-11-01 20:03:22 +09:00
Dean Herbert
cd8dc9b17b Rename "Target" to "Target Practice" 2022-11-01 19:47:20 +09:00
Dean Herbert
ff60eebe21 Fix large transform retention when adjusting accent colour of hitobject during pause 2022-11-01 19:12:59 +09:00
Dean Herbert
c179f0bb52 Fix argon hit circle outer gradient getting smaller each state application 2022-11-01 18:31:30 +09:00
Dan Balasescu
37407293aa Adjust target and hold off mod multipliers 2022-11-01 17:57:20 +09:00
Dean Herbert
8c9250285f Revert incorrect removal default value (causing a new warning) 2022-10-29 18:09:27 +09:00
Dean Herbert
19e0b9085c Remove redundant parameters 2022-10-29 00:24:33 +09:00
Dan Balasescu
74f3b9b18d
Merge pull request #20965 from peppy/reduce-slider-blueprint-overhead
Only draw path visualiser when hovered or single slider is selected
2022-10-28 16:01:30 +09:00
Dean Herbert
300ffbb500 Don't bother checking for null editorBeatmap 2022-10-28 14:35:55 +09:00
Dean Herbert
10c658e440
Ensure updateVisualDefinition is called once on load
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-28 14:34:24 +09:00
Bartłomiej Dach
d657005ffa
Merge branch 'master' into avoid-unnecessary-path-updates 2022-10-27 20:07:46 +02:00
Dean Herbert
7faf5cd1f6 Fix one more null edge case 2022-10-28 01:20:17 +09:00
Dean Herbert
e582d9d5a8 Remove unused using statements 2022-10-28 01:17:09 +09:00
Dean Herbert
361153f598 Fix nullref in tests due to missing EditorBeatmap dependency 2022-10-27 19:05:50 +09:00
Dean Herbert
39e0362db1 Reduce size of spinner blueprint to better represent gameplay size 2022-10-27 16:15:22 +09:00
Dean Herbert
0c7672e124 Avoid unnecessarily refreshing SliderBodyPiece's path 2022-10-27 16:02:04 +09:00
Dean Herbert
2f172b66cf Block hover if a multi-selection is made to avoid overlapping path visualisers 2022-10-27 14:52:46 +09:00
Dean Herbert
097d310d74 Only draw path visualiser when hovered or single slider is selected 2022-10-27 14:40:14 +09:00
Dan Balasescu
2d829c3beb
Merge pull request #20945 from peppy/fix-misplaced-slider-head
Fix slider heads getting misplaced after flipping in editor
2022-10-27 12:51:27 +09:00
Bartłomiej Dach
4db01fc970
Merge branch 'master' into fix-time-snapping-when-nearby-objects 2022-10-26 23:31:17 +02:00
Bartłomiej Dach
8b8d0c2293
Fix typo in comment 2022-10-26 23:30:14 +02:00
Dean Herbert
674ae9e742 Refactor DrawableSliderHead to never update the drawable position
Slider heads are guaranteed to always be drawn at (0,0). This fixes
weird behaviour in the editor, but also simplifies things in the
process. Win-win.

Closes #20644.
2022-10-26 15:26:22 +09:00
Dean Herbert
d03161ec01 Apply distance snap time component even when nearby object snap kicks in 2022-10-26 14:39:39 +09:00
Dean Herbert
7d59bc6e2f Merge branch 'grid-momentary-shortcuts' into read-current-distance-snap 2022-10-26 13:28:04 +09:00
Dean Herbert
54ae16badc Move distance snap toggle button implementation to DistancedHitObjectComposer 2022-10-26 13:27:23 +09:00
Bartłomiej Dach
48057412f5
Merge branch 'master' into grid-momentary-shortcuts 2022-10-25 22:17:08 +02:00
Dean Herbert
521fbd2ea3
Merge pull request #20345 from mk56-spn/Freeze_frame_implementation
Add "Freeze Frame" mod
2022-10-26 01:28:23 +09:00
D.Headley
f4aae9138b Remove Incompatibility with HD 2022-10-25 08:48:45 +02:00
Dean Herbert
2f0283e4d4 Simplify logic with new multi-grid snap support 2022-10-25 14:22:30 +09:00
Dean Herbert
2b850694fa Merge branch 'allow-distance-grid-snap' into grid-momentary-shortcuts 2022-10-25 14:10:45 +09:00
Dean Herbert
02a3f8c17f Allow both distance snap and grid snap to be applied at the same time 2022-10-25 14:09:22 +09:00
Dean Herbert
279ef556e3 Fix typon in comment 2022-10-25 13:27:26 +09:00
Dean Herbert
588fc750cd Change approach circles to all appear at the same time, but don't adjust AR 2022-10-25 13:26:32 +09:00
Dean Herbert
995216cced
Merge pull request #20819 from Joppe27/taiko-kiai-flashing
Implement taiko hitobject kiai flashing
2022-10-24 15:31:13 +09:00
Bartłomiej Dach
c0709a59f5
Merge branch 'master' into argon-spinner-sides 2022-10-23 18:44:04 +02:00
Dean Herbert
645a84b1d6 Display current distance snap and add button to update to use it 2022-10-21 22:58:36 +09:00
Dean Herbert
bcd65f3c3c
Merge pull request #20827 from goodtrailer/smoke-uncapped-v3
Remove smoke point maximum
2022-10-21 19:58:49 +09:00
Dean Herbert
ca91f9f716 Don't allow two momentary toggles at the same time to avoid edge cases 2022-10-21 17:16:55 +09:00
Dean Herbert
ef990c55ca Handle distance/grid toggles based on key type, rathern than individual left/right 2022-10-21 16:11:19 +09:00
Alden Wu
23b7b9013e Change smoke quadbatch growth factor to 2 from 1.5 2022-10-20 23:37:05 -07:00
Dean Herbert
7dbd6e2469
Merge branch 'master' into taiko-kiai-flashing 2022-10-21 12:48:35 +09:00
Dan Balasescu
e577a87618
Merge pull request #20825 from peppy/fix-argon-editor-combo-colour-change
Fix some argon circle layers not getting correct colour updates in editor
2022-10-20 12:56:34 +09:00
Salman Ahmed
7d31eaea54 Move ball tinting logic to overwrite SliderBall colour 2022-10-20 03:55:53 +03:00
Salman Ahmed
eb386d4bd5 Enable slider ball tint in default legacy skin 2022-10-20 03:29:25 +03:00
Salman Ahmed
ba37daa456 Bring back removed newline 2022-10-20 01:18:10 +03:00
Salman Ahmed
1852714d2d Fix existing alpha transform cleared on accent colour change
Clearing it causes its start value to be lost.
2022-10-20 01:16:27 +03:00
Dean Herbert
966dd786ae Don't consume keys when handling momentary snap toggles 2022-10-20 00:00:24 +09:00
Dean Herbert
830b92d3ae Add momentary shortcuts to toggle grid/distance snap
Matching osu!stable. I use these quite a lot while mapping and I'm sure
others do as well.

Hold `Shift` = invert grid snap
Hold `Alt` = invert distance snap
2022-10-19 20:06:41 +09:00
Dean Herbert
aca0d04834 Forcefully remove transforms before reapplying to avoid old accent colour getting rewound 2022-10-19 15:52:25 +09:00
Dean Herbert
9356a40a39 Remove redundant flash layer colour logic
In a previous iteration, the flash layer was white on the initial hit,
but this seems to have been removed for the final implementation.
2022-10-19 15:13:22 +09:00
Alden Wu
50ab9bff8b Rename for consistency 2022-10-18 23:05:09 -07:00
Alden Wu
a9b8ba94fa Add necessary newlines 2022-10-18 22:59:58 -07:00
Alden Wu
343c560b1b Remove smoke point maximum/cap 2022-10-18 22:54:17 -07:00
Dean Herbert
16c86b0744
Merge pull request #20815 from frenzibyte/remove-hitcircle-fade-easing
Remove fade easing from legacy hit circles to match stable
2022-10-19 12:08:45 +09:00
Dean Herbert
299131c985
Merge pull request #20816 from frenzibyte/adjust-slider-fade-parameters
Adjust slider fade out transition to match stable
2022-10-19 12:04:24 +09:00
Joppe27
59213fc00b Update LegacyMainCirclePiece to use renamed version of KiaiFlashingDrawable 2022-10-18 23:53:12 +02:00
Joppe27
a76a039722 Rename KiaiFlashingDrawable and move to osu.Game 2022-10-18 23:40:43 +02:00
Salman Ahmed
13e2323791 Adjust fade out duration to match stable 2022-10-18 23:48:51 +03:00
Salman Ahmed
3b3f3dc159 Fix new-style spinners fading in later than usual 2022-10-18 23:48:40 +03:00
Salman Ahmed
03edfce822 Remove fade easing from sliders 2022-10-18 23:43:42 +03:00
Salman Ahmed
d46bc7f72a Adjust fade out time to match stable 2022-10-18 23:43:31 +03:00
Salman Ahmed
2245456224 Remove fade easing from legacy hit circles on hit 2022-10-18 22:22:53 +03:00
D.Headley
764bc1948f remove commented out Incompatible mod 2022-10-18 14:59:43 +02:00
D.Headley
acf3498f83 Code Quality 2022-10-18 13:49:10 +02:00
Dario Headley
e1a8bfa135 Fixed approachCircle preempt 2022-10-18 13:40:13 +02:00
Dean Herbert
6a7f6c76ff Fix osu! editor padding being applied to toolboxes
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dan Balasescu
09500882c2
Merge pull request #20767 from frenzibyte/no-scope-no-smoke
Hide cursor smoke in "No scope" mod
2022-10-17 19:06:08 +09:00
Salman Ahmed
2adbf4cc1a Add arc-shaped progress bars to "argon" spinner 2022-10-17 08:58:47 +03:00
Bartłomiej Dach
148da4d423
Merge branch 'master' into argon-judgement-in-front 2022-10-15 22:42:41 +02:00
Salman Ahmed
7e9229a117 Merge branch 'master' into no-scope-no-smoke 2022-10-15 16:42:34 +03:00
Dean Herbert
b72c117333
Merge pull request #20756 from goodtrailer/smoke-rotation-fix
Fix smoke shaking when gameplay is paused
2022-10-15 19:14:04 +09:00
Alden Wu
46bcabea6c Separate smoke rotation seed and index 2022-10-14 12:42:04 -07:00
Salman Ahmed
ba72f13f54 Merge branch 'master' into hide-mouse-on-keyboard-input 2022-10-14 22:26:30 +03:00
Salman Ahmed
b1b97505ac Fix smoke displayed in "No scope" mod 2022-10-14 22:16:14 +03:00
Alden Wu
029f896db8 Use StatelessRNG for smoke rotation 2022-10-13 16:18:47 -07:00
Alden Wu
310588ad94 Renew smoke rng every draw 2022-10-13 13:01:05 -07:00
Dean Herbert
dd372c4d19 Move "argon" skin judgement text in front of hitobjects 2022-10-13 13:52:02 +09:00
Salman Ahmed
09cc89cfa0 Update existing usages of Cursor to handle null value 2022-10-13 00:17:08 +03:00
D.Headley
f67f6cc99c Fix switch case 2022-10-12 19:45:08 +02:00
D.Headley
83aedb1930 Make mod use new Combo, remove pointless test 2022-10-12 12:42:26 +02:00
Dean Herbert
8bf4ca4b53 Add legacy skin fallback when beatmap skin is providing resources 2022-10-12 17:47:20 +09:00
Salman Ahmed
84fdd2e107 Improve flashlight display on break periods 2022-10-11 17:16:57 +03:00
Dan Balasescu
083a13f041
Merge pull request #20680 from peppy/fix-slider-ball-editor-rewind
Fix slider ball facing incorrect direction during rewinding in editor
2022-10-11 17:47:17 +09:00
Dean Herbert
f060e6a780 Implement hold "sliding" samples in osu!mania 2022-10-11 16:31:37 +09:00
Dean Herbert
5a5f3af27d Rename property and add xmldoc 2022-10-10 15:42:08 +09:00
Dean Herbert
33620b7bd6 Fix slider ball facing incorrect direction during rewinding in editor
Closes https://github.com/ppy/osu/issues/20648.
2022-10-10 15:24:18 +09:00
Salman Ahmed
2d4f390372 Remove non-smoke key bindings on "Relax" mod instead 2022-10-09 17:14:16 +03:00
Salman Ahmed
c89a55043e Fix smoke being blocked with "Relax" mod enabled 2022-10-09 15:28:12 +03:00
OliBomby
b22e201289 Fixed stream convert float precision edge case 2022-10-08 23:43:23 +02:00
MK56
8fe89d5de2
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-10-07 22:23:51 +02:00
Dean Herbert
e0c66dbdbc
Merge pull request #20566 from smoogipoo/adjust-flashlight
Adjust flashlight to more closely match classic scaling
2022-10-07 15:23:42 +09:00
Dan Balasescu
4e6047f23d
Merge pull request #20571 from peppy/argon-mania
Add "argon" key area for osu!mania
2022-10-07 15:19:18 +09:00
Dan Balasescu
bce20e0a59 Merge branch 'master' into adjust-flashlight 2022-10-07 14:45:30 +09:00
Dean Herbert
4980e53c9c
Merge pull request #20376 from goodtrailer/smoke
Add cursor "smoke" trails
2022-10-07 03:41:07 +09:00
Alden Wu
9d54467145 Make smoke skinnable lifetime more robust 2022-10-05 19:13:06 -07:00
Alden Wu
49e023f861 Rename OsuSkinComponents.SmokeTrail to CursorSmoke 2022-10-05 19:11:38 -07:00
Dean Herbert
590af4cb7c Merge branch 'master' into argon-mania 2022-10-05 19:37:59 +09:00
Dan Balasescu
b6db36dcca
Merge pull request #20580 from peppy/approach-circle-fade-out
Hide approach circles immediate on successful hit
2022-10-05 19:17:57 +09:00
Dean Herbert
365a78d358 Merge branch 'master' into smoke 2022-10-05 18:58:18 +09:00
Dean Herbert
8f0ef99e10 Privatise some fields 2022-10-05 18:54:14 +09:00
Dean Herbert
bd82dfc333 Remove custom radius implementation 2022-10-05 18:53:07 +09:00
Dean Herbert
91d877e893 Set LifetimeEnd once rather than computing on every access 2022-10-05 18:52:01 +09:00
Dean Herbert
71edd314b1 Simplify SmokeContainer lifetime logic 2022-10-05 18:51:02 +09:00
Dean Herbert
6628ab5190 Refactor to avoid DI / event flow
There's always one active smoke segment and it's the direct child of
`SmokeContainer`. This can be simplified as such.
2022-10-05 18:37:14 +09:00
Dean Herbert
1e5ff2679b Rename classes to better emphasise that Smoke is a single trail segment 2022-10-05 18:29:16 +09:00
Dean Herbert
04abb2ce8f Update default cursor smoke implementation to use a texture 2022-10-05 18:26:17 +09:00
Dean Herbert
52002d91dd Only apply dim at top level objects 2022-10-05 17:48:56 +09:00
Dean Herbert
56d424003d Fix sliders not dimming correctly due to modified miss window 2022-10-05 14:25:04 +09:00
Dean Herbert
44b99444a7 Hide approach circles immediate on successful hit 2022-10-05 13:42:04 +09:00
Dean Herbert
c2956c6e1e Add osu! hit object dim
Stable would dim objects when they can't be hit (ie. the "miss" window
is not active yet). This was never implemented in lazer, and causes
quite large visual differences.

No one has mentioned this yet, but it will definitely be one of those
missing pieces which makes lazer feel different to stable.
2022-10-04 17:28:17 +09:00
Alden Wu
33f33a6845 Remove things that should've been removed before push 2022-10-04 00:53:03 -07:00
Dean Herbert
395ab58892 Attempt to fix code style infractions 2022-10-04 16:17:38 +09:00
Alden Wu
b0a948df45 Move LegacySmoke animation implementation to Smoke 2022-10-04 00:17:00 -07:00
Dean Herbert
326a3e6583 Add TODO in osu! argon transformer regarding missing components 2022-10-04 14:56:46 +09:00
Alden Wu
eaab0deef3 Fix InspectCode issues 2022-10-03 19:20:51 -07:00
Alden Wu
ccef189b81 Add barebones test for smoke 2022-10-03 18:19:05 -07:00
Alden Wu
343bdaa98e Remove unnecessary IsActive variable 2022-10-03 16:07:39 -07:00
Alden Wu
c1da3bc9cf Remove skinnable parents at the same time as their smoke children 2022-10-03 16:03:37 -07:00
Alden Wu
929eb8559e Fix LegacySmoke alpha calculations 2022-10-03 16:02:33 -07:00
Dean Herbert
0bac5ef465 Merge branch 'master' into smoke 2022-10-03 21:29:42 +09:00
Dan Balasescu
8598eb29f8 Adjust flashlight to closely match classic 2022-10-03 18:38:05 +09:00
Dan Balasescu
1890a66b28
Merge pull request #20509 from o-dasher/cleanup-setting-sources
Removes unnecessary setting sources specifications
2022-09-28 17:55:42 +09:00
Dan Balasescu
cbed268ac9
Merge pull request #20510 from sw1tchbl4d3r/high_bpm_judgements
Clamp `LifetimeStart` of `HitObject`s to their judgement windows
2022-09-28 17:49:35 +09:00
sw1tchbl4d3
0cffbb7562 Clamp LifetimeStart of HitObject's to their judgement windows 2022-09-27 16:54:24 +02:00
o-dasher
f3e25eacad Removes unnecessary setting sources specifications 2022-09-27 09:25:58 -04:00
abstrakt
6e1edc4d8d Use the StackedEndPosition to determine the jump distance in the FlashlightEvaluator.
Signed-off-by: abstrakt <abstrakt.osu@gmail.com>
2022-09-26 14:06:35 +02:00
Dean Herbert
a7449380cd Fix osu! slider ticks appearing too late 2022-09-26 14:11:59 +09:00
o-dasher
537796c3a1 Cleanup mod bindings 2022-09-25 15:49:22 -04:00
Dean Herbert
965d0603ce Fix slider tick colour not being applied properly 2022-09-23 21:11:25 +09:00
Dean Herbert
a94b4e402e
Merge branch 'master' into argon-spinner 2022-09-23 14:22:53 +09:00
Salman Ahmed
49af80e17b Remove 1.3x scale and adjust metrics with it 2022-09-22 20:39:42 +03:00
Salman Ahmed
e9c3478f69 Add very basic "argon" spinner 2022-09-22 20:39:42 +03:00
Dean Herbert
3811ea113d Adjust argon animations a bit 2022-09-23 00:54:24 +09:00
Dan Balasescu
9f92925ecd
Merge branch 'master' into argon-cursor 2022-09-22 21:46:37 +09:00
Dan Balasescu
44ae9a5048
Merge pull request #20403 from peppy/argon-follow-point
Add very basic follow point implementation for argon skin
2022-09-22 21:45:56 +09:00
Dean Herbert
e95758cfcd Add basic "argon" cursor 2022-09-22 21:21:30 +09:00
Dean Herbert
8875f7ee43 Add very basic follow point implementation for argon skin
This is just something to look better than the glowing mess which
triangles fallback was providing. This element hasn't been designed yet,
so I'm just filling in with something amicable for the time being.
2022-09-22 20:24:29 +09:00
Dan Balasescu
5dbe73ad0e
Merge pull request #20398 from peppy/fix-missing-notelock-shake
Fix "note lock" shake not always animating
2022-09-22 20:07:38 +09:00
Dan Balasescu
a612fe70f9
Merge pull request #20401 from peppy/fix-argon-sprite-lookup
Fix "argon" skin not supporting user loaded sprites in gameplay
2022-09-22 19:40:31 +09:00
Dan Balasescu
68e274b92d
Merge pull request #20400 from peppy/fix-argon-reverse-arrow-colour
Fix argon reverse arrow becoming white after switching skins
2022-09-22 19:01:19 +09:00
Dean Herbert
74aefdc5bd Move basic transformer behaviour to base abstract class 2022-09-22 18:53:43 +09:00
Dean Herbert
f8e9a960ba Fix argon skin not forwarding resource lookups to user backing 2022-09-22 18:53:43 +09:00
Dean Herbert
ea7c5458fe Fix sprite dropdown not showing resources from non-legacy skins during gameplay 2022-09-22 18:53:43 +09:00
Dean Herbert
68015ef10c Fix argon reverse arrow becoming white after switching skins 2022-09-22 18:12:28 +09:00
Dean Herbert
0458305a23 Add argon judgement bubbles 2022-09-22 17:50:21 +09:00
Dean Herbert
c354e828af
Merge pull request #20385 from B3nn1/slider-controlpoint-snapping
Add snapping for slider control points in the editor
2022-09-22 15:06:47 +09:00
Dean Herbert
749053481a Update osu! hitobject implementation to avoid triggering ClearInternal 2022-09-22 15:04:20 +09:00
Dean Herbert
b844d76311 Move Shake logic local to hitcircle/slider 2022-09-22 15:04:20 +09:00
Dan Balasescu
70bab81282
Merge pull request #20377 from peppy/argon-skin
Add new default "argon" skin
2022-09-22 14:50:43 +09:00
Dean Herbert
2bdc6417e9 Mark DrawableOsuHitObject abstract for clarity 2022-09-22 14:44:03 +09:00
Dean Herbert
9bbb53af40
Merge pull request #20370 from Pasi4K5/random-mod-customisation
Add mod settings `AngleSharpness` and `AngleVariety` to the random mod
2022-09-22 13:52:41 +09:00
B3nn1
112bbe2296 Always use Parent.ToScreenSpace() in PathControlPointVisualiser 2022-09-21 18:56:22 +02:00
B3nn1
5d54354588 Add missing ToScreenSpace() call 2022-09-21 18:53:25 +02:00
Dean Herbert
4492a26b59
Merge branch 'master' into argon-skin 2022-09-21 13:00:16 +09:00
Dan Balasescu
1e9b60f07f
Merge pull request #16524 from stanriders/move-td-reduction
Fix touch device difficulty reduction not affecting star rating
2022-09-21 12:51:14 +09:00
B3nn1
368229f324 Remove unnecessary brackets 2022-09-21 01:25:01 +02:00
B3nn1
fe9e8635fc Fix snapping of already existing slider control points in the editor 2022-09-21 01:04:39 +02:00
Pasi4K5
b1ecac514a Correct comments 2022-09-20 23:13:38 +02:00
Pasi4K5
b7c1e8cc5a Remove setting AngleVariety 2022-09-20 23:11:38 +02:00
Alden Wu
092e6cfa1d Lock smoke bounds to playfield 2022-09-20 12:03:07 -07:00
Alden Wu
ddbd69dc67 Replace LifetimeAfterSmokeEnd with abstract LifetimeEnd 2022-09-20 09:44:01 -07:00
Dan Balasescu
3ec16063bd And another invalidate 2022-09-20 21:01:18 +09:00
Dan Balasescu
102c140967 Remove another invalidate 2022-09-20 20:59:58 +09:00
Dan Balasescu
c28ed477e1 Expose less stuff, clean up implementation 2022-09-20 20:54:49 +09:00
Dan Balasescu
ff6e4e3a96 Privatise setters 2022-09-20 20:42:12 +09:00
Dan Balasescu
9f23210e7e Use British-English 2022-09-20 20:40:20 +09:00
Dan Balasescu
5d3c6efcc5 Dispose quad batch 2022-09-20 20:40:20 +09:00
Dan Balasescu
f7962c993d Reduce the number of points 2022-09-20 20:40:20 +09:00
Dan Balasescu
5d73de9021 Perform matrix mults on the GPU 2022-09-20 20:40:20 +09:00
Alden Wu
90a05f4bed Cap smoke on point count + omit invisible vertices 2022-09-20 01:40:20 -07:00
B3nn1
b0a3c9152a Enable snapping for slider control points in the editor 2022-09-19 21:33:38 +02:00
Alden Wu
c3b8e1d718 Fix test and spawn smoke immediately 2022-09-19 10:16:05 -07:00
Alden Wu
74056201e7 Return smoke key to key overlay 2022-09-19 09:15:59 -07:00
Alden Wu
0316e3e706 Merge branch 'master' of https://github.com/ppy/osu into smoke 2022-09-19 09:07:17 -07:00
Dean Herbert
c8206b747b Fix border / slider body metrics 2022-09-19 23:16:46 +09:00
Dean Herbert
4eae5f8733 Add back outer fill for hitcircles (but not slider head circles) 2022-09-19 23:16:46 +09:00
Dean Herbert
edc624c4be Tweak slider ball fade to be less present after slider ends 2022-09-19 23:16:46 +09:00
Dean Herbert
4f1530c2db Add slider follow circle 2022-09-19 23:16:46 +09:00
Dean Herbert
3c0983b0db Add slider reverse arrow 2022-09-19 23:16:46 +09:00
Dean Herbert
d4e2f70f87 Add slider score point 2022-09-19 23:16:46 +09:00
Dean Herbert
ef6ea49b18 Add slider ball 2022-09-19 23:16:46 +09:00
Dean Herbert
cd84503e62 Add slider body 2022-09-19 23:16:46 +09:00
Dean Herbert
403cc59208 Further animation tweaks and better documentation 2022-09-19 23:16:46 +09:00
Dean Herbert
02fbb04ba8 Add basic argon judgement 2022-09-19 23:16:46 +09:00
Dean Herbert
4a86fe1ca9 Tweak main circle animations 2022-09-19 23:16:46 +09:00
Dean Herbert
b766493776 Add basic argon skin transformer for osu! ruleset 2022-09-19 23:16:46 +09:00
Alden Wu
8204090e47 Scale smoke radius based on texture width 2022-09-19 00:07:22 -07:00
Alden Wu
3eb28881e4 Temp default smoke scale/rotation anims 2022-09-18 22:14:54 -07:00
Alden Wu
8474335aea Remove hacky LifetimeEnd workaround 2022-09-18 22:08:45 -07:00
Alden Wu
a0e31018a1 Copy stable smoke's fade/alpha values, blending, scale, and rotation 2022-09-18 22:06:07 -07:00
Alden Wu
6852577dad Remove smoke from key overlay 2022-09-18 19:08:01 -07:00
Alden Wu
0138663bdc Fix InspectCode errors 2022-09-18 18:32:33 -07:00
Alden Wu
06178104c8 Show smoke in replays 2022-09-18 17:55:06 -07:00
Pasi4K5
9eb0a21d75 Correct comments 2022-09-19 00:45:23 +02:00
D.Headley
6d3e42a248 Give enums descriptions, change acronym and remove icon 2022-09-18 23:56:26 +02:00
Pasi4K5
4263933c9e Add settings AngleSharpness and Angle variety 2022-09-18 23:43:14 +02:00
Alden Wu
613564b5b9 Full legacy smoke implementation and temp default smoke 2022-09-18 12:10:01 -07:00
Alden Wu
493efd84a3 Basic smoke path implementation 2022-09-18 12:08:34 -07:00
Salman Ahmed
557b39b69b Fix InputBlockingMod not always clearing last action on break periods 2022-09-16 20:01:19 +03:00
Mk-56spn
fae1d4ff5c Merge remote-tracking branch 'origin/Freeze_frame_implementation' into Freeze_frame_implementation 2022-09-16 15:27:45 +02:00
Mk-56spn
a0c493656f Remove Incompatibility with Approach Circle requiring mods 2022-09-16 15:27:36 +02:00
MK56
3fe94b1620
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-16 14:29:44 +02:00
Mk-56spn
6db8f51c02 Improve Tests
Fix divisor in test


Add Copyright header
2022-09-16 13:45:18 +02:00
Dean Herbert
289e6ad977 Fix follow point animations in legacy skins not always starting at correct point in time 2022-09-16 15:12:05 +09:00
Dan Balasescu
fcba917419
Merge pull request #20320 from peppy/skin-transformers
Allow skin transformers to be created for all skins
2022-09-16 12:58:46 +09:00
Mk-56spn
5a9b027ebc Use Enum for Settings 2022-09-16 02:57:21 +02:00
Mk-56spn
eb84c513e3 Add ability to adjust to BPM changes
fix first hitcircle being off time


Bpm changes not working fix
2022-09-16 02:14:14 +02:00
Dan Balasescu
a3d9a4d723
Merge pull request #20160 from apollo-dw/od
Retrieve great hit window from the hit object in osu! difficulty calculation
2022-09-15 20:38:35 +09:00
Dean Herbert
c7f8f948b9 Rename CreateLegacySkinProvider to CreateSkinTransformer and apply to all skins 2022-09-15 20:18:10 +09:00
Dean Herbert
4af76b9f48 Apply the same change to HandleFlip 2022-09-15 19:55:18 +09:00
Dean Herbert
c203a030c1
Update osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/Components/PathControlPointPiece.cs
Co-authored-by: apollo <83023433+apollo-dw@users.noreply.github.com>
2022-09-15 04:28:07 +09:00
Dean Herbert
87384db872 Fix slider rotation causing thousands of new drawables to be created 2022-09-15 00:51:08 +09:00
StanR
1801ae3c6a Move flashlight TD difficulty reduction to diffcalc 2022-09-14 17:40:22 +03:00
Dan Balasescu
4004d57448
Merge branch 'master' into move-td-reduction 2022-09-13 16:12:26 +09:00
Dan Balasescu
7f291552c7
Merge pull request #20258 from peppy/fix-slider-leak-editor
Fix bindable event binds to `HitObject` directly
2022-09-12 19:47:10 +09:00
Dean Herbert
89e128c0f3 Fix bindable event binds to HitObject directly 2022-09-12 17:35:56 +09:00
Mk-56spn
d2ac25870b Merge remote-tracking branch 'origin/Freeze_frame_implementation' into Freeze_frame_implementation 2022-09-10 14:08:38 +02:00
Mk-56spn
23d435bc42 name changes 2022-09-10 14:08:04 +02:00
andy840119
3d7367a842 Move the CreateConvertibleReplayFrame() into the base ruleset class for avoid api breaking change in the customized ruleset. 2022-09-10 11:07:23 +08:00
andy840119
2f91b5c846 Add missing import. 2022-09-10 10:46:10 +08:00
andy840119
e62999fb16 Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
# Conflicts:
#	osu.Game.Rulesets.Catch/CatchRuleset.cs
#	osu.Game.Rulesets.Osu/OsuRuleset.cs
#	osu.Game.Rulesets.Taiko/TaikoRuleset.cs
#	osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
MK56
33a435e2ef
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-10 00:54:46 +02:00
StanR
6338b87c63 attributes 2022-09-09 17:31:52 +03:00
StanR
c2e3fcfa3f Merge branch 'master' into move-td-reduction 2022-09-09 17:24:58 +03:00
Dean Herbert
31cd7cdca0 Refactor IsHitObjectOnBeat to be understandable 2022-09-09 18:00:51 +09:00
Dean Herbert
a2f96ea120 Make random implicitly null to avoid potential incorrect behaviour in randomBool 2022-09-09 17:55:54 +09:00
Dean Herbert
5defb8b471
Merge branch 'master' into enhance-randomisation 2022-09-09 17:53:13 +09:00
Mk-56spn
e416c87970 readded approach circles 2022-09-08 15:17:22 +02:00
Mk-56spn
4a6c8785af Clean up 2022-09-08 11:14:56 +02:00
Mk-56spn
7f08de522d Fixed 2022-09-08 01:21:03 +02:00
MK56
e250885204
Merge branch 'ppy:master' into Freeze_frame_implementation 2022-09-08 00:10:44 +02:00
Mk-56spn
5a1b2f9a77 Freeze frame testing 2022-09-08 00:05:48 +02:00
apollo-dw
1997519364 Don't use full hit window in rhythm 2022-09-07 13:25:35 +01:00
Dean Herbert
6a03b4e0de
Merge branch 'master' into true-gameplay-rate 2022-09-07 20:01:03 +09:00
Dean Herbert
b5b66de3c9 Fix target mod crashing if beatmap is played with a break after all hitobjects
Closes https://github.com/ppy/osu/issues/20161.
2022-09-07 17:46:51 +09:00
apollo-dw
b5779508d0 Retrieve great hit window from the hit object 2022-09-06 17:10:32 +01:00
Dean Herbert
bc1212f4e6 Change NonGameplayAdjustments to GameplayAdjustments and convert TrueGameplayRate to extension method 2022-09-06 22:26:46 +09:00
Dean Herbert
f1d9b225a7
Remove probably pointless comment 2022-09-05 16:40:10 +09:00
Dean Herbert
8af8adf22d Fix incorrect slider length in timeline when non-default velocity is inherited from previous object 2022-09-05 16:17:26 +09:00
Salman Ahmed
ff4a051c05
Merge branch 'master' into remove-dispose-updates 2022-09-03 16:14:50 +03:00
Dan Balasescu
9645bfe708 Bump difficulty calculator versions 2022-09-02 16:27:25 +09:00
Dean Herbert
6a35b233e5 Merge branch 'master' into remove-dispose-updates 2022-09-01 23:03:19 +09:00
Bartłomiej Dach
cd72f087b3
Merge branch 'master' into fix-merge-crash 2022-08-31 21:25:53 +02:00
Dean Herbert
6af8143c8c Fix typing of new setting to allow it to be visible to tools export 2022-08-31 22:34:07 +09:00
Dan Balasescu
8c202ce141
Merge pull request #20033 from apollo-dw/speed-notes-fix
Fix relevant note count summation in osu!'s Speed skill
2022-08-31 19:15:40 +09:00
Dan Balasescu
837b19ab24
Merge pull request #19919 from khang06/nan-sv
Emulate osu!stable's NaN slider velocity behavior
2022-08-31 19:06:49 +09:00
Dean Herbert
a15ea71aed
Merge branch 'master' into fix-merge-crash 2022-08-31 13:28:57 +09:00
apollo-dw
ad650adab0 Fix speed note count sum 2022-08-30 18:03:44 +01:00
Dean Herbert
706ac3e44f
Merge pull request #19982 from OliBomby/fix-illegal-merge
Fixed 0 length merge being allowed
2022-08-30 12:28:18 +09:00
OliBomby
44916c51d7 Updated canMerge check to be totally accurate 2022-08-30 00:18:55 +02:00
Dean Herbert
2e5770be4e Move helper method to bottom of class 2022-08-30 02:51:42 +09:00
OliBomby
d50e9caa11 Moved guards to separate canMerge method 2022-08-29 18:58:29 +02:00
OliBomby
a296c1ec81 remove call to changeHandler BeginChange 2022-08-29 16:05:35 +02:00
Dan Balasescu
e34c8e4975
Merge pull request #19716 from MBmasher/fl-grid
Nerf repeated angles in Flashlight skill
2022-08-29 21:15:45 +09:00
Dan Balasescu
e3e204001e
Merge pull request #19907 from peppy/ruleset-api-versioning
Add ruleset API versioning
2022-08-29 18:50:01 +09:00
Dean Herbert
780121eeee Add setting to toggle metronome in "Target" mod
As mentioned in https://github.com/ppy/osu/discussions/20006#discussioncomment-3496732.
2022-08-29 17:12:10 +09:00
Dean Herbert
105aa01e7d Update usages of RemoveInternal 2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dean Herbert
90b9c02ac6 Remove "internal" identifier as unnecessary 2022-08-29 14:01:15 +09:00
OliBomby
ff2eac79d1 fix same time merge causing crash 2022-08-27 17:43:32 +02:00
OliBomby
16e0ec2f88 Fixed 0 length merge being allowed 2022-08-27 13:53:50 +02:00
MBmasher
b082dc1fe4 Slightly buff flashlight multiplier 2022-08-27 18:31:07 +10:00
Dean Herbert
69cbc0125b
Merge pull request #19964 from nanashi-1/merge-hitobject-hitsound-fix
Fix hitobjects merge feature in editor not adding any hitsounds
2022-08-26 20:05:02 +09:00
MBmasher
454d868dd5 Remove unnecessary using call 2022-08-26 20:42:02 +10:00
MBmasher
249c3f868f Compare raw angle values instead of rounding angles 2022-08-26 20:40:18 +10:00
MBmasher
5082ee26cf Ensure a negative value cannot be added to angleRepeatCount 2022-08-26 20:30:14 +10:00
MBmasher
08cb70b093 Lessen repeated angle nerf for objects further back in time 2022-08-26 20:27:31 +10:00
Dean Herbert
03dcfed384
Merge branch 'master' into slider-splitter 2022-08-26 19:10:33 +09:00
Dean Herbert
47cb163015 Refactor splitting logic and comments slightly 2022-08-26 19:09:03 +09:00
Dean Herbert
f54047d17b Move selection clearing to top 2022-08-26 18:55:20 +09:00
MBmasher
d8854413cb Add newline 2022-08-26 12:38:36 +10:00
MBmasher
6651e76e2e Remove whitespace 2022-08-26 12:37:56 +10:00
MBmasher
b0e7f63361 Update angle multiplier to nerf repeated angles 2022-08-26 12:34:33 +10:00
nanashi
4fc96f0389
Merge branch 'ppy:master' into merge-hitobject-hitsound-fix 2022-08-25 19:34:05 +08:00
nanashi-1
2d2bfac5e9 used firstHitObject.Samples as samples for mergedHitObject 2022-08-25 17:49:38 +08:00
Dean Herbert
3ca4bdc087 Add ToArray() calls to removal iteration for safety 2022-08-25 15:13:38 +09:00
Dean Herbert
091c51e664 Fix SliderPath.Version bindings not being correctly cleaned up on path changes 2022-08-25 15:00:32 +09:00
o-dasher
4de6df71c5 No "gameplayClock" usage with playfield update mods 2022-08-24 20:59:32 -04:00
Khang
9c6968e96d Remove unused import in Slider 2022-08-24 02:54:40 -04:00
OliBomby
631ea9a3ed added a gap between objects and made it theoretically possible to retain sample control point 2022-08-23 23:29:59 +02:00
OliBomby
1f9cdff013 remove these lines 2022-08-23 22:19:40 +02:00
Khang
ec9daec93b Remove unnecessary workaround 2022-08-23 14:18:40 -04:00
Khang
c1ced85b5e Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now) 2022-08-23 14:07:18 -04:00
Khang
a81672f3dc Use an infinite tick distance instead of directly disabling tick generation for SliderEventGenerator 2022-08-22 23:31:24 -04:00
Khang
9f08c474ca Treat NaN slider velocity timing points as 1.0x but without slider ticks 2022-08-22 21:58:38 -04:00
Dean Herbert
f5710d8000 Add ruleset API versioning 2022-08-22 16:35:08 +09:00
naoei
29ef1c8db8 Check if StatisticItem.Name is null or empty 2022-08-20 21:48:53 -04:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization 2022-08-20 21:39:10 -04:00
Dean Herbert
885ea4270b Reorder context menu items and tidy up surrounding code 2022-08-20 14:03:54 +09:00
Dean Herbert
36e202c70e Add inline comment explaining necessity to use AddRange for slider transform operations 2022-08-20 11:38:43 +09:00
OliBomby
65f7ecec83 moving all controlpoints at once for slider 2022-08-20 00:26:04 +02:00
OliBomby
d1519343f6 Improved visual tests for slider splitting 2022-08-19 18:29:01 +02:00
MK56
91742859f1
Merge branch 'ppy:master' into blink_implementation 2022-08-19 16:55:27 +02:00
OliBomby
89eb0a4079 Added TestScene for slider splitting 2022-08-19 01:10:54 +02:00
Mk-56spn
7add3a6950 ar var test 2022-08-18 19:00:54 +02:00
OliBomby
cb6339a20b added slider splitting option 2022-08-18 01:29:03 +02:00
Dan Balasescu
237637f0c4
Merge pull request #19804 from stanriders/clamp-sb-estimation
Clamp effective miss count to maximum amount of possible breaks
2022-08-17 18:58:12 +09:00
Dean Herbert
615c5cf6ae
Merge branch 'master' into slider-merger 2022-08-17 13:36:15 +09:00
Dean Herbert
0ff5547b83 Make changeHandler optional in convertToStream method to match new implementation 2022-08-17 13:35:44 +09:00
StanR
43e471c2a5 Clamp effective miss count to maximum amount of possible braks 2022-08-16 16:12:13 +03:00
Dean Herbert
ee153a345c Add a few more overlooked beatmap save states on setup screen modifications 2022-08-16 16:31:56 +09:00
Dean Herbert
0833a6fb9a Avoid multiple iteration of LINQ query using a local 2022-08-16 15:39:23 +09:00
Dean Herbert
7cc9fdbaa0 Simplify context menu check by using existing mergeable object list 2022-08-16 15:39:23 +09:00
Dean Herbert
ecb9351bab Remove unnecessary null pre-checks 2022-08-16 15:36:43 +09:00
Dean Herbert
e636fcd9b8 Use DI'd components from parent class rather than fetching locally 2022-08-16 15:35:32 +09:00
OliBomby
3abc333813 added hotkey for merging selection 2022-08-15 17:18:55 +02:00
Dean Herbert
c8764cb333 Move all usage of GameplayClock to IGameplayClock 2022-08-15 18:30:53 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization 2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7 Localise hit result name 2022-08-14 14:57:02 -04:00
naoei
18ce784ae0 Allow StatisticItem's name param to be nullable 2022-08-14 14:51:35 -04:00
Pasi4K5
5106c00a9c Improve code quality 2022-08-14 19:02:29 +02:00
Pasi4K5
7a41b9f25a Adjust angle and sectionOffset calculations 2022-08-13 03:11:58 +02:00
Pasi4K5
8c624d3269 Add comments and improve code readability 2022-08-13 00:57:49 +02:00
Pasi4K5
78fe72476d Adjust parameters 2022-08-13 00:01:40 +02:00
Dean Herbert
e5e9841652 Apply multiple other mod debuffs as decided in pull request discussion 2022-08-12 18:58:09 +09:00
MBmasher
21c5fed45f Adjust capitalisation 2022-08-12 14:09:16 +10:00
MBmasher
f70588a423 Add newline before brace 2022-08-12 14:08:32 +10:00
MBmasher
037f56077b Apply Flashlight grid nerf 2022-08-12 13:29:04 +10:00
OliBomby
3525dfb0f1 added merging feature 2022-08-12 01:17:33 +02:00
Dan Balasescu
61a3758cd9 Merge branch 'master' into pp-balancing 2022-08-11 19:46:16 +09:00
naoei
a42b8092af Change message type osu resume overlay 2022-08-10 16:09:58 -04:00
naoei
3e38baca3c Change ruleset mod description types 2022-08-10 16:09:11 -04:00
Dan Balasescu
7cac089246
Merge branch 'master' into fl-slider 2022-08-10 21:19:05 +09:00
Pascal Pomper
f98ee3ff24
Merge branch 'ppy:master' into enhance-randomisation 2022-08-10 12:22:39 +02:00
Dean Herbert
e1189da824 Merge branch 'master' into irenderer-glwrapper 2022-08-08 12:31:53 +09:00
Dan Balasescu
6afff72865 Fix CI inspections / refactor to single enumeration 2022-08-05 20:54:10 +09:00
Dan Balasescu
802dc90cb1 Adjust using directives for vertices 2022-08-05 20:37:33 +09:00
Dean Herbert
a682a823f4 Fix test failures where Beatmap is not provided 2022-08-05 18:20:37 +09:00
Dean Herbert
9a4d0494de Adjust various pooling defaults to better handle more intense beatmaps 2022-08-05 18:09:07 +09:00
Dean Herbert
8ae5429602 Adjust slider pooling based on beatmap
Handles edge cases like mentioned in https://github.com/ppy/osu/issues/19585.
2022-08-05 18:08:05 +09:00
Dan Balasescu
2c6c315e3a
Merge branch 'master' into pp-balancing 2022-08-04 15:40:46 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
a2a913ab52 Merge branch 'irenderer-batches' into irenderer-textures 2022-08-02 19:25:08 +09:00
Dean Herbert
a5fac70c3b Rename variable to not include mode name itself 2022-08-01 23:30:00 +09:00
Dean Herbert
d09976bb39 Merge branch 'master' into Wiggle-strength-duration 2022-08-01 23:29:03 +09:00
Dean Herbert
e0940c6c22 Update animations to final versions 2022-08-01 18:03:32 +09:00
Dean Herbert
0d9edcfa24
Merge branch 'master' into stable-slider-tick-anims 2022-08-01 17:40:16 +09:00
Dan Balasescu
415d6def2d Remove unnecessary AsNonNull() 2022-08-01 13:22:58 +09:00
andy840119
632577389d Mark the property as non-nullable. 2022-07-31 21:43:16 +08:00
Dan Balasescu
09979d44aa Apply DrawNode batching changes 2022-07-29 23:32:09 +09:00
Dan Balasescu
155dac55d0 Apply DrawNode parameter changes 2022-07-29 22:33:34 +09:00
Salman Ahmed
72961ec336 Flip method parameters to make sense
See 537f64c75e (r931785228)
2022-07-28 08:04:55 +03:00
andy840119
537f64c75e Make original hit objects and random properties as local variable. 2022-07-27 22:15:41 +08:00
Salman Ahmed
89644a652e Separate combined fields 2022-07-27 10:13:44 +03:00
Pasi4K5
da7d297d85 Adjust parameters 2022-07-26 19:07:25 +02:00
andy840119
0fe64d1e80 Remove unused namespace. 2022-07-27 01:05:50 +08:00
為什麼
9134525111 Mark the property as nullable and add some assert check. 2022-07-26 23:58:50 +08:00
為什麼
deb39bd330 Mark the property as nullable or non-nullable. 2022-07-26 23:52:08 +08:00
為什麼
e28584da89 Remove nullable disable annotation in the Osu ruleset. 2022-07-26 23:25:28 +08:00
Salman Ahmed
f68c4e8890 Fix code formatting 2022-07-25 06:36:26 +03:00
mk-56
16e655766e Addressed pertinent issues 2022-07-23 23:30:57 +02:00
MK56
2a3d3a0660
Merge branch 'ppy:master' into Wiggle-strength-duration 2022-07-23 22:58:21 +02:00
MBmasher
267d55a6a8 Remove osuSlider from statement 2022-07-23 14:48:39 +10:00
MBmasher
230943f698 Merge branch 'fl-slider' of https://github.com/mbmasher/osu into fl-slider 2022-07-23 14:40:54 +10:00
MBmasher
f44a5def90 Move repeat bonus to TravelDistance 2022-07-23 14:40:16 +10:00
Dan Balasescu
71912e10c4
Merge branch 'master' into fl-slider 2022-07-22 15:22:50 +09:00
Alden Wu
c2c2c505a4 Combine FollowCircle and TickFollowCircle classes 2022-07-21 19:46:46 -07:00
Dean Herbert
726042d9ec Use switch instead of or 2022-07-21 23:16:28 +09:00
Dean Herbert
aca19a005e Add versioning to difficulty calculators 2022-07-21 18:15:25 +09:00
Alden Wu
23fd514ca3 Use DrawableSliderTail instead of DrawableSlider 2022-07-20 18:07:02 -07:00
StanR
163c3f9c2d Adjust multipliers to account for speed changes 2022-07-20 16:10:34 +03:00
StanR
35e841de95 Move base performance multiplier to a const 2022-07-20 15:54:49 +03:00
StanR
9c9f32b435 Merge branch 'master' into pp-balancing 2022-07-20 15:40:29 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-20 08:57:43 +03:00
Dan Balasescu
ec789c2f71
Merge pull request #19128 from peppy/default-follow-circle-improvements
Adjust default follow circle animations to feel nicer
2022-07-20 14:57:03 +09:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03:00
Dean Herbert
06ae30a7d2 Fix slider velocity not using previous value if slider is not adjacent 2022-07-19 22:54:11 +09:00
Dan Balasescu
cfb2adfd27
Merge branch 'master' into velocitychanges 2022-07-19 19:57:47 +09:00
Alden Wu
5cb0920cfb Revert OnSliderTail() to OnSliderEnd()
In light of the comment added in the previous commit, slider tail
and end are not actually the same.
2022-07-19 02:27:04 -07:00
Alden Wu
e1f7db6e7d Fix around some comments 2022-07-19 02:25:14 -07:00
Alden Wu
d213f56f79 Align legacy followcircle anims to slider ticks 2022-07-19 02:08:53 -07:00
Dean Herbert
e346624b14 Fix animation changes incorrectly applying to successful completion of sliders 2022-07-19 15:51:02 +09:00
Dean Herbert
101d270615 Merge branch 'master' into default-follow-circle-improvements 2022-07-19 15:50:47 +09:00
Salman Ahmed
d8cce5fe36 Fix OsuHitObject not using property wrapper properly 2022-07-19 07:52:12 +03:00
Salman Ahmed
8f80a22ef9 Fix osu! and catch hitobjects no longer scaled to 1 by default 2022-07-19 07:00:13 +03:00
Salman Ahmed
1051009827 Change bindable properties in all HitObjects to be lazily initialised 2022-07-19 05:39:10 +03:00
StanR
633f6fe620 Increase global multiplier 2022-07-18 21:58:11 +03:00
MBmasher
42b9dc877d Divide slider bonus by repeat count 2022-07-18 16:14:06 +10:00
MBmasher
72c096f9af Update xmldoc 2022-07-18 15:59:20 +10:00
MBmasher
7c680afc3c Change initialisation of osuSlider 2022-07-18 15:59:00 +10:00
MBmasher
204fbde07b Remove debug code 2022-07-18 15:58:32 +10:00
MBmasher
8413c40442 Remove debug code 2022-07-18 15:58:09 +10:00
Salman Ahmed
32ba58109b Remove score multiplier on difficulty-increasing mods with customised settings 2022-07-18 07:29:03 +03:00
Salman Ahmed
0ac3391d54
Merge branch 'master' into cinema-repel-incompatible 2022-07-18 06:55:43 +03:00
tsunyoku
83429d2f22 make cinema incompatible with repel 2022-07-17 20:45:17 +01:00
tsunyoku
491558261f remove unnecessary type-specification 2022-07-17 20:44:06 +01:00
tsunyoku
e13c1254e5 make perfect incompatible with autopilot 2022-07-17 20:41:43 +01:00
StanR
de38b54c10 Merge branch 'master' into pp-balancing 2022-07-17 20:53:05 +03:00
MBmasher
68caafa210 Update xmldoc 2022-07-17 17:02:30 +10:00
MBmasher
dae698638c Add repeat bonus to Flashlight, move repeat multiplier to AimEvaluator 2022-07-17 16:56:05 +10:00
MBmasher
a950deb7db Re-implement slider changes to FlashlightEvaluator 2022-07-17 16:27:55 +10:00
Jamieson Berida
a0dd6cbab3
Merge branch 'master' into fl-slider 2022-07-17 16:18:18 +10:00
Dean Herbert
b93b6ba2ca Change "single tap" mod acronym to not conflict with "strict tracking" 2022-07-16 17:19:55 +09:00
Salman Ahmed
887f2721b0
Merge branch 'master' into default-follow-circle-improvements 2022-07-15 18:39:57 +03:00
Dean Herbert
775c6c8374 Fix potential crash in editor from transform time going below zero 2022-07-15 19:29:37 +09:00
Dean Herbert
afec7941ff Adjust default follow circle animations to feel nicer 2022-07-15 17:28:42 +09:00
Dean Herbert
23a0e25c8c Merge branch 'master' into stable-slider-followcircle-anims 2022-07-15 17:27:48 +09:00
Dean Herbert
7ed4eb5815 Adjust transform logic to match osu-stable (and add TODOs for remaining oversights) 2022-07-15 17:17:55 +09:00
Dean Herbert
0ade8db550 Tidy up nullability and casting 2022-07-15 16:40:48 +09:00
Alden Wu
1581f1a0ff Convert constructor in abstract class to protected 2022-07-14 17:11:01 -07:00
Alden Wu
4453b0b3e8 Replace comment pointer with actual comment 2022-07-14 17:11:01 -07:00
Alden Wu
66932f1af6 Move shared followcircle code into abstract base class 2022-07-14 17:11:01 -07:00
StanR
760742e358 Move relax global multiplier to diffcalc 2022-07-14 00:42:50 +03:00
Dean Herbert
e2f2d5f794 Rename last action to better represent that it is only captured actions 2022-07-14 01:40:44 +09:00
Dean Herbert
0bc42ef67d
Merge branch 'master' into stable-slider-followcircle-anims 2022-07-14 00:24:33 +09:00
James
4d9494d3b3 change LastPressedAction to have a private setter 2022-07-13 14:42:45 +01:00
James
af03002495 make flash duration and ruleset private 2022-07-13 14:31:09 +01:00
James
0da1bd393c privatise checkCorrectAction, add abstract CheckValidNewAction function 2022-07-13 14:29:27 +01:00
Dean Herbert
be3187c3a4 Remove remnant nullable disables 2022-07-13 22:05:56 +09:00
Dean Herbert
33dd9562cc Privatise some fields 2022-07-13 22:04:57 +09:00
Dean Herbert
5e6b9b96b0 Apply NRT to new InputBlockingMod class 2022-07-13 22:02:46 +09:00
tsunyoku
6755a771b4 make Cinema incompatible with InputBlockingMod 2022-07-13 07:49:08 +01:00
tsunyoku
e9b0a3e4fa make alternate and singletap incompatible with eachother 2022-07-13 07:35:53 +01:00
James
20d2b86193 make Single Tap incompatible with Autoplay, Cinema and Relax 2022-07-12 23:18:20 +01:00
James
c05263c3c3 add Single Tap mod 2022-07-12 23:15:18 +01:00
James
f90f93a43c abstract OsuModAlternate into InputBlockingMod 2022-07-12 23:15:18 +01:00
StanR
0983e4f81e Increase 50s nerf again 2022-07-12 17:57:00 +03:00
Gabe Livengood
b96734e31a
fix mod incompatibility between repel and relax 2022-07-12 08:43:48 -04:00
StanR
e58c365276 Merge branch 'master' into pp-balancing 2022-07-12 10:53:31 +03:00
Dan Balasescu
7ab75606a1
Merge branch 'master' into velocitychanges 2022-07-12 16:52:57 +09:00
StanR
58c687172b Reduce low AR bonus 2022-07-12 10:52:44 +03:00
Dean Herbert
fa626a82b3 Add missed incompatilibity rules 2022-07-12 15:19:06 +09:00
Gabe Livengood
28278e2554
enable NRT again 2022-07-11 17:27:25 -04:00
Gabe Livengood
54fe84350c
reciprocate mod incompatibility 2022-07-11 17:23:32 -04:00
Alden Wu
48911b956a Remove ClearTransformsAfter call
A bit weird only having one call on its own; probably deserves an
entire PR dedicated to adding ClearTransformsAfter calls
2022-07-10 17:07:21 -07:00
Gabe Livengood
6443338251
use cursor position instead of destination for dampLength calculation
the destination vector is clamped within playfield borders, we want dampLength to be based on distance from the cursor.
2022-07-10 01:22:22 -04:00
為什麼
1725a76fa0 Remove the nullable disable annotation for all rulesets. 2022-07-10 10:15:27 +08:00
為什麼
857377e145 Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
Gabe Livengood
a606d545c1
update new usage of CalculatePossibleMovementBounds 2022-07-08 12:00:07 -04:00
Dean Herbert
36f129a9b6
Merge branch 'master' into osu-mod-repel 2022-07-09 00:26:49 +09:00
Dean Herbert
8071335f3a
Merge pull request #18596 from hlysine/fix-random-mod-slider
Fix random mod generating off-screen sliders
2022-07-08 19:28:34 +09:00
goodtrailer
84dcd042f4 Protect duration calculations against unstable fps 2022-07-07 20:30:31 -07:00
Gabe Livengood
62beae4063
add nullable directive 2022-07-06 17:18:21 -04:00
Gabe Livengood
b3f23d93e8
Merge branch 'master' into osu-mod-repel 2022-07-06 17:05:09 -04:00
Gabe Livengood
d5b4d14670
modify damp length to effectively invert repulsion strength 2022-07-06 17:01:14 -04:00
Salman Ahmed
7f94405c9e Rename method and make duration optional 2022-07-06 23:38:11 +03:00
Gabe Livengood
40e98f84f3
change default strength back to 0.5 2022-07-06 16:01:08 -04:00
Gabe Livengood
0281bf672c
operate on vectors instead of vector components 2022-07-06 15:58:25 -04:00
goodtrailer
72fb1ae892 Add forgotten unsubscribes 2022-07-05 21:04:13 -07:00
goodtrailer
1e6def8209 Fix spinner accent animation on rewind 2022-07-04 22:58:41 -07:00
apollo-dw
5b96f67a8b Remove non-overlapping velocity buff 2022-07-04 20:49:26 +01:00
StanR
4f77637946 Update desmos 2022-07-04 21:52:57 +03:00
StanR
bf738aa04f Account for extreme ODs in relax multipliers 2022-07-04 21:49:45 +03:00
StanR
afa3f8cda3 Make relax ok/meh multipliers dependent on OD 2022-07-04 20:53:20 +03:00
StanR
11eb344476 Reduce 50s nerf further 2022-07-04 20:28:15 +03:00
StanR
db8bb07c78 Reduce 50s nerf effect 2022-07-04 20:10:26 +03:00
StanR
212360f67e Make relax ok/meh nerfs less drastic, add flashlight nerf, remove ar bonus for relax 2022-07-04 19:59:30 +03:00
StanR
45258b3f14 Buff aim slightly 2022-07-04 19:53:34 +03:00
goodtrailer
e6a05ce3e2 Slow down legacy followcircle animations 2022-07-03 13:51:30 -07:00
Dan Balasescu
ccc322e100
Merge pull request #18985 from andy840119/remove-nullable-disable-in-the-replays
Remove nullable disable annotation in replays namespace
2022-07-03 21:19:36 +09:00
Dean Herbert
c07ee80dbe
Merge pull request #18977 from goodtrailer/stable-slider-ball-fadeout
Imitate stable's slider ball fade in/out animation
2022-07-02 18:47:31 +09:00
andy840119
19721a9bbb Remove the nullable disable annotation and fix the breaking api. 2022-07-02 13:33:05 +08:00
Dean Herbert
9a5431d93f Minor renaming / refactoring to use local parameter rather than DI'd object 2022-07-02 13:37:10 +09:00
goodtrailer
f2141715b8 Replace AsNonNull() with Assert() 2022-07-01 21:22:48 -07:00
goodtrailer
471b64bd20 Reinstate early return with comment
Whoops, didn't read the reply until after I pushed...
2022-07-01 21:19:54 -07:00
goodtrailer
6d6ffd35d0 Remove unused parameter 2022-07-01 21:14:53 -07:00
goodtrailer
2e3ff2c7e0 Prefer [Resolved] and LoadComplete 2022-07-01 21:12:36 -07:00
goodtrailer
76d4f86ca3 Make legacy slider ball fade out instantly 2022-07-01 18:21:03 -07:00
Dean Herbert
a17e18103f Improve description 2022-07-01 18:19:31 +09:00
Dean Herbert
cdc4caa8c4
Merge pull request #18945 from goodtrailer/separate-ball-followcircle
Separate slider ball and followcircle skinnables into default/legacy classes
2022-07-01 17:54:29 +09:00
Dan Balasescu
d4aa18112b
Merge pull request #15035 from emu1337/speed-acc-scaling
Change speed accuracy scaling to be closer to worst case scenario
2022-06-29 18:04:23 +09:00
goodtrailer
0e0e9968ac Split ball and followcircle into default/legacy files 2022-06-29 01:23:35 -07:00
Dan Balasescu
6d91c0f375 Resolve inspection issue 2022-06-29 16:57:11 +09:00
Dan Balasescu
ad95f037de Prevent another case of potential div-by-0 2022-06-29 16:42:53 +09:00
Dan Balasescu
e6ccca8045 Fix inspection 2022-06-29 16:29:17 +09:00
Dan Balasescu
0211fe7ae8 Fix exception + possible div-by-0 2022-06-29 16:29:14 +09:00
Dan Balasescu
2989803b71 Merge branch 'master' into speed-acc-scaling 2022-06-29 16:15:20 +09:00
Dan Balasescu
34b9118fb3 Cleanup by using const value 2022-06-29 16:10:06 +09:00
Dan Balasescu
7d743994bc Merge branch 'master' into FL-diffspike 2022-06-29 16:05:53 +09:00
Dean Herbert
8cda55e224
Merge pull request #18795 from smoogipoo/full-size-follow-circle
Track the full size of the follow circle at all times
2022-06-28 19:20:34 +09:00
Dan Balasescu
0fd2c010e5 Remove NRT disables from attributes classes 2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8 Add IBeatmapOnlineInfo parameter and use to extract more data 2022-06-27 16:07:15 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Pasi4K5
2f1186d328 Add comments and XML doc 2022-06-22 16:49:07 +02:00
Dan Balasescu
a7de43ade6 Add attribute ID 2022-06-21 19:31:45 +09:00
Dan Balasescu
ede5ca31a1 Always track final follow circle size 2022-06-21 18:10:11 +09:00
apollo-dw
630bd244d5 Inherit StrainSkill instead 2022-06-21 10:01:11 +01:00