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