Dan Balasescu
cde06ecf17
Apply code reviews
2022-05-25 13:03:08 +09:00
Dan Balasescu
7b2a5d4f76
Adjust xmldoc for correctness
2022-05-25 13:01:27 +09:00
apollo-dw
1ef711de41
Return null for out of range objects
2022-05-24 16:40:24 +01:00
apollo-dw
30b9e0e7ab
Use object list size for object position
2022-05-24 16:30:25 +01:00
apollo-dw
5dbec92d9e
Update comments
2022-05-23 22:17:29 +01:00
apollo-dw
903c4f7b3d
Merge remote-tracking branch 'master/master' into dho
2022-05-23 13:39:04 +01:00
Jamieson Berida
c9b00a2302
Merge branch 'master' into fl-slider
2022-05-23 17:42:12 +10:00
apollo-dw
26985ca8af
Store hitobject history in the hitobject
2022-05-22 16:26:22 +01:00
Dean Herbert
2e21d75b10
Move metronome into own class and rename to avoid conflict with mod sounds
2022-05-20 17:30:04 +09:00
Dan Balasescu
64a371638e
Merge pull request #18236 from peppy/snap-unification
...
Add `enum` to snap method as alternative to multiple nested invocations
2022-05-20 11:35:05 +09:00
Dean Herbert
a443200d0d
Make dependency nullable to allow for safer disposal unbinding
2022-05-19 13:49:52 +09:00
Dean Herbert
cf3ead8047
Remove unused local
2022-05-13 22:06:30 +09:00
Dean Herbert
d9782b5ef6
Remove redundant parenthesis
2022-05-13 21:31:49 +09:00
Dean Herbert
38b8baf095
Remove unused border colour
2022-05-13 21:28:50 +09:00
Dean Herbert
1529162318
Remove circle scaling (apparently the fixed scale is required for spacing)
2022-05-13 21:28:45 +09:00
Dean Herbert
0318944b80
Fix incorrect alive criteria causing clicking future objects to be too greedy
2022-05-12 23:37:29 +09:00
Dean Herbert
51744e428f
Merge branch 'master' into editor-readability
2022-05-12 22:56:55 +09:00
Dean Herbert
0c335592b3
Tidy up interpolation and move const
to new home
2022-05-12 19:44:07 +09:00
Dean Herbert
f22ff4e087
Remove editor animation toggling (replaced by overlap markers)
2022-05-12 19:28:56 +09:00
Dean Herbert
be3d4c9bf5
Add circle overlap marker, bringing back stable-like visibility of circles in the past
2022-05-12 19:27:32 +09:00
Dean Herbert
1b2c07e142
Extend lifetime of OsuSelectionBlueprint
to allow for lingering display
2022-05-12 19:25:51 +09:00
Dan Balasescu
b71274265f
Merge pull request #15665 from MBmasher/fl-opacity
...
Consider opacity of hit objects in Flashlight skill
2022-05-12 19:00:21 +09:00
Dan Balasescu
c3d472310f
Merge pull request #18237 from peppy/editor-animation-toggle-refresh-immediately
...
Fix toggling hit animations on the editor not applying immediately
2022-05-12 18:51:04 +09:00
Dan Balasescu
4463a26f4e
Refactor opacity computation algorithm
2022-05-12 18:31:10 +09:00
Dean Herbert
f5649b926a
Use AliveObjects
rather than tracking all hitobjects manually
2022-05-12 18:04:26 +09:00
Dean Herbert
c4854d4004
Fix slider ball rotation becoming undefined when time is not flowing smoothly
2022-05-12 17:55:12 +09:00
Dean Herbert
10e41d018a
Fix toggling hit animations on the editor not applying immediately
2022-05-12 17:36:35 +09:00
Dean Herbert
c0abce918f
Add enum
to snap method as alternative to mutliple nested invocations
2022-05-12 16:19:07 +09:00
Dan Balasescu
2d33859e7a
Merge pull request #18094 from apollo-dw/sliderticks
...
Reimplement slider ticks in Strict Tracking mod sliders
2022-05-09 17:16:47 +09:00
Dean Herbert
c7e7aa5962
Don't draw distance snap grid on the start time of the next object
2022-05-06 17:05:52 +09:00
Bartłomiej Dach
8b4e4b48d1
Merge branch 'master' into sliderticks
2022-05-05 14:38:09 +02:00
Bartłomiej Dach
2039d3db6a
Use standard slider ticks in strict tracking mod
2022-05-05 14:37:57 +02:00
Dan Balasescu
39d10487b9
Merge branch 'master' into snapping-tidy-distance
2022-05-05 19:55:55 +09:00
Bartłomiej Dach
5e4d07760d
Merge branch 'master' into snapping-tidy
2022-05-05 10:17:48 +02:00
Dean Herbert
19cf9dc20b
Merge branch 'snapping-tidy-distance'
2022-05-05 16:51:32 +09:00
Dean Herbert
225fc65068
Merge branch 'snapping-tidy'
2022-05-05 16:51:31 +09:00
Dean Herbert
977e6d8a80
Add xmldoc for IDistanceSnapProvider
and related properties
2022-05-05 16:25:45 +09:00
Dean Herbert
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Bartłomiej Dach
79ecf5dd5d
Merge branch 'master' into strict-tracking-description
2022-05-05 08:41:27 +02:00
Dean Herbert
cbc58c67bf
Remove weird strict tracking icon and reword description to explain what the mod does
2022-05-05 15:16:01 +09:00
Supersonicboss1
81b4622620
fixed autoplay not showing compat, + relax compat
2022-05-04 22:25:34 +01:00
apollo-dw
81ce0e6565
Reimplement sliderticks
2022-05-04 12:55:22 +01:00
Dean Herbert
bb086800b1
Remove ugly playfield border
2022-05-04 13:41:30 +09:00
Dan Balasescu
637f817696
Ignore zero-sections on a per-case basis
2022-05-03 16:06:20 +09:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
...
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Bartłomiej Dach
bba7722837
Merge branch 'master' into improve-alternate-after-break
2022-05-02 10:52:48 +02:00
Dean Herbert
b911981d80
Merge pull request #18002 from Pasi4K5/add-target-incompatibilities
...
Make some mods incompatible with `OsuModTarget`
2022-04-29 23:18:31 +09:00
Salman Ahmed
a4ca8bfe75
Improve "Alternate" to reset before first hitobject after break
2022-04-29 06:41:21 +03:00
Bartłomiej Dach
96f6c918a8
Merge branch 'master' into first-run-behaviour-screen
2022-04-29 00:55:30 +02:00
Pasi4K5
e31fdc28dd
Make Classic and Target compatible again
2022-04-28 22:31:48 +02:00
Pasi4K5
d5702e2955
Append incompatible mods to base.IncompatibleMods
2022-04-28 18:29:37 +02:00
Salman Ahmed
835898dd30
Introduce DistancedHitObjectComposer
and supersede OsuToolboxComposite
2022-04-28 06:44:50 +03:00
Pasi4K5
d6395b14be
Add incompatibilities
2022-04-28 05:15:04 +02:00
Salman Ahmed
59cf3ff50f
Move distancing methods from IPositionSnapProvider
to IDistanceSnapProvider
2022-04-28 05:48:45 +03:00
Salman Ahmed
66c730c382
Change distance spacing keybind to Ctrl+Alt
2022-04-27 17:11:23 +03:00
Salman Ahmed
fb6a112708
Mark OsuModTarget
and OsuModSuddenDeath
as mutually exclusive
...
`OsuModTarget` already fails on miss, so "Sudden Death" doesn't make
sense to be enabled and may only cause issues.
2022-04-26 23:27:03 +03:00
Dan Balasescu
ce095d6af6
Merge branch 'master' into fl-opacity
2022-04-26 18:34:53 +09:00
Dean Herbert
942f4e8ac2
Merge branch 'first-run-show-get-started' into first-run-behaviour-screen
2022-04-26 16:10:16 +09:00
Dean Herbert
b41e273086
Convert function weirdness to property + bool
2022-04-26 15:06:27 +09:00
Salman Ahmed
0738cd028f
Give snapping toolbox enough hover delay for interaction with expand button
...
With 0 delay, if the `SettingsToolboxGroup` has been contracted via
button, there's no chance to be able to expand it via button again.
This is temporary at best just to keep things working somewhat, not sure
if the expansion logic will still be required in editor redesign, so
deciding to roll with it for now.
2022-04-24 08:53:11 +03:00
Salman Ahmed
8ed39009fd
Encapsulate distance spacing control handling to a "distance toolbox composite"
...
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
4f8f27a58b
Merge branch 'master' into osu-distance-spacing
2022-04-24 05:23:30 +03:00
Salman Ahmed
61078910a6
Handle all skin component types explicitly
2022-04-23 03:34:05 +03:00
Dean Herbert
e0b9ab022d
Add classic default values against setting controls
2022-04-22 18:05:24 +09:00
Dean Herbert
d43c66a3dd
Merge branch 'master' into sample-positional-playback-screen-space
2022-04-21 16:57:20 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Salman Ahmed
fd20c2bdcd
Change circle/overlay sprite fields to protected
for better test assertion
2022-04-20 00:24:28 +03:00
Salman Ahmed
a96664295b
Fix nullability preprocessor placed over the copyright header
2022-04-19 19:48:44 +03:00
Salman Ahmed
033b556be5
Simplify texture lookup further
2022-04-19 19:44:35 +03:00
Dean Herbert
75a6e9fd7f
Convert to use nullable
and rearrange fields
2022-04-19 18:10:10 +09:00
Salman Ahmed
b067924ada
Avoid applying state transforms when no object is present
2022-04-19 08:08:02 +03:00
Salman Ahmed
fd113953ac
Rename prioritiyLookup
and add xmldoc
2022-04-19 08:06:39 +03:00
Salman Ahmed
ec7bb876b5
Improve legacy circle texture lookup to match 1:1 with stable
2022-04-19 07:12:07 +03:00
Salman Ahmed
8d0dd3961e
Add failing test cases
2022-04-19 07:12:07 +03:00
Salman Ahmed
3a00931e38
Update slider sliding samples balance calculation to use screen-space as well
2022-04-18 09:18:56 +03:00
Salman Ahmed
fcb48c69cf
Calculate sample playback position using screen-space drawable rectangles
2022-04-18 07:57:31 +03:00
Henry Lin
e5e1960975
Add inline comments
2022-04-18 09:38:51 +08:00
Henry Lin
1d79266d42
Clarify in the xmldoc that angles are measured in radians
2022-04-17 10:40:43 +08:00
Henry Lin
610d2dc1a3
Use a bigger sample step to calculate slider center of mass
2022-04-17 10:34:48 +08:00
Henry Lin
72cb3d6ad6
USe MathF
in all applicable places
2022-04-11 14:15:08 +08:00
Dan Balasescu
c48f8d7b9b
Merge pull request #17714 from bdach/mod-overlay/multimod-incompatibility
...
Ensure that mods grouped into multi mods are pairwise incompatible
2022-04-08 16:43:06 +09:00
Dean Herbert
879267862c
Fix typo in DrawableOsuHitObject
2022-04-08 15:20:22 +09:00
Bartłomiej Dach
e99d0f9fae
Make all OsuModObjectScaleTween
implementations incompatible with each other
2022-04-07 22:38:47 +02:00
Bartłomiej Dach
5e02ba353b
Make OsuMod{Blinds,Flashlight}
incompatible
2022-04-07 22:38:46 +02:00
Dean Herbert
ee8451c8ca
Merge branch 'master' into osu-diff-calc-max-combo
2022-04-04 14:20:44 +09:00
Dean Herbert
de625125d6
Rename magnetised mod attraction strength property to match new naming
2022-04-01 13:03:48 +09:00
Henry Lin
3bebc88306
Consider spinners when calculating jump angles
...
Spinners are considered in `GeneratePositionInfos`, so they should also be considered in `RepositionHitObjects`
2022-04-01 11:59:24 +08:00
Henry Lin
ee65677884
Use height of playfield instead of width when randomizing the first object
...
This is the change discussed in #17194 . The effect of this change is barely noticeable, but it makes more sense to generate the object within playfield from the start.
2022-04-01 11:57:45 +08:00
Henry Lin
031a977009
Calculate slider rotation using end point of path instead of EndPosition
2022-04-01 11:50:30 +08:00
Henry Lin
0015f627b0
Add xmldoc
2022-04-01 11:49:27 +08:00
Henry Lin
c0a78924aa
Fix generation for zero-length sliders
2022-04-01 11:47:21 +08:00
Henry Lin
af3835083c
Fix slider relative rotation calculation
2022-04-01 11:41:45 +08:00
Henry Lin
998df5a4fe
Fix large slider clamping
2022-04-01 11:37:10 +08:00
Henry Lin
cabbc486e9
Rotate sliders in random mod
2022-04-01 11:36:20 +08:00
Dean Herbert
a987cda30d
Rename "Aim Assist" to "Magnetised" to better suit the mod's behaviour
...
As proposed in https://github.com/ppy/osu/discussions/17375 .
2022-04-01 12:15:52 +09:00
Dan Balasescu
32e55e7d78
Merge branch 'master' into osu-diff-calc-max-combo
2022-03-31 15:08:08 +09:00
Dan Balasescu
ff4745be59
Merge branch 'master' into extract-random-mod-logic-2
2022-03-31 13:42:47 +09:00
Dean Herbert
0cac935939
Shorten class name of ModCreatedReplayUser
2022-03-31 11:34:23 +09:00
Dean Herbert
4b2c01a8c1
Bring all mod implementations up-to-date
2022-03-29 16:59:03 +09:00
Dean Herbert
d2d88015e3
Update all cinema/autoplay mods to specify the system user ID
2022-03-28 22:22:56 +09:00
Henry Lin
e44db4e726
Revert unintentional behavior change of random mod
...
Actually, using OsuPlayfield.BASE_SIZE.Y makes a touch more sense since it is the short side of the playfield, but I guess it is better to preserve replays than to introduce pointless breaking changes.
2022-03-25 15:13:25 +08:00
Dan Balasescu
cd5907f8da
Merge branch 'master' into extract-random-mod-logic-2
2022-03-25 14:25:43 +09:00
Dan Balasescu
36772ec652
Merge pull request #17356 from apollo-dw/strict-tracking
...
Implement "Strict Tracking" mod in osu!
2022-03-22 07:32:36 +09:00
Dean Herbert
e4b2242719
Fix follow point animations not looping
...
Because they do in stable. I don't know why but let's go with it.
Resolves issue reported in https://github.com/ppy/osu/discussions/17072 .
2022-03-21 18:29:13 +09:00
apollo-dw
d3742a91a8
Nest specific object classes within the mod
2022-03-20 15:56:41 +00:00
apollo-dw
35e2e6a4e7
Remove slider tick judgement flag
2022-03-20 15:41:46 +00:00
apollo-dw
52d6f083dc
Only miss slider tail on untrack
2022-03-19 23:42:12 +00:00
apollo-dw
149cfd338d
Use new mod-related object types for Strict Tracking
2022-03-19 18:29:44 +00:00
Noah M
78869c462a
Use .Concat()
instead of chained Append
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-18 14:24:36 -05:00
Noah M
b4a8defe1a
Make Relax and Aim assist mods incompatible
2022-03-18 14:12:36 -05:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction
2022-03-15 13:31:57 +09:00
Dean Herbert
deb4aeb4b2
Merge pull request #17242 from smoogipoo/performance-calculator-cleanup
...
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-15 13:31:34 +09:00
Dan Balasescu
523f668c8c
Remove unnecessary ctor argument
2022-03-15 12:37:39 +09:00
Dan Balasescu
daac933498
Remove unnecessary ctor arguments
2022-03-15 12:34:58 +09:00
Dan Balasescu
59d57a44d4
Prevent incorrect usages by hard-typing ctor type
2022-03-15 09:11:59 +09:00
Henry Lin
76021c7627
Remove extra parameters
2022-03-14 20:23:35 +08:00
Henry Lin
6657d93b29
Separate the two nested classes
2022-03-14 20:18:30 +08:00
Dean Herbert
1b8c632b87
Add TailSamples
to auxiliary samples list
2022-03-14 17:19:48 +09:00
Dean Herbert
6d6f73e016
Add overrides in DrawableSliderTail
to explain/warn that this class never plays its own samples
2022-03-14 17:19:48 +09:00
Dean Herbert
be99202188
Move spinner spin samples to auxiliary specification
2022-03-14 17:19:48 +09:00
Dean Herbert
90e34d7686
Move slider slide samples to auxiliary specification
2022-03-14 17:19:48 +09:00
Dan Balasescu
3fff7f4b7e
Require ScoreProcessor to receive ruleset
2022-03-14 15:51:10 +09:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dean Herbert
f82687a2c6
Merge pull request #17150 from SiimPender/master
...
Fix crash during kiai section on specific map due to negative transform duration
2022-03-10 18:09:41 +09:00
Dean Herbert
a1b7bf3986
Use a minimum fade length for clamping rather than zero
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-10 16:47:02 +09:00
Henry Lin
5e36383258
Convert IObjectPositionInfo
to a class
2022-03-10 12:02:25 +08:00
Henry Lin
3a71d81775
Convert the position modifier to stateless methods
2022-03-10 11:53:03 +08:00
Henry Lin
ede838c4b3
Use ObjectPositionInfo.HitObject
2022-03-10 11:23:52 +08:00
Dan Balasescu
c36badab4b
Add per-ruleset score multipliers for classic scoring
2022-03-10 10:26:09 +09:00
Henry Lin
e8dbed738e
Move OsuHitObjectPositionModifier
to Utils/
2022-03-09 21:52:15 +08:00
Henry Lin
8e12a067df
Remove an unused property
2022-03-09 21:04:35 +08:00
Henry Lin
6a507ca11b
Rename identifiers to remove references to random mod
2022-03-09 20:52:11 +08:00
Henry Lin
37328f8d24
Extract hit object positioning logic to a separate class
...
It is intentional to not rename the identifiers at this point to produce a cleaner diff.
2022-03-09 20:36:31 +08:00
Dan Balasescu
1646e9d64c
Merge pull request #17153 from hlysine/osu-random-mod-logic-changes
...
Separate randomization and object positioning logic in osu random mod
2022-03-09 20:52:33 +09:00
Dan Balasescu
353b251d38
Attempt to merge conditional expression
...
Hoping to fix CI error, caused by older R# version.
2022-03-09 17:46:42 +09:00
Dean Herbert
75c6a676b4
Apply nullable
to OsuModRandom
rather than using jetbrains annotations
2022-03-09 16:58:36 +09:00
Henry Lin
e3cf2c6acd
Merge getAbsoluteAngle
into computeRandomisedPosition
2022-03-09 13:27:33 +08:00
Henry Lin
3ced5e7904
Rename Distance
to DistanceFromPrevious
2022-03-09 13:09:33 +08:00
apollo-dw
e2001148d5
Implement strict tracking mod
2022-03-08 21:47:54 +00:00
Henry Lin
ae1c65c38d
Add xmldoc
2022-03-08 12:07:10 +08:00
Henry Lin
8cfeffc085
Extract a major part of ApplyToBeatmap
to a new method
2022-03-08 11:50:30 +08:00
Henry Lin
ded84cab3f
Separate randomisation and object positioning logic
2022-03-08 11:45:16 +08:00
Siim Pender
a02adfdbd4
Fix crash on super high bpm kiai sections
2022-03-07 20:36:09 +02:00
Henry Lin
c9b205afeb
Add adaptive speed mod
2022-03-02 09:57:52 +08:00
Dean Herbert
a41e1c80f1
Show hit error on results screen
...
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
692ddd5f52
Merge branch 'master' into issues/16839-spun-out-rate
2022-02-22 14:04:45 +09:00
Dan Balasescu
567da9214e
Merge branch 'master' into osu-diff-calc-max-combo
2022-02-18 18:35:24 +09:00
Dan Balasescu
84e82ef5e4
Add XMLDocs to difficulty attribute properties
2022-02-16 14:09:19 +09:00
Dan Balasescu
215da7e933
Reimplement as extension method on IBeatmap
...
Implementation has changed slightly to support arbitrary levels of
nested hitobjects.
2022-02-16 12:06:49 +09:00
Salman Ahmed
19ee05c232
Add "distance spacing" multiplier for osu! ruleset
...
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Kaleb
df9535d195
Update RPM calculation for readability
...
Multiply the 1.01 factor to the resulting RPM, not to the duration.
2022-02-13 14:28:40 -05:00
Kaleb
585bd541f3
Add missing parentheses to RPM calculation
2022-02-13 02:38:49 -05:00
Kaleb
f1535b74be
Give Spun Out mod dynamic spin rate
2022-02-13 02:16:06 -05:00
PercyDan
639d813d06
Don't override previous value
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-02-12 11:15:03 +08:00
PercyDan54
053f41d755
Simplify code
2022-02-12 10:06:43 +08:00
PercyDan54
2ed3d58531
Ignore short spinners for relax mod
2022-02-12 09:28:50 +08:00
Henry Lin
ee6d4b2583
Move performance breakdown to the top to prevent re-ordering after watching replay
2022-02-05 21:39:01 +08:00
Henry Lin
0b1fef38af
Use the playable beatmap provided in CreateStatisticsForScore
2022-02-05 21:36:34 +08:00
Henry Lin
2e1a9f1379
Add performance breakdown as statistic item in extended statistics panel
2022-02-05 21:13:16 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes
2022-02-05 16:59:46 +08:00
mk-56
dd8fc710fa
removed wiggle duration
2022-02-04 15:48:46 +01:00
Dean Herbert
df9d99f5aa
Merge branch 'master' into extended-statistics-without-replay
2022-02-03 18:59:48 +09:00
Dean Herbert
2731d8e3c2
Merge pull request #16701 from LeNitrous/mod-alternate-osu
...
Add "Alternate" mod for osu! ruleset
2022-02-03 10:41:23 +09:00
Dean Herbert
be9df2ca11
Merge pull request #5774 from MaxOhn/aimassist-mod
...
Add "Aim Assist" mod
2022-02-03 10:40:43 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits
2022-02-02 20:41:25 +01:00
Bartłomiej Dach
7463744407
Fix osu! autoplay-like mods not declaring incompatibility with AimAssist
2022-02-02 19:17:33 +01:00
Dean Herbert
19eb9ad8a7
Reorder StatisticsItem
constructor to make a touch more sense
2022-02-02 23:02:38 +09:00
Henry Lin
6a482827fe
Fix weird line breaking
2022-02-02 17:23:03 +08:00
Dean Herbert
6e41a6e704
Tidy up code into a presentable state
2022-02-02 16:27:16 +09:00
Dean Herbert
2e46404fe5
Remove spinner support for now
2022-02-02 16:26:00 +09:00
Dean Herbert
f07502ac5f
Use simple damp easing rather than transforms
2022-02-02 16:15:06 +09:00
Dean Herbert
334ed2c9c4
Fix sliders moving before they are actually hit
2022-02-02 15:36:09 +09:00
Dean Herbert
6b31e7e9db
Merge branch 'master' into aimassist-mod
2022-02-02 15:18:48 +09:00
Dean Herbert
e7d72f1823
Revert recent changes
2022-02-02 15:18:44 +09:00
Dean Herbert
a2affefb0a
Avoid checking gameplay clock time in Update
method
2022-02-02 14:33:17 +09:00
Henry Lin
c5c4c85006
Lazily create content of StatisticItem
2022-02-02 13:29:18 +08:00
Dean Herbert
c7a192cc5f
Only handle LeftButton
and RightButton
actions
...
There are definitely going to be other actions used in the future, which
would immediately cause this mod to fail. Limiting handling to
left/right buttons only is the correct way forward.
2022-02-02 14:04:12 +09:00
Dean Herbert
fed63abd83
Sanitise interceptor logic to now require two separate check paths
2022-02-02 14:02:48 +09:00
Dean Herbert
0036d0e26d
Move alternate mod to "conversion" category
2022-02-02 13:58:13 +09:00
Bartłomiej Dach
9227211a44
Privatise shouldAlternate
2022-01-31 22:56:27 +01:00
Dan Balasescu
0458d408bb
Add replay statistics frames to FramedReplayInputHandler
2022-01-31 18:53:47 +09:00
Nitrous
40f43344f1
remove unused using
2022-01-29 23:31:26 +08:00
Nitrous
535216a0d3
rename CanIntercept
to ShouldAlternate
2022-01-29 23:20:31 +08:00
Nitrous
24f9ef4005
make xmldoc more verbose
2022-01-29 22:31:04 +08:00
Nitrous
98d8b26a9c
move ModAlternate
to OsuModAlternate
and check if intro has ended
2022-01-29 21:49:40 +08:00
Nitrous
2326c36836
remove unused method and fix description
2022-01-29 21:09:36 +08:00
Nitrous
aa582fb0e1
add Alternate Mod
2022-01-29 20:38:12 +08:00
mk-56
35be0f24d0
fixed leading "0"s not being present infront of decimal floats
2022-01-27 00:10:15 +01:00
MK56
c17ff49427
Merge branch 'ppy:master' into Wiggle-strength-duration
2022-01-25 19:57:14 +01:00
Bartłomiej Dach
a227af75ed
Simplify flashlight parameter passing flow
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
5874475dff
Extract DefaultFlashlightSize
to base flashlight class
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
a7c0d507ce
Rename flashlight settings to be more accurate
2022-01-24 21:03:02 +01:00
mk-56
836cb1ee32
Suggested boundary change
2022-01-24 12:16:29 +01:00
mk-56
948867898c
ModeMultiplier rename
2022-01-24 11:38:52 +01:00
mk-56
a427e20090
Fixes
2022-01-24 10:38:11 +01:00
mk-56
e3ba7d9ba5
Wiggle mod expansion
...
Free dlc!
2022-01-24 10:24:40 +01:00
mk-56
161a2a321e
Remove bindable from ModeMultiplier
2022-01-24 09:07:07 +01:00
mk-56
ed84ae0ac0
Adjust values to Bdach's refined taste
2022-01-24 00:42:43 +01:00
Henry Lin
74a55ead77
Simplify combo counting logic
2022-01-23 13:00:54 +08:00
Henry Lin
f53ce5aedf
Fix max combo calculation in osu diffcalc
2022-01-23 11:11:12 +08:00
mk-56
955bab926f
Separate the settings for each modes radiuses
2022-01-22 19:38:56 +01:00
MK56
b5f813a949
Merge branch 'ppy:master' into Liswiera-FL-changes
2022-01-22 19:04:39 +01:00
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes
2022-01-22 14:12:57 +01:00
Dan Balasescu
36d1cdb95a
Merge branch 'master' into fl-opacity
2022-01-20 14:48:20 +09:00
Dan Balasescu
58bae9bda3
Merge pull request #16331 from stanriders/continuous-effective-misscount
...
Don't floor `effectiveMissCount`
2022-01-19 14:13:12 +09:00
mk-56
bd308ca38c
Cleanup
2022-01-17 15:15:25 +01:00
Henry Lin
b81fc675e8
Include PropertyName in PerformanceDisplayAttribute
2022-01-17 20:45:25 +08:00
Henry Lin
d014fef179
Hide confusing attributes
2022-01-17 20:36:36 +08:00
Henry Lin
511a607599
Display performance breakdown in a tooltip
2022-01-17 18:28:17 +08:00
mk-56
ee4331dda4
Merge remote-tracking branch 'origin/Liswiera-FL-changes' into Liswiera-FL-changes
2022-01-15 21:44:03 +01:00
mk-56
2a59735525
Initial commit
2022-01-15 21:43:28 +01:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-15 14:45:42 +01:00
Salman Ahmed
3ab13dd78c
Assign position to spinner ticks for correct positional playback
2022-01-15 14:24:52 +03:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dean Herbert
4f8d29c1c0
Merge branch 'master' into realm-integration/score-and-beatmaps
2022-01-13 18:25:09 +09:00
Joseph Madamba
b245ffefc1
Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names
2022-01-12 15:05:07 -08:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Dean Herbert
d8c52740cb
Merge pull request #16354 from bdach/slider-snapping
...
Apply slider snapping to current beat divisor more liberally to match user expectations
2022-01-12 11:18:18 +09:00
Dan Balasescu
b88a65166e
Fix pp counter underflow with SpunOut mod
2022-01-11 10:22:16 +09:00
Bartłomiej Dach
c09f6ee052
Use slider snapping more liberally to match user expectations
...
Previously the slider path length would be snapped using the current
beat snap setting on *every* change of the slider path. As it turns out
this is unexpected behaviour in some situations (e.g. when reversing a
path, which is expected to preserve the previous duration, even though
the slider may be technically "unsnapped" at that point in time due to a
different beat snap setting being selected afterwards).
2022-01-07 16:02:04 +01:00
MaxOhn
b3230868cc
use playfield clock
2022-01-06 16:31:30 +01:00
MaxOhn
197ada1a8c
naive 10hz update
2022-01-06 16:04:38 +01:00
MaxOhn
b9d2a10530
adjustable assist strength + dont update spinner & running slider
2022-01-06 16:00:49 +01:00
MaxOhn
04d060aba3
update general playfield only once
2022-01-06 10:38:30 +01:00
Dean Herbert
ee24713002
Fix single sliders not being flippable due to incorrect precondition
2022-01-06 14:37:13 +09:00
StanR
dc755f4a7f
Remove redundant casts
2022-01-05 15:07:02 +03:00
MaxOhn
5a62760fe4
hold spinners & minor adjustments
2022-01-05 13:05:22 +01:00
StanR
b317a95fe1
Don't floor effectiveMissCount
2022-01-05 14:36:07 +03:00
Dean Herbert
6779503e57
Refactor logic to avoid TimelineSelectionHandler
having to block base calls
2022-01-05 16:56:54 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09:00
MaxOhn
27a8bfa496
handle spinners and follow points
2022-01-04 22:17:50 +01:00
MaxOhn
612f69782b
use Playfield.HitObjectContainer.AliveObjects
2022-01-04 14:29:44 +01:00
MaxOhn
168a105ed8
merged upstream
2022-01-04 09:34:02 +01:00
Dean Herbert
408e8d5710
Fix null reference causing crash in KiaiFlashingDrawable
...
Can occur if there is no fallback graphics available. Previously would
work as it was only setting the `Texture`.
As reported in https://github.com/ppy/osu/discussions/16281 .
2021-12-30 22:21:39 +09:00
Joseph Madamba
c22a07d9fc
Bump identifier typo inspection and fix remaining identifier names
2021-12-28 11:26:42 -08:00
Bartłomiej Dach
eea0fea69f
Add support for animated legacy hit circle overlay
2021-12-28 15:58:34 +01:00
Bartłomiej Dach
448c6ed515
Generalise KiaiFlashingSprite
for arbitrary drawables
2021-12-28 15:58:34 +01:00
Bartłomiej Dach
63e0492725
Mark ShouldSerialize()
methods as implicitly used
2021-12-28 09:02:03 +01:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Bartłomiej Dach
c6a5ac1c5f
Fix control point additions without a drag not being undoable
2021-12-23 09:32:52 +01:00
Bartłomiej Dach
cbda637d66
Fix drag after placement moving last placed point sometimes
...
More specifically, if the left mouse button was just pressed without a
drag, `OnDragEnd()` wouldn't fire, and the next drag would start moving
the last placed control point around regardless of where the mouse was.
2021-12-23 09:25:10 +01:00
Dean Herbert
b0df787b1a
Move public method up and add xmldoc to second public method
2021-12-23 14:13:57 +09:00
Dean Herbert
60c9827187
Merge branch 'master' into move-many-slider-nodes-at-once
2021-12-23 14:11:04 +09:00
MBmasher
bb4e8add4d
Merge branch 'master' into fl-slider
2021-12-23 15:31:30 +11:00
Bartłomiej Dach
c3fada1926
Replace assertion with soft null check
...
Surrounding `OnDrag{Start,End}` methods did so already.
2021-12-22 10:33:08 +01:00
Bartłomiej Dach
6330fa5dc5
Select newly created control point
2021-12-22 10:33:07 +01:00
Bartłomiej Dach
e22745397d
Fix right click deselecting clicked path piece with control held
2021-12-22 08:55:26 +01:00
Dan Balasescu
98f044881e
Merge branch 'master' into refactor-diffcalc
2021-12-22 12:31:28 +09:00
Dan Balasescu
e50609c546
Rename method
2021-12-22 12:28:07 +09:00
Bartłomiej Dach
e715bff535
Fix selections including head not correctly dragging if not started from head
2021-12-21 12:35:48 +01:00
StanR
40b3ce0ade
Clean up comments
2021-12-21 14:03:24 +03:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
MBmasher
2aafcd3628
Refactor code regarding hidden
boolean
2021-12-21 20:58:05 +11:00
MBmasher
c5de203aa5
Multiply opacityBonus
to base strain
2021-12-21 20:10:19 +11:00
MBmasher
5d8968498c
Adjust skillMultiplier
after merging #15728 , #15867
2021-12-21 20:08:57 +11:00
MBmasher
3d3de00581
Move hidden
initialisation to Flashlight constructor
2021-12-21 20:06:53 +11:00
MBmasher
a7aea49cb3
Rename osuPreviousHitObject
to currentHitObject
2021-12-21 20:06:07 +11:00
MBmasher
0a33f336b0
Merge branch 'master' into fl-opacity
2021-12-21 19:48:49 +11:00
Dan Balasescu
05b79f864e
Merge pull request #15867 from MBmasher/fl-cumulative-strain
...
Fix cumulative strain time calculation in Flashlight skill
2021-12-21 17:19:09 +09:00
Dan Balasescu
f366cdc73e
Extract initial set out of loop
2021-12-21 12:39:34 +09:00
Dan Balasescu
c21b2d1662
Fix incorrect variable
2021-12-21 12:39:09 +09:00
Dan Balasescu
e21dbf10ff
Refactor further to remove indexing confusion
2021-12-21 12:25:32 +09:00
Dan Balasescu
377cb1d9e3
Merge pull request #15728 from MBmasher/fl-decay
...
Remove decay factor in Flashlight skill
2021-12-21 07:59:32 +09:00
Bartłomiej Dach
5ef4e23335
Fix selecting control points without control not deselecting other selected points
2021-12-20 22:41:24 +01:00
Bartłomiej Dach
bf8c87e9b7
Fix releasing mouse after drag deselecting dragged point
2021-12-20 22:41:23 +01:00
Bartłomiej Dach
d2417beeac
Implement drag operation for multiple path control points
2021-12-20 21:29:57 +01:00
Bartłomiej Dach
a9408485cc
Change control point piece selection logic to allow dragging multiple
2021-12-20 21:18:38 +01:00
Bartłomiej Dach
b0ca82e1e5
Move slider path point drag handling to visualiser
2021-12-20 20:56:06 +01:00
MBmasher
c71655a75e
Merge branch 'master' into fl-cumulative-strain
2021-12-21 06:06:19 +11:00
MBmasher
6caa950c44
Rename osuPrevious
to osuLoop
2021-12-20 19:16:41 +11:00
StanR
2f2006715e
Slightly refactor difficulty and pp calculators
2021-12-17 23:40:23 +03:00
Dean Herbert
abb617a3df
Avoid blocking Active
state propagation
2021-12-16 19:57:24 +09:00
Dean Herbert
6bffeb6a24
Merge branch 'master' into fix-autopilot-touch-devices
2021-12-15 12:04:35 +09:00
rumoi
e662a9f0c4
Remove redundant code.
2021-12-15 12:36:45 +13:00
rumoi
4664bb1d29
Remove uneeded complexity
2021-12-15 05:16:10 +13:00
rumoi
c87ff82c1c
calculateRhythmBonus performance fix.
2021-12-14 09:25:29 +13:00
Salman Ahmed
cf30411288
Revert "Remove now redundant inclusion of TouchMoveEvent
in OsuInputManager.Handle
"
...
This reverts commit bc1f1f35b5
.
2021-12-10 17:13:13 +03:00
Salman Ahmed
bc1f1f35b5
Remove now redundant inclusion of TouchMoveEvent
in OsuInputManager.Handle
...
Now it's handled separately via the `HandleMouseTouchStateChange` override.
2021-12-10 16:44:16 +03:00
Dean Herbert
5a953f3811
Fix autopilot not working as expected on touch devices
...
Closes https://github.com/ppy/osu/issues/12731 .
I haven't tested this, but quite confident it should work. Will test
later today unless someone else beats me.
2021-12-10 19:14:35 +09:00
Dan Balasescu
99991a6703
Minor cleanups, unifying wording a bit more
2021-12-08 15:59:15 +09:00
Dan Balasescu
1a09a3469a
Merge branch 'master' into refactor-osu-difficulty-hit-object
2021-12-08 15:53:44 +09:00
Dan Balasescu
11104124f1
Restructure doc for easier readability
2021-12-08 15:52:59 +09:00
Dan Balasescu
814f072767
Use new LazyJumpDistance terminology in documentation
2021-12-08 15:17:56 +09:00
Dan Balasescu
7c0f7b1baa
Use "x" for cursor position in diagrams
2021-12-08 14:57:21 +09:00
Dan Balasescu
bcda777071
Merge branch 'master' into speedbug
2021-12-07 23:43:17 +09:00
Dan Balasescu
ded86282c1
Rename + better documentation
2021-12-07 23:14:35 +09:00
Dan Balasescu
7c3d1d630e
Merge branch 'master' into refactor-osu-difficulty-hit-object
2021-12-07 21:05:49 +09:00
MBmasher
9824d805ea
Remove unnecessary clockRate in Opacity function
2021-11-30 14:36:38 +11:00
MBmasher
5884b058b9
Add blank line
2021-11-30 13:54:41 +11:00
MBmasher
3339afd648
Change input variable name in Opacity function
2021-11-30 13:52:58 +11:00
MBmasher
b0dc8bf061
Change Opacity function to take in absolute map time rather than relative time
2021-11-30 12:58:49 +11:00
MBmasher
4354699258
Fix cumulative strain time calculation in Flashlight skill
2021-11-30 12:51:23 +11:00
Dan Balasescu
383bf7cdfc
Only allow HD combination alongside FL
2021-11-30 10:39:48 +09:00
Dan Balasescu
e6e6e2d951
Merge branch 'master' into fl-opacity
2021-11-30 10:00:44 +09:00
Bartłomiej Dach
5001412a0d
Reorder easing mapping to match enum order and throw on unknown animation style
2021-11-28 15:19:12 +01:00
Bartłomiej Dach
aba9ed624a
Remove unnecessary whitespace
2021-11-28 15:16:33 +01:00
mk-56
1ae41118cd
Added gravity as a default.
2021-11-27 22:59:09 +01:00
mk-56
0df97744ad
Moved linear to a better place.
...
i decided to go with leaving it under gravity, its plenty visible and fine there, since the public enum list self orders I wasn't sure about how i could set a default that wasn't the topmost option
2021-11-27 13:34:09 +01:00
MK-56
5e56122d65
Linear approach type moved per peppys request
2021-11-26 09:48:38 +01:00
MK56
5e0763ae33
Expand the functionality of Approach different
2021-11-25 10:24:00 +01:00
Dan Balasescu
3e4b774992
Invert lines for better chronological order
2021-11-25 14:08:08 +09:00
Dan Balasescu
b20ff22af0
Ensure travel distance is calculated for all sliders
2021-11-24 16:50:33 +09:00
Dan Balasescu
274444ed67
Add additional information to diagram
2021-11-24 13:22:52 +09:00
Dan Balasescu
b5747f351d
Reword xmldocs
2021-11-24 13:11:44 +09:00
Dan Balasescu
a081038076
Normalized -> Normalised
2021-11-24 13:01:53 +09:00
Dan Balasescu
e07c44d79a
Reword comment with a more diagrammatical explanation
2021-11-24 13:01:15 +09:00
Dan Balasescu
402de754f7
Make TravelDistance/TravelTime apply to the current object
2021-11-24 12:37:22 +09:00
Dan Balasescu
e67d9b1c21
Reorder members a bit
2021-11-24 12:14:52 +09:00
GoldenMine0502
9157b91e5f
fix adding wrong values
2021-11-23 16:41:20 +09:00
MBmasher
7560d3de04
Remove decay factor in Flashlight skill
2021-11-22 10:52:04 +11:00
MBmasher
65ef030341
Further balancing
2021-11-22 08:59:41 +11:00
MBmasher
7833fab02d
Balancing bonuses to adjust for corrected opacity formula
2021-11-22 08:41:56 +11:00
MBmasher
e9745a3ac4
Fix wrong opacity formula
2021-11-22 08:32:35 +11:00
MBmasher
e9a4ee6800
Cleaning up code
2021-11-21 23:53:40 +11:00
MBmasher
a57c277a58
Move preempt back to CreateDifficultyAttributes
2021-11-21 23:43:09 +11:00
MBmasher
afbec94124
Move opacity function to OsuDifficultyHitObject
2021-11-21 23:40:15 +11:00
Dean Herbert
9f688f6291
Stop persisting Skill
s in DifficultyAttributes
2021-11-21 12:15:32 +09:00
MBmasher
fe83b8fc77
Add line break
2021-11-18 10:50:32 +11:00
MBmasher
f4b23f0960
Remove setting preempt in CreateDifficultyAttributes
2021-11-18 10:37:07 +11:00
MBmasher
30e18f16d9
Change mods and preemptTime to readonly
2021-11-18 10:33:44 +11:00
MBmasher
92cf447180
Remove unnecessary braces
2021-11-18 10:32:41 +11:00
MBmasher
e42f28990b
Add blank line
2021-11-18 10:30:17 +11:00
MBmasher
a77a9a2309
Balancing slider bonus
2021-11-18 10:13:25 +11:00
MBmasher
05b44f5df4
Add slider bonus to Flashlight skill
2021-11-18 09:55:04 +11:00
MBmasher
8e8571543d
Removing unnecessary file
2021-11-18 09:48:18 +11:00
MBmasher
6a444b9edb
Further balancing opacity/hidden bonus
2021-11-18 09:47:41 +11:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers
2021-11-17 20:49:31 +09:00
Dan Balasescu
815179f713
Use consts for attribute IDs
2021-11-17 20:31:18 +09:00
Dan Balasescu
43cbb23b15
Use ShouldSerializeFlashlightRating() to serialise database attribute
2021-11-17 20:23:08 +09:00
Dan Balasescu
2ae46f901e
Add comment for implicitly-used method
2021-11-17 20:22:43 +09:00
MBmasher
63c5f7d9d7
Balancing opacity and hidden bonus
2021-11-17 11:39:12 +11:00
MBmasher
f2d05ea899
Remove strain being multiplied by max opacity bonus
2021-11-17 11:27:48 +11:00
Dan Balasescu
2c45a327bb
Remove JsonIgnores, require opt-in properties
2021-11-15 19:54:35 +09:00
Dean Herbert
369b4ba789
Update DifficultyCalculator
to take an IRulesetInfo
2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca
Update DifficultyCalculator
to take an IWorkingBeatmap
2021-11-15 19:16:48 +09:00
Dan Balasescu
c8a01c35f7
Remove extra members from FromDatabaseAttributes
2021-11-15 18:11:07 +09:00
Dan Balasescu
21c0882b74
Don't serialize FL rating without FL mod
2021-11-15 17:24:53 +09:00
Dan Balasescu
45382a8127
Ignore some properties
2021-11-15 16:32:25 +09:00
Dan Balasescu
0cfd6fdf04
Add to/from database mapping functions to difficulty attributes
2021-11-15 16:06:50 +09:00
Dan Balasescu
907499f73a
Add json properties to difficulty attributes
2021-11-15 16:06:29 +09:00
MBmasher
efac11e886
Add extra bonus for hidden+flashlight
2021-11-12 21:42:27 +11:00
MBmasher
5a3be778a1
Resolve conflicts with recent slider hotfix
2021-11-12 21:41:01 +11:00
MBmasher
131e64e56c
Add bonus based on opacity of hit objects
2021-11-12 21:29:51 +11:00
Dan Balasescu
a76247603f
Merge pull request #15564 from apollo-dw/sliderend-sr
...
Nerf dropped sliders in osu! difficulty calculation
2021-11-12 18:16:28 +09:00
Dan Balasescu
9fb2402781
Remove unnecessary parens
2021-11-12 17:31:25 +09:00
apollo-dw
cdfe022805
Fix potential NaN values
2021-11-12 00:56:08 +00:00
Bartłomiej Dach
8aa04864ce
Add support for converting sliders with repeats to streams
2021-11-11 23:25:49 +01:00
Bartłomiej Dach
0cd3f98598
Ensure samples & sample points are carried over during conversion
2021-11-11 21:43:06 +01:00
Bartłomiej Dach
27707d52ec
Implement slider-to-stream conversion
2021-11-11 21:01:30 +01:00
apollo-dw
c330093476
Add clamp back in
2021-11-11 14:42:54 +00:00