Xexxar
a6c3798491
Merge remote-tracking branch 'ppy/master' into skillsrework
2021-09-12 12:45:59 +00:00
smoogipoo
aafbc3e0e4
Merge branch 'master' into fl-skill
2021-09-10 16:39:39 +09:00
Dean Herbert
714f55b6bc
Clone control points when copying to HitObject
s
2021-09-10 14:36:39 +09:00
Dan Balasescu
ceca229dbc
Merge branch 'master' into speedpp
2021-09-07 18:54:49 +09:00
Dean Herbert
0500cd578a
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-06 21:06:12 +09:00
Dean Herbert
25420af078
Rename method to drop redundant ruleset suffix
2021-09-05 13:34:23 +09:00
apollo-dw
3fce3f620f
use OsuHitWindows, amend comment
2021-09-04 16:56:15 +01:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b
Update usages of DifficultyPointAt
2021-09-03 16:58:16 +09:00
apollo-dw
8654a0af05
remove unnecessary min & renamed variable so its more descriptive
2021-09-03 03:01:25 +01:00
apollo-dw
bf87a4b2d3
interpolate the doubletap cheese nerf instead
2021-09-03 02:39:21 +01:00
apollo-dw
0beef9c1e7
made double cheese detection stricter
2021-09-03 02:20:22 +01:00
Bartłomiej Dach
a2d2ed2ef6
Add stack leniency setting for osu!
2021-09-02 23:29:14 +02:00
apollo-dw
57a2ba9aa8
remove "straintime"
2021-09-02 18:29:55 +01:00
apollo-dw
0d60076f34
fix doubletap cheese detect (base on hitwindow)
2021-09-02 17:14:23 +01:00
apollo-dw
d9cc497801
refactoring
2021-09-02 17:02:23 +01:00
apollo-dw
3e98c71ece
cap deltatime to hitwindow sorta
2021-09-02 16:48:34 +01:00
apollo-dw
711baa12ba
emu's doubletap cheese nerf
2021-09-02 16:31:31 +01:00
Dean Herbert
b907c2f4f6
Fix osu! judgements getting scaled twice over different durations
2021-09-02 16:31:43 +09:00
Dean Herbert
738ce0f689
Fix repeat arrows being hidden beneath head circles in legacy skins
...
Aims to make minimal changes to `DrawableSlider` itself. I'm not super
happy about the slider ball being moved above the head circle, but it
*is* what people are used to so no one except for me is going to
complain.
Supersedes and closes https://github.com/ppy/osu/pull/14561 .
2021-09-01 19:41:49 +09:00
Dean Herbert
4f9c3fde07
Move alpha adjustment back to LegacySliderBody
to correctly handle default legacy skin
2021-09-01 15:10:56 +09:00
Dean Herbert
7a447f5128
Mark SankingSliderBody
as abstract
2021-09-01 15:10:24 +09:00
Dean Herbert
3f93aa1507
Fix traceable sliders incorrectly being opaque
...
Closes https://github.com/ppy/osu/issues/14449 .
Regressed in https://github.com/ppy/osu/pull/14205 .
2021-08-31 20:13:54 +09:00
mrowswares
a190038c33
remove writelines
2021-08-29 20:16:13 +01:00
mrowswares
1ca0223c71
remove straintime & speed skill caps, implement basic doubletap cheese detection
2021-08-29 17:19:26 +01:00
Dan Balasescu
f0296e5d12
Merge branch 'master' into avoid-default-skin-judgement-transform-overhead
2021-08-27 10:02:40 +09:00
Dan Balasescu
a28bc9f6b2
Merge branch 'master' into path-control-point-bindable-removal
2021-08-27 09:37:37 +09:00
Salman Ahmed
b9ea984c36
Remove redundant default value
2021-08-26 08:18:58 +03:00
Dean Herbert
17f6efc6fe
Fix missed cases of incorrect .Value
usage
...
Changing from `Bindable` to `Nullable` comes with its issues...
2021-08-26 14:02:57 +09:00
Dean Herbert
8cfb3d456b
Avoid expensive text spacing transforms for now
2021-08-26 13:15:27 +09:00
Dean Herbert
69064c1938
Avoid unnecessary unbind operations when constructing FollowPointLifetimeEntry
2021-08-26 12:35:31 +09:00
Dean Herbert
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
MBmasher
c91feb2968
Fix multiplying instead of dividing by scalingFactor
2021-08-25 11:18:21 +10:00
MBmasher
7188a3268f
Apply a nerf to stacks for Flashlight skill
2021-08-24 14:01:54 +10:00
Xexxar
aaffc05b82
removed accuracy penalty for misses
2021-08-21 17:56:45 +00:00
Xexxar
0402f85eb0
left residual code from testing prevprevdeltas
2021-08-21 17:29:17 +00:00
Xexxar
536aef6f2f
merged latest from origin
2021-08-21 17:25:06 +00:00
Xexxar
270f497af8
penalized 1/1->1/2->1/4 rhythm transitions
2021-08-21 17:23:17 +00:00
Bartłomiej Dach
812c85f3de
Clean up code style issues
2021-08-21 17:26:05 +02:00
Xexxar
a46ae855aa
implemented object count limitation for rhythm build up
2021-08-20 15:40:34 +00:00
Dan Balasescu
6128a38054
Merge branch 'master' into cursor-trail-middle
2021-08-20 13:28:51 +09:00
Xexxar
d36eb269b4
fixed code quality issues
2021-08-19 20:11:18 +00:00
Xexxar
5b2cfcc2ff
adjusted low acc nerf on speed
2021-08-19 15:27:37 +00:00
Xexxar
b44e6f634d
noticed a bug with double applying historicaldecay
2021-08-19 15:05:39 +00:00
Xexxar
7b70d41a93
forgot about the / 0
2021-08-19 14:49:44 +00:00
Xexxar
0effc8f5d8
refactored speed skill, implemented better acc pp
2021-08-19 14:12:03 +00:00
Xexxar
9cd82ea75f
merged master
2021-08-18 19:03:16 +00:00
ekrctb
3d88a745cd
Fix osu editor transforms not specified in the absolute time
2021-08-18 14:27:16 +09:00
Xexxar
b9ba4c1d97
finalized change for PR
2021-08-17 19:25:49 +00:00
Xexxar
ac1ed00f3e
added initial balance of rhythm complexity to tap
2021-08-17 14:39:43 +00:00
Xexxar
471ae9664e
cleaned up jank
2021-08-17 13:47:45 +00:00
Xexxar
c99a96a8c8
initial rhythm calc testing
2021-08-17 13:39:18 +00:00
Xexxar
9b21016eed
accidently renamed osuStrainSkill, fixed
2021-08-16 22:46:56 +00:00
Xexxar
5561e4852e
removed stuff
2021-08-16 22:23:40 +00:00
Xexxar
ae076c9a4e
merged latest ppy/master
2021-08-16 22:20:12 +00:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00:00
Endrik Tombak
ef367c6547
Move implementation to be legacy only
2021-08-16 22:52:19 +03:00
Endrik Tombak
314c342841
Avoid drawing segments of cursor trail near current cursor position
2021-08-16 22:13:01 +03:00
Xexxar
7d46b3f9c5
initial testing and debugging
2021-08-16 16:06:50 +00:00
Xexxar
19cdd5c323
recoded and added rhythm complexity calculator (untested)
2021-08-16 15:25:35 +00:00
emu1337
df6e4664e0
changed history length in speed
2021-08-16 16:42:07 +02:00
emu1337
29a22bd11f
added rhythm multiplier for strain sections
2021-08-15 20:48:00 +02:00
Dean Herbert
8742fa3f68
Merge pull request #13971 from aitani9/fix-blinds-barrel-roll-compatibility
...
Make blinds move correctly when barrel roll mod is active
2021-08-13 18:48:13 +09:00
smoogipoo
55ddc2c6e3
Merge branch 'master' into fix-blinds-barrel-roll-compatibility
2021-08-13 12:45:04 +09:00
smoogipoo
7cc0a2a76f
Refactor to fix InterpolateMovements=false
2021-08-13 12:10:33 +09:00
smoogipoo
5241029513
Use new FadeExponent shader uniform
2021-08-13 10:27:26 +09:00
TheOmyNomy
1069f9d501
Always add cursor trail for legacy cursor with disjoint trail
2021-08-13 00:13:03 +10:00
smoogipoo
fbaa480b3e
Fix out-of-order hits in editor causing exceptions
2021-08-12 10:08:54 +09:00
MBmasher
eaa0d38315
Add a buff to short maps for Flashlight skill
2021-08-12 10:00:24 +10:00
MBmasher
b06226e738
Change comments
2021-08-12 09:54:25 +10:00
MBmasher
27918583e1
Increase the multiplier when hidden is applied on the Flashlight skill
2021-08-11 15:55:13 +10:00
MBmasher
1cadcb43d9
Apply nerf to Flashlight skill on high star maps
2021-08-11 15:54:30 +10:00
smoogipoo
2196ae9ca2
Merge branch 'master' into display-sr-changes
2021-08-11 13:02:34 +09:00
MBmasher
b1d25346a2
Move HistoryLength override from OsuStrainSkill to Flashlight
2021-08-11 13:30:40 +10:00
MBmasher
cee69eaad0
Add a nerf to FL for TD plays
2021-08-11 06:14:38 +10:00
smoogipoo
f86ef54e93
Fix incorrect legacy slider body alpha
2021-08-10 17:38:51 +09:00
MBmasher
f4ceb17064
Cleanup of code
2021-08-10 16:06:20 +10:00
TheOmyNomy
24accdcab0
Add LegacyUtils class with non linear colour interpolation method
2021-08-09 18:56:47 +10:00
MBmasher
6b1a4a53d4
Cleanup of code
2021-08-09 08:31:28 +10:00
MBmasher
acdd08c966
Add Flashlight skill
2021-08-08 23:56:03 +10:00
TheOmyNomy
140d29d537
Use helper methods instead of local valueAt() method
2021-08-08 23:54:35 +10:00
TheOmyNomy
9e805dcd44
Fix legacy slider body colour interpolation
2021-08-08 21:27:32 +10:00
02Naitsirk
db1f43f6eb
Multiply star rating by a constant
2021-08-03 18:57:33 -04:00
Bartłomiej Dach
ea2ef55a8b
Remove unnecessary whitespace
2021-08-01 15:27:05 +02:00
Bartłomiej Dach
f868a201f5
Ensure proxied judgement content is correctly depth-ordered
2021-08-01 15:21:31 +02:00
02Naitsirk
5b5cf30cbd
Fix incorrect performance formula
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-07-31 12:23:03 -04:00
Henry Lin
7251c28c4a
Merge branch 'master' into mod-muted
2021-07-29 21:14:03 +08:00
Henry Lin
935984d200
Rename MetronomeBeatContainer
to Metronome
2021-07-29 15:17:21 +08:00
Henry Lin
0196141335
Remove unused constants
2021-07-29 14:52:40 +08:00
Henry Lin
18e760ee91
Extract metronome from OsuModTarget
2021-07-29 14:52:18 +08:00
Henry Lin
22d83c75e3
Revert imports re-ordering
...
Out of the scope of this PR
2021-07-28 18:32:38 +08:00
Henry Lin
58bbe9db7e
Added muted mod
2021-07-28 18:21:08 +08:00
Dean Herbert
4a4d9b0dc6
Update description to match mania mirror implementation
2021-07-28 19:20:40 +09:00
Gabe Livengood
712bc578dc
update setting name and description
2021-07-27 17:45:52 -04:00
Salman Ahmed
5cb02002d7
Fix flipped xmldoc
2021-07-27 18:24:17 +03:00
Salman Ahmed
ed903c60ea
Fix code style issues and remove unused using directives
2021-07-27 18:24:17 +03:00
Gabe Livengood
c741366c72
review modifications: change xmldocs, change reflection method name, remove reflection method returns, simplify incompat. mod list
2021-07-27 09:01:01 -04:00
Gabe Livengood
c7c261ba03
review modifications: change xmldoc wording, configure with enum instead of bool, declare incompatibility with hr
2021-07-26 17:48:03 -04:00
Gabe Livengood
49160e4482
review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option
2021-07-26 10:46:41 -04:00
Gabe Livengood
eb585a6120
Add "Mirror" mod
2021-07-25 20:40:50 -04:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
aitani9
715f3e3f7c
Make blinds move correctly whenever the playfield is rotated
2021-07-22 14:07:41 -07:00
aitani9
80cb7c77b9
Calculate the diagonal length using Vector2.LengthFast
instead of manually
2021-07-22 14:04:01 -07:00
aitani9
e6b28e1386
Rename origin
to center
for clarity
2021-07-22 14:01:31 -07:00
02Naitsirk
b31fef7e00
Implement total SR formula that better correlates with pp
2021-07-22 13:49:47 -04:00
Dean Herbert
3392086d1c
Merge pull request #13984 from ekrctb/catch-editor-reverse
...
Implement "reverse pattern" in catch editor
2021-07-23 01:12:13 +09:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
Dean Herbert
cde8ae6f18
Merge pull request #13483 from emu1337/diffspike-balance
...
Spike difficulty / AR&FL adjustments
2021-07-22 19:28:22 +09:00
ekrctb
cc01b9e639
Extract SliderPath
reverse logic to be used in other rulesets
2021-07-22 16:14:43 +09:00
aitani9
283d953c4f
Fix blinds moving when barrel roll mod is active
2021-07-21 14:07:00 -07:00
Dean Herbert
adda96ac86
Merge pull request #13962 from ekrctb/platform-action
...
Adapt to framework `PlatformAction` type change
2021-07-21 18:17:38 +09:00
Dean Herbert
399c3b0be8
Rename property, reword xmldoc and improve readability of update code
2021-07-21 17:32:56 +09:00
ekrctb
1bac471b49
Adapt to PlatformAction
type change
2021-07-21 16:12:53 +09:00
ekrctb
1bff4373b3
Allow specifying flipping support of selection box different from scaling
2021-07-21 15:59:45 +09:00
emu1337
84fd59777c
Merge branch 'master' into diffspike-balance
2021-07-20 19:39:41 +02:00
Salman Ahmed
9d92b795fa
Revert making ComboOffset
s legacy and define BeatmapSkinComboIndex
instead
2021-07-20 14:15:43 +03:00
Salman Ahmed
554652b033
Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset
2021-07-20 10:11:52 +03:00
Henry Lin
1c6a13fca7
Disallow mistimed event firing
2021-07-20 10:31:19 +08:00
Henry Lin
a387d8df74
Use BeatSyncClock
2021-07-20 10:30:40 +08:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
Bartłomiej Dach
6e065362be
Merge branch 'master' into osu-target-mod
2021-07-18 18:22:36 +02:00
Henry Lin
fdebe4b94a
Code formatting fixes
2021-07-18 22:01:26 +08:00
Dean Herbert
49f0c707f6
Move approach circle hiding within BeginAbsoluteSequence
2021-07-18 22:34:28 +09:00
Dan Balasescu
da7e880e46
Merge pull request #13893 from peppy/mouse-settings-localisation
...
Add localisation coverage of `MouseSettings`
2021-07-16 23:25:12 +09:00
Dean Herbert
8cdc3536f4
Merge pull request #13826 from stanriders/buff-ar
...
Change approach rate bonuses to be less punishing on mid-length maps
2021-07-16 22:47:10 +09:00
Dean Herbert
304eac26d3
Merge branch 'master' into osu-target-mod
2021-07-15 16:51:02 +09:00
Dean Herbert
ea87869753
Fix metronome playing during intro time
2021-07-15 16:50:55 +09:00
Dean Herbert
c38590f1ff
Use a slightly more appropriate metronome sound
2021-07-15 16:43:24 +09:00
Dean Herbert
5b91111eda
Update SettingsSubsection.Header
to accept a LocalisableString
2021-07-15 13:09:51 +09:00
Dean Herbert
e7b78b1ea5
Adjust transform logic to hopefully be a bit easier to parse
2021-07-13 20:26:05 +09:00
Dean Herbert
4314946e10
Reorganise functions to order more logically (hitcircle before slider methods)
2021-07-13 19:37:17 +09:00
Dean Herbert
6b663037e4
Use switch
for pattern matching
2021-07-13 19:37:02 +09:00
Dean Herbert
db8ffc6316
Merge branch 'master' into osu-random-mod-improvements
2021-07-13 19:31:37 +09:00
Naxess
3a5912e35e
Add new checks to verifiers
2021-07-13 10:53:25 +02:00
Naxess
53c0298b5e
Add too short spinners check and tests
2021-07-13 10:51:40 +02:00
Naxess
fec9448301
Add too short sliders check and tests
2021-07-13 10:50:41 +02:00
Bartłomiej Dach
63dedb36de
Rename variable
2021-07-11 16:49:23 +02:00
Bartłomiej Dach
7aecafeecb
Rename constant to reflect its purpose
2021-07-11 16:46:30 +02:00
Henry Lin
c181a724c6
Refactor hit object clamping
2021-07-11 22:01:28 +08:00
Bartłomiej Dach
e10b7867c1
Rewrite method again to hopefully help readability
2021-07-10 12:13:36 +02:00
Dean Herbert
90326f8864
Standardise variables
2021-07-09 13:24:26 +09:00
StanR
02298c2cf4
Fix incorrect curve, move total hits factor into a separate variable for clarity
2021-07-09 00:06:05 +03:00
StanR
592d3fdf00
Cleanup
2021-07-08 11:54:58 +03:00
StanR
c67f756c75
Change approach rate bonuses to be less punishing on mid-length maps
2021-07-08 11:52:43 +03:00
Dean Herbert
88b00123f6
Use existing reflection methods to avoid manual binding of ExtendedLimits
2021-07-08 17:49:00 +09:00
Dean Herbert
bd7c334588
Avoid the need for per-settings control classes
2021-07-08 17:49:00 +09:00
Dean Herbert
a6e94dd491
Add back extended limits support
2021-07-08 17:49:00 +09:00
Dean Herbert
c4313d6e96
Initial implementation of new flow (only working for approach rate)
2021-07-08 17:48:08 +09:00
Dean Herbert
0e4f4a6fde
Initial storage changes
2021-07-08 14:28:13 +09:00
Dean Herbert
d07c469a89
Merge pull request #13783 from smoogipoo/smooth-auto-gen
...
Make osu! auto generator interpolate during key-up frames
2021-07-06 15:04:40 +09:00
Henry Lin
50e316fca4
Merge branch 'master' into osu-target-mod
2021-07-06 12:02:51 +08:00
Bartłomiej Dach
8e102280b7
Revert & disable case with two contradicting inspections
...
Leaving the `false` default value without the suppression triggers
`RedundantArgumentDefaultValue`, while removing it triggers
`BaseMethodCallWithDefaultParameter`.
Disable the former, because a single redundant parameter is less bad
than silent breakage if the default value of `propagateChildren` in the
base method ever changes.
2021-07-05 20:21:44 +02:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
smoogipoo
8b7ccdc8b5
Adjust comment
2021-07-05 18:51:23 +09:00
smoogipoo
7d6ab08bb3
Remove unnecessary conditional
2021-07-05 18:49:09 +09:00
smoogipoo
695af31c58
Start alternating at 225BPM as previously
2021-07-05 18:43:27 +09:00
smoogipoo
2b8efe21ca
Don't ease with 0 time difference
2021-07-05 17:52:10 +09:00
smoogipoo
12ca845e55
Use marker class (cleanup)
2021-07-05 17:24:23 +09:00
smoogipoo
6a2c0f772e
Always apply easing, adjust heuristic a bit
2021-07-05 17:22:48 +09:00
smoogipoo
96c0ab8ded
Adjust last frame position when not waiting
2021-07-05 17:11:59 +09:00
Henry Lin
eecf4af029
Rename getSliderBoundingBox
and add comments
2021-07-05 09:16:01 +08:00
Dean Herbert
ec71deec51
Remove some mentions of "lazer"
...
I am aware there are more throughout the codebase but intentionally left
the remaining mentioned for one reason or another. The intention here is
to mainly change user-facing versioning to change the positioning of the
"lazer" term (to be where we would expect "cuttingedge" or "beta" to
be).
2021-07-04 12:41:27 +09:00
Henry Lin
d1862d8cff
Rename map
to mapRange
2021-07-04 10:01:56 +08:00
Henry Lin
1470bb1563
Use IHidesApproachCircles
2021-07-03 13:02:39 +08:00
Henry Lin
f18c17d1a8
Merge branch 'master' into osu-target-mod
2021-07-03 13:00:52 +08:00
Henry Lin
b0a619bb4c
Prevent multiple enumeration in checkForOverlap
2021-07-01 12:49:34 +08:00
Henry Lin
34be437d7a
Added definitelyBigger
2021-07-01 12:21:41 +08:00
Henry Lin
58f80abe32
Several requested changes
...
- Rename `origHitObjects` to `originalHitObjects`
- Use `Value` instead of `GetValueOrDefault()`
- Remove `endObj`
- Added comments
- Rename `closestIdx` to `precedingIndex`
- Changed an `almostEquals` call
2021-07-01 11:57:57 +08:00
Henry Lin
c69455cfd0
Fixed slider bounding box calculation
2021-07-01 11:20:55 +08:00
Henry Lin
7585f1f790
Move special case handling back to moveSliderIntoPlayfield
2021-07-01 11:03:22 +08:00
Henry Lin
6e1839fcf2
Rename shift_object_count
to objects_to_shift_before_slider
2021-07-01 11:03:22 +08:00
Henry Lin
328dcb4d6b
Use Math.Clamp
instead of MathHelper.Clamp
2021-07-01 11:03:22 +08:00
Henry Lin
3c1f0452a2
Refactor and rename getMinSliderMargin
to getSliderBoundingBox
.
2021-07-01 11:03:22 +08:00
Bartłomiej Dach
913f7602e4
Change seed control type in line with changes
2021-06-30 20:41:08 +02:00
Bartłomiej Dach
c0613a3e4f
Merge branch 'master' into osu-target-mod
2021-06-30 20:27:55 +02:00
Salman Ahmed
4b56d94a98
Revert accidentally pushed part of change
2021-06-30 10:26:34 +03:00
Salman Ahmed
e3344c33ea
Better convey reason of "Spin In" incompatibility with "Hidden"
2021-06-30 09:57:15 +03:00
Henry Lin
3f185a0622
Fixed an exception when clamping large sliders
2021-06-30 10:35:06 +08:00
Salman Ahmed
dbe3150f88
Mention about marker interfaces even more explicitly
2021-06-29 11:37:08 +03:00
Salman Ahmed
7997d57030
Mention interfaces being "markers" for the time being
2021-06-29 11:25:35 +03:00
Henry Lin
8d1eae7c70
Use IndexInCurrentCombo
2021-06-29 14:25:45 +08:00
Henry Lin
2722565204
Take circle radius into account when clamping to playfield
2021-06-29 13:36:30 +08:00
Henry Lin
0c5777c2c8
Added comments
2021-06-29 12:56:05 +08:00
Henry Lin
d4ff4b26f5
Split part of addHitSamples
to a subroutine
2021-06-29 12:49:25 +08:00
Henry Lin
96e09605d8
Osu random mod improvements
...
- Reduce "jump streams" by increasing maximum jump angle and variance in jump angle
- Reduce weird jumps to sliders by shifting hit circles in front of sliders
2021-06-29 12:33:40 +08:00
Salman Ahmed
69dac018c7
Make OsuModSpinIn
as incompatible with other IHidesApproachCircles
mods
...
Respecting the TODO comment above it, mark `OsuModSpinIn` as
incompatible with other `IHidesApproachCircles` mods as well.
2021-06-28 21:20:07 +03:00
Salman Ahmed
baf736026b
Mark IHidesApproachCircles
mods as incompatible with IRequiresApproachCircles
2021-06-28 21:20:07 +03:00
Salman Ahmed
6a67a6736a
Mark IRequireApproachCircles
mods as incompatible with IHidesApproachCircles
2021-06-28 21:20:07 +03:00
Salman Ahmed
006cc331c8
Separate IMutateApproachCircles
to requiring and hiding
2021-06-28 21:20:07 +03:00
Henry Lin
ea8993d6d6
Use IHasRepeats
instead of IHasPathWithRepeats
2021-06-28 11:33:19 +08:00
Henry Lin
3eaa04115f
Use OsuHitObjectGenerationUtils
2021-06-26 11:34:10 +08:00
Henry Lin
c543080923
Merge branch 'master' into osu-target-mod
2021-06-26 11:26:00 +08:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Henry Lin
ec8810cc2b
Use MathF
instead of (float)Math
2021-06-25 09:44:23 +08:00
Henry Lin
26086ca1ef
Rename VectorUtils
to OsuHitObjectGenerationUtils
2021-06-25 09:43:14 +08:00
Henry Lin
3fcda83713
Rename VectorHelper
to VectorUtils
2021-06-24 22:00:19 +08:00
Henry Lin
1a47bc254d
Increase acceptable difference for Precision calls
2021-06-24 14:55:49 +08:00
Henry Lin
be55c7e075
Minor fixes in comments
2021-06-24 13:39:50 +08:00
Henry Lin
153e204d20
Cap rotation ratio to 1
2021-06-24 13:22:10 +08:00
Henry Lin
2268d7f8a5
Extract utility methods into helper class; Better xmldoc and naming
2021-06-24 13:19:42 +08:00
Henry Lin
6629f8706a
Directly fade to gray instead of computing the color values
2021-06-24 12:31:25 +08:00
Henry Lin
877c775e35
Added comments
2021-06-24 12:20:46 +08:00
Henry Lin
f8fe4ab482
Refactor and rename isOverlappingWithRecent
2021-06-24 12:02:48 +08:00
Henry Lin
71b5ed16c0
Avoid using osuTK constants; Use MathF
2021-06-24 11:37:00 +08:00
Henry Lin
f74275a3b5
Moved RNG initialisation to a better place
2021-06-24 11:29:10 +08:00
Henry Lin
6fca8ba5b0
Better explanation for fixComboInfo
2021-06-24 11:21:43 +08:00
Henry Lin
6202eed5e2
Moved a misplaced !
2021-06-24 10:56:14 +08:00
Henry Lin
04510f1ace
Removed odd-looking decrement and checks in addHitSamples
2021-06-24 10:54:21 +08:00
Henry Lin
58b439b728
Switch to IHasPathWithRepeats
2021-06-24 10:38:21 +08:00
Henry Lin
98003ec548
Avoid modulo when finding slider node index
2021-06-24 10:33:54 +08:00
Henry Lin
3eab540bcc
Converted an inline lambda into a method (isInsideBreakPeriod
); moved origHitObjects
to be a private class field
2021-06-24 10:07:29 +08:00
Henry Lin
dae7b8025d
Converted an inline lambda into a method (getBeatsForTimingPoint
)
2021-06-24 09:51:45 +08:00
Henry Lin
a7ea7b8b0b
Use GetEndTime()
instead of a switch expression
2021-06-24 09:34:39 +08:00
Henry Lin
b7dd26612d
Reordered things and added regions
2021-06-23 16:50:05 +08:00
Henry Lin
6dc5f406b2
Implement IMutateApproachCircles
2021-06-23 16:29:36 +08:00
Henry Lin
10541dbc0a
Merge branch 'master' into osu-target-mod
...
# Conflicts:
# osu.Game.Rulesets.Osu/Mods/OsuModTraceable.cs
# osu.Game/Rulesets/Mods/IHasSeed.cs
2021-06-23 16:26:23 +08:00
Henry Lin
5a031eada8
Revert "Display results after fail"
...
This commit reverts 7815b3c7
2021-06-23 16:22:10 +08:00
Dean Herbert
4cb9c6a842
Merge pull request #13423 from frenzibyte/transformers-per-skin
...
Refactor ruleset skin transforming logic to be per-`ISkin` rather than one `ISkinSource`
2021-06-22 21:24:56 +09:00
Dean Herbert
6c3d2315d0
Merge pull request #13606 from Naxesss/low-diff-checks
...
Add low difficulty spacing checks
2021-06-22 16:29:37 +09:00
Dean Herbert
1b0aadcc6f
Merge branch 'master' into transformers-per-skin
2021-06-22 16:03:15 +09:00
Dean Herbert
e9339d6100
Move some inline comments on const
s to xmldoc instead
2021-06-22 15:16:19 +09:00
Naxess
2f3f4f3e4b
Add new checks to verifier
2021-06-21 15:30:45 +02:00
Naxess
fcb918d0e1
Add time distance equality check
2021-06-21 15:30:23 +02:00
Naxess
3eb088f89a
Add low difficulty overlaps check
2021-06-21 15:30:04 +02:00
Salman Ahmed
999bf27eae
Remove unnecessary abstraction of ApproachCircle
property
2021-06-21 12:07:00 +03:00
Henry Lin
e52a58c1bc
Switched to a more reasonable sample sound for now
2021-06-21 16:24:37 +08:00
Salman Ahmed
ba15f7c19b
Move ApproachCircle
out of the scale container and revert relevant changes
2021-06-21 10:47:38 +03:00
Salman Ahmed
036b745425
Remove no longer needed LegacySpinnerApproachCircle
2021-06-21 08:41:10 +03:00
Salman Ahmed
42edbe4fb9
Move ApproachCircle
implementation into per-style
2021-06-21 08:40:38 +03:00
Salman Ahmed
68e28f4903
Implement IHasApproachCircle
in DrawableHitCircle
as well
2021-06-21 07:35:07 +03:00
Salman Ahmed
01478d780d
Generalize IHasSpinnerApproachCircle
from being spinner-specifc
2021-06-21 03:43:11 +03:00
Salman Ahmed
72155a7c52
Replace if pattern-matching check with switch cases instead
2021-06-21 03:37:50 +03:00
Salman Ahmed
c3217fd8b1
Remove leftover approach circle skin component
2021-06-19 20:10:32 +03:00
Salman Ahmed
c04b09520d
Replace spinner approach circle proxying logic with hooking up to OnSkinChange
in mod
2021-06-19 20:06:28 +03:00
Henry Lin
c867940584
Marked target mod and traceable mod as incompatible; extracted playfield clamping logic
...
Nothing is visible when target mod and traceable mod are enabled together.
2021-06-19 12:26:16 +08:00
Henry Lin
b09165a074
Remove the circle size buff
2021-06-19 11:13:19 +08:00
Henry Lin
0cf3119006
Guard against edge cases
2021-06-19 11:12:29 +08:00
Henry Lin
ca8f08ca84
Avoid overlapping with recent circles
2021-06-19 10:04:48 +08:00
Salman Ahmed
d6b9436151
Proxy spinner approach circle before the spinner overlay components
2021-06-18 20:34:25 +03:00
Salman Ahmed
843c8bd7a4
Move spinner approach circle to its own SkinnableDrawable
2021-06-18 20:33:50 +03:00
Salman Ahmed
f7b5341663
Merge branch 'master' into legacy-spinner-approach-circle
2021-06-18 19:50:52 +03:00
Bartłomiej Dach
afc89b39d9
Use StateUpdateTime
for transform clearing logic
...
`MainCirclePiece` specifies a state transform starting at
`StateUpdateTime`, which is earlier than the previously-used
`HitStateUpdateTime`. Change the transform clearing logic to use the
former to ensure that exactly all animation transforms are cleared.
2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e94fbd83e2
Ensure editor ruleset animation disable execution order
2021-06-18 16:04:11 +02:00
Bartłomiej Dach
e2a370f602
Add coverage for hit circle fade-out duration
2021-06-18 16:04:11 +02:00
Henry Lin
cca26d4651
Take circle radius into account when clamping hit objects to playfield
2021-06-18 16:05:09 +08:00
Henry Lin
f5134c7fc2
Extract constants and add xmldoc
2021-06-18 14:39:46 +08:00
Henry Lin
dca2d8af4f
Animate circles undimming
2021-06-18 13:18:44 +08:00
Dean Herbert
860626152a
Mark all mods which adjust approach circle as incompatible with each other
...
Closes https://github.com/ppy/osu/issues/13543 .
2021-06-18 13:21:53 +09:00
Salman Ahmed
c9458fd9ce
Hide spinner approach circle in "Hidden" mod
2021-06-18 06:23:54 +03:00
Henry Lin
639e8b62b9
Make circles light up 1 beat length before start time
2021-06-18 11:20:04 +08:00
emu1337
8c4e60e5cc
xmldoc and refactoring
2021-06-17 21:41:06 +02:00
Henry Lin
b7f43405fc
Dim circles instead of fade; improved hit samples; changed jump distance to be closer to cuttingedge
2021-06-17 22:01:58 +08:00
Dan Balasescu
6cec1145e3
Merge pull request #13523 from ekrctb/applicable-to-dho
...
Reduce boilerplate of `IApplicableToDrawableHitObjects` by taking a single DHO instead of an enumerable
2021-06-17 19:59:06 +09:00
Henry Lin
f22beaeb5b
Increase distance between combos; pull circles closer to center
2021-06-17 14:30:59 +08:00
Dean Herbert
a46f730a69
Fix approach circle fade not running early on an early user hit
...
Regressed in https://github.com/ppy/osu/pull/12153 .
Closes https://github.com/ppy/osu/issues/13531 .
2021-06-17 15:09:05 +09:00
Henry Lin
14622f4734
Improved guesstimations; fixed hit samples
2021-06-17 10:20:50 +08:00
Salman Ahmed
9d9892e99e
Add legacy spinner approach circle implementation
2021-06-17 04:58:18 +03:00
emu1337
2665a873f8
fixed an error with extremely short maps
2021-06-16 19:55:19 +02:00
emu1337
41662a1643
refactored for clarity
2021-06-16 19:54:22 +02:00
emu1337
18fe05b7b5
diffspikes balance
2021-06-16 15:13:46 +02:00
ekrctb
90a13b8ed3
Use IApplicableToDrawableHitObject
for OsuModApproachDifferent
...
Replacing the obsolete interface.
2021-06-16 22:05:40 +09:00
ekrctb
b6a9fa9999
Merge branch 'master' into applicable-to-dho
2021-06-16 22:04:10 +09:00
ekrctb
af80418ee8
Implement IApplicableToDrawableHitObject
for mods
...
A breaking change in `ModWithVisibilityAdjustment` if the method was overriden.
2021-06-16 18:52:01 +09:00
Dean Herbert
7891ee4f32
Change order of settings to make scrolling easier
...
There's an issue with dropdown menus nested inside a scroll view being
very frustrating to scroll to off-screen items. This works around that
to some extent by giving the user more "parent-scrollable" space to
mouse wheel or drag over.
2021-06-16 17:32:31 +09:00
Dean Herbert
0c1023da31
Simplify transform logic
2021-06-16 17:27:52 +09:00
Dean Herbert
ee5f4f1856
Remove default (and make default "Gravity")
2021-06-16 17:27:43 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
Dean Herbert
f6f1a068b2
Rename "easing" references to be "style" instead
2021-06-16 15:15:12 +09:00
Dean Herbert
b1dd502e06
Rename class to match new name
2021-06-16 15:09:42 +09:00
Dean Herbert
2ce487bdac
Rename mod and fix easing mappings / naming
2021-06-16 14:31:22 +09:00
Dean Herbert
c5f76c7352
Merge branch 'master' into AddApproachCircleMod
2021-06-16 14:30:58 +09:00
emu1337
be68950c30
refactoring
2021-06-16 03:34:46 +02:00
Salman Ahmed
52145c9237
Assign skinnable colour to spinner-background
with correct default
2021-06-15 16:17:05 +03:00
Salman Ahmed
a85a592f70
Add lookup for spinner background colour
2021-06-15 16:16:25 +03:00
Henry Lin
4ffff06dcb
Break ApplyToBeatmap into subroutines
2021-06-15 11:06:56 +08:00
emu1337
e987a511ba
diffspike & wide angle balance
2021-06-14 19:22:35 +02:00
emu1337
fea7b029aa
refactored diffspike nerf
2021-06-14 19:18:49 +02:00
Henry Lin
04c0db6dce
Code cleanup
2021-06-14 21:34:34 +08:00
emu1337
4c949d9829
reduced diffspike nerf
2021-06-13 21:20:08 +02:00
emu1337
3309ab2be3
balance changes
2021-06-13 15:18:35 +02:00
Salman Ahmed
fbb856d84b
Call base
when overriding lookup methods
...
Rather than arbitrarily accessing `Skin` here and there.
2021-06-11 12:44:44 +03:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Salman Ahmed
dde84e5cbd
Merge branch 'master' into transformers-per-skin
2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display
2021-06-10 17:09:46 +09:00
Henry Lin
12a17d0983
Extract seed setting contorl to IHasSeed
2021-06-10 15:31:20 +08:00
Henry Lin
80f38b347b
Merge branch 'ppy:master' into osu-target-mod
2021-06-10 15:13:27 +08:00
Henry Lin
7815b3c72b
Display results after fail
2021-06-10 10:58:42 +08:00
Salman Ahmed
cf40282f1f
Convert LegacySkinTransformer
s to accept raw ISkin
s rather than a full ISkinSource
2021-06-09 22:49:31 +03:00
ekrctb
5418e895ae
Remove useless ClearTransforms
...
The transforms are cleared by DHO before `ApplyCustomUpdateState` is invoked.
2021-06-09 16:50:13 +09:00
Bartłomiej Dach
020c63017e
Fix inspectcode issues
2021-06-09 09:21:02 +02:00
ekrctb
610cdaea98
Fix circle piece animation is sometimes not playing when a replay is rewound
2021-06-09 16:14:55 +09:00
Dean Herbert
85abee5fc7
Remove difficulty calculator exceptions
...
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
ekrctb
555ab8fccd
Fix event not unregistered on dispose
2021-06-09 12:35:14 +09:00
Dean Herbert
e914fbf449
Merge pull request #13396 from ekrctb/fix-circle-piece
...
Fix hit circle animation is removed when a replay is rewound
2021-06-09 11:39:38 +09:00
ekrctb
4707918c6a
Fix hit circle animation when a replay is rewound
2021-06-09 10:53:52 +09:00
Dean Herbert
475788041a
Merge pull request #13337 from Pasi4K5/fix-sliders-out-of-screen
...
Fix sliders sometimes being outside of the playfield with osu! random mod enabled
2021-06-08 21:18:21 +09:00
Samuel Cattini-Schultz
f1bef989b7
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-08 19:43:59 +10:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup
2021-06-08 17:37:36 +09:00
Dan Balasescu
791855dfa0
Merge branch 'master' into legacy-skin-default-fallback
2021-06-08 16:54:26 +09:00
Dean Herbert
e0f568aa8f
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-06-08 15:19:52 +09:00
Dean Herbert
88b87b98a8
Fix slider ball layer sources
2021-06-08 12:10:14 +09:00
Dean Herbert
277eb9fa6e
Fix slider repeat arrow not updating rotation immediately while paused in editor
...
A bit of a local solution, but not sure there's a better way to handle
this.
Closes #13342 .
2021-06-07 15:58:43 +09:00
Dean Herbert
d26c9a66c2
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-06-07 12:01:19 +09:00
Dean Herbert
9ebafb1ec0
Fix cursor trail logic
2021-06-06 22:26:27 +09:00
Pasi4K5
b214f2ae0e
Remove repeat
and simplify getMinSliderMargin
2021-06-05 17:13:08 +02:00
Pasi4K5
f59263932a
Use SliderPath.GetPathToProgress
for getting the SliderPath
's positions
2021-06-05 17:04:58 +02:00
Pasi4K5
b4f190c6ff
Rename iteration variable
2021-06-04 17:22:36 +02:00
Pasi4K5
32e41048ff
Fix System.ArgumentException
caused by sliders bigger than the playfield
2021-06-04 16:50:27 +02:00
Pasi4K5
6357d1363c
Add comment for slider_path_checking_rate
2021-06-04 16:26:40 +02:00
Pasi4K5
a0a6f3ef81
Replace Vector2
methods with math operators
2021-06-04 16:23:03 +02:00
Pasi4K5
9f2a9608f2
Rework slider positioning
2021-06-04 16:17:54 +02:00
ekrctb
d7da66d876
Bring back scheduling of follow point update
2021-06-04 18:41:02 +09:00
ekrctb
0098ac2760
Remove one TODO
...
It can be removed because pooled drawables are always ready, and `FollowPointConnection` is also ready when applied.
2021-06-04 17:09:59 +09:00
ekrctb
bc892086fe
Resolve nullable inspection, enable nullable for FollowPointLifetimeEntry
2021-06-04 17:09:59 +09:00
ekrctb
b373b120ff
Use general lifetime container for follow point container
2021-06-04 16:31:50 +09:00
Dean Herbert
06275a6a7d
Merge branch 'master' into legacy-skin-default-fallback
2021-06-04 16:00:30 +09:00
Dean Herbert
f62a2747f6
Add legacy implementation
2021-06-04 14:51:35 +09:00
Dean Herbert
5953674737
Tidy up constants
2021-06-04 14:14:51 +09:00
Dean Herbert
ff70f99da2
Merge branch 'master' into kiai
2021-06-04 13:50:12 +09:00
Pasi4K5
7a4fc9ffc8
Move seed to base class
2021-06-03 18:16:11 +02:00
Dan Balasescu
15b43beef1
Merge pull request #11857 from Syriiin/diffcalc/refactor/catch-clockrate-effects
...
Refactor catch Movement skill to not require explicit clockrate usage
2021-06-03 17:29:27 +09:00
Dan Balasescu
d39eb7eac2
Merge pull request #12952 from peppy/autoplay-pause-support
...
Externalise autoplay generation from `Player` to allow use of replay playback functions
2021-06-03 17:29:17 +09:00
Dean Herbert
8b43cfdd7d
Merge pull request #12568 from Pasi4K5/mod-osu-random
...
Add mod "Random" for osu! ruleset
2021-06-03 17:14:27 +09:00
Samuel Cattini-Schultz
f51413ead9
Refactor to pass clockrate in constructor rather than deriving from mods
2021-06-03 16:09:42 +10:00
Dan Balasescu
44b1102241
Merge branch 'master' into autoplay-pause-support
2021-06-03 13:26:00 +09:00
Dan Balasescu
c065f761c7
Merge branch 'master' into legacy-skin-default-fallback
2021-06-02 19:08:52 +09:00
ekrctb
c06ff3c623
Remove defunct Animate
calls
2021-06-02 11:46:28 +09:00
ekrctb
b82190e157
Fix hit circle animation reset when skin is changed
...
The transforms applied in `Animate` call was not applied because the piece is recreated.
2021-06-02 11:32:24 +09:00
Dean Herbert
14570b6fb1
Merge branch 'master' into autoplay-pause-support
2021-06-01 14:19:21 +09:00
Dean Herbert
00b3eea840
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-05-31 21:39:04 +09:00
Dean Herbert
33577cbad5
Fix multiple issues with default lookups
2021-05-31 21:29:47 +09:00
Dean Herbert
88ed95e012
Add FindProvider
lookup function
2021-05-31 21:29:47 +09:00
Dean Herbert
de0e51a81d
Merge branch 'master' into fix-skin-sample-lookup
2021-05-31 15:27:39 +09:00
Dean Herbert
17574833fb
Update other transformers with similar refactored logic
2021-05-30 19:15:59 +09:00
Salman Ahmed
fbc316ea1d
Fix legacy skin transformers potentially ignoring source implementations
2021-05-29 21:23:22 +03:00
Dean Herbert
6268bbea85
Merge branch 'master' into fix-skin-sample-lookup
2021-05-28 14:47:35 +09:00
Dean Herbert
70a844ac10
Remove allowFallback
parameters completely
2021-05-27 14:50:42 +09:00
Endrik Tombak
9ac4ef273e
Make DrawableSliderTail not require ITrackSnaking
2021-05-26 23:21:05 +03:00
Pasi4K5
d5de5ae640
Add comments explaining the usage of shiftNestedObjects()
2021-05-26 20:50:31 +02:00
Dean Herbert
a08a4aa911
Move second call to shiftNestedObjects
to a more understandable location
2021-05-26 16:48:16 +09:00
Dean Herbert
d6c4be207b
Simplify naming
2021-05-26 16:44:44 +09:00
Dean Herbert
ad3e4287cd
Move distanceToPrev
inside randomisation function
2021-05-26 16:44:05 +09:00
Dean Herbert
6ca9b37c28
Make random generator a field to avoid passing around internally
2021-05-26 16:42:20 +09:00
Dean Herbert
6181b1ac92
Simplify previous object handling by using a class instead of struct
2021-05-26 16:42:20 +09:00
Dean Herbert
c5ff052096
Change internal
to public
2021-05-26 16:31:25 +09:00
Pasi4K5
c85d5513be
Remove redundant parameter and unused setters
2021-05-25 21:42:26 +02:00
Pasi4K5
bdbd64c88d
Fix sliders being partly outside of the playfield in some cases
2021-05-25 21:32:18 +02:00
Dean Herbert
a3c78674a1
Add new interface for autoplay mods
2021-05-25 18:09:24 +09:00
Pasi4K5
098d8c2131
Add complete randomisation for first hit object and hit objects after spinners
2021-05-24 15:13:31 +02:00
smoogipoo
3db995c778
Fix sliders jumping around the screen on movement
2021-05-24 17:15:57 +09:00
Dean Herbert
8336428574
Add regression test for spinner sample actually transforming its frequency
2021-05-24 15:10:33 +09:00
Dean Herbert
53b5341bb9
Simplify application logic
2021-05-24 14:34:27 +09:00
Dean Herbert
a92ded8a2f
Apply renaming and general code clean-up
2021-05-24 14:28:07 +09:00
Dean Herbert
88d7bc195d
Split out and clean up playfield sizing references
2021-05-24 14:27:56 +09:00
Dean Herbert
8dd3f11d28
Tidy up struct and previous object handling
2021-05-24 14:19:10 +09:00
Henry Lin
15e7cce264
Added seed setting, fixed mod ignoring IncreaseFirstObjectVisibility
2021-05-22 14:14:41 +08:00
Dean Herbert
bb2fae55ce
Merge branch 'master' into refactor-selection-rotate-logic
2021-05-21 19:19:54 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
Dean Herbert
27e81d6504
Implement proper rotation algorithm for skin editor
2021-05-20 18:21:16 +09:00
Henry Lin
d20b5c2d5a
Refactored ApplyToBeatmap
2021-05-20 11:57:13 +08:00
Henry Lin
fe099be443
Implemented osu target mod
2021-05-19 22:25:56 +08:00
Dean Herbert
a0f67ef3bc
Move scaling logic out of OsuSelectionHandler
for reuse
2021-05-19 17:37:28 +09:00
Dean Herbert
d661e98fa6
Move common functionality out of OsuSelectionHandler
and implement flip support
2021-05-18 18:34:06 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
532c41c82e
Remove nested blueprints from sliders
2021-05-18 14:19:11 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
0989aa3364
Fix accuracy heatmap points changing colour
2021-05-17 18:07:50 +09:00
Dean Herbert
a32f1ef35a
Merge pull request #12811 from PercyDan54/hidden-code-cleanup
...
Remove obsolete methods in `ModHidden` and apply few touches
2021-05-16 22:07:45 +09:00
Henry Lin
a91f2d3dba
Change "judgment" to "judgement"
2021-05-16 10:17:04 +08:00
Dean Herbert
bdcb1a624e
Merge pull request #12759 from Naxesss/beatmap-verifier-context
...
Encapsulate check arguments in context object
2021-05-15 15:39:12 +09:00
PercyDan54
63ac430386
Rename startTime in parameters
2021-05-15 11:26:16 +08:00
Pasi4K5
878182fbdf
Fix slider ticks not being shifted along with their parent sliders
2021-05-15 02:07:24 +02:00
Pasi4K5
3fa6a0413b
Add slider position randomisation
2021-05-14 23:04:09 +02:00
PercyDan54
a4c1b9a1a7
Rename startTime to fadeStartTime
2021-05-14 21:56:13 +08:00
PercyDan54
a86a4bab91
Remove empty override
2021-05-14 21:55:32 +08:00
PercyDan54
393ac4fdd1
Destruct declaration
2021-05-14 21:30:58 +08:00
PercyDan54
67dfeeb1b7
Cleanup code in ModHidden
2021-05-14 21:29:13 +08:00
Dean Herbert
dbc2318710
Initial tidying up
2021-05-14 14:13:35 +09:00
Pasi4K5
ac04e8afa2
Change name of option "Custom seed" to "Seed" and set its value to the generated seed
2021-05-14 01:50:11 +02:00
Pasi4K5
a9d5211e81
Remove seed from the ScorePanel and "Paste" button
2021-05-14 01:42:39 +02:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
Naxess
19800f5f7f
Move IBeatmap
arg into context
2021-05-13 11:24:22 +02:00
Pasi4K5
946abfbb83
Rework settings; Add seed to ScorePanel; Apply requested changes from @bdach
2021-05-12 18:11:50 +02:00
Naxess
b7bc42e0d3
Rename "playableBeatmap" check arg to "beatmap"
...
The working beatmap is now in the context, so it's easier to distinguish beatmap type, hence no need for this prefix.
2021-05-12 02:34:16 +02:00
Naxess
c13b93e6f1
Replace IWorkingBeatmap
arg with BeatmapVerifierContext
in checks
...
This simplifies passing of contextual information by enabling addition without needing to refactor lots of classes.
See next commit for example.
2021-05-12 02:29:18 +02:00
Dean Herbert
004798d61d
Update Legacy components to not require skin in ctor
2021-05-11 18:39:14 +09:00
Dean Herbert
01d732bb65
Revert "Refactor SliderSelectionBlueprint
to not reference blueprint pieces for input handling"
...
This reverts commit 54fe10c82a
.
2021-05-08 23:33:03 +09:00
Dean Herbert
63e267a3be
Revert "Trim redundant this
qualifier"
...
This reverts commit df630d9428
.
2021-05-08 23:32:52 +09:00
Bartłomiej Dach
df630d9428
Trim redundant this
qualifier
2021-05-08 14:53:19 +02:00
Dean Herbert
54fe10c82a
Refactor SliderSelectionBlueprint
to not reference blueprint pieces for input handling
2021-05-07 10:36:03 +09:00
Dean Herbert
39067e6926
Fix slider input handling potentially being offset after composer area resize
...
Closes https://github.com/ppy/osu/issues/12671 .
2021-05-06 17:19:19 +09:00
Salman Ahmed
cc24d8a6bd
Remove unused using directive
...
I literally noticed it after I pushed, god damn it.
2021-05-05 14:27:38 +03:00
Salman Ahmed
6fb9eb8b33
Move legacy beatmap combo offset to osu! processor
...
Better suited there, I intiailly wanted the whole legacy interface to reside in `osu.Game.Rulesets.Osu` but it's required in `ConvertHitObjectParser` and that's in the main game project, so had to leave the interface as-is for now.
2021-05-05 14:24:14 +03:00
Dean Herbert
1410b8f36d
Fix follow points displaying at incorrect locations when dragging a slider out-of-bounds
2021-05-05 18:30:57 +09:00
Salman Ahmed
cd6d070b4a
Consider "combo offsets" as legacy logic and separate from combo information
2021-05-05 07:43:08 +03:00
Pasi4K5
6bed268bd8
Enhance mod settings and add option "Random seed"
...
+ slight adjustments
2021-05-01 04:01:43 +02:00
Pasi4K5
d90708d646
Merge branch 'master' into mod-osu-random
2021-05-01 02:45:32 +02:00
Bartłomiej Dach
9cb55ca245
Merge branch 'master' into barrel-roll
2021-04-30 22:27:27 +02:00
Andrei Zavatski
7bf3498e2a
Calculate playfield scale locally
2021-04-30 02:49:19 +03:00
Andrei Zavatski
25e0fb1cf9
Refactor OsuModBarrelRoll to allow it's usage by other rulesets
2021-04-30 01:59:59 +03:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Pasi4K5
95040f7edc
Change initial seed to a random number
2021-04-27 22:19:04 +02:00
Pasi4K5
a141a4e9e6
Add setting "Seed"
...
Random numbers are now generated with the seed specified in the mod settings.
2021-04-27 20:44:36 +02:00
Pasi4K5
4b05568d2d
Revert "Fix bug causing the star rating to change when Random is enabled"
...
This reverts commit 1dfe028c02
.
2021-04-27 19:39:58 +02:00
Dean Herbert
f586bc46e6
Avoid using EditorBeatmap.SelectedHitObjects
2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Dean Herbert
ec1c336b0a
Fix a couple of inspections
2021-04-27 13:23:14 +09:00
Pasi4K5
1dfe028c02
Fix bug causing the star rating to change when Random is enabled
2021-04-26 22:26:13 +02:00
Pasi4K5
19fc224348
Revert "Make OsuAutoGenerator spin the cursor around the position of the spinner instead of a set value"
...
This reverts commit 817bb5213c
.
2021-04-26 11:52:46 +02:00
smoogipoo
1e0ee3cd61
Merge branch 'master' into fix-editor-slider-repeat-animation
2021-04-26 16:45:04 +09:00
Dan Balasescu
0727728771
Merge pull request #12579 from peppy/rename-edit-classes
...
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 16:44:35 +09:00
smoogipoo
0d0b4ea78a
Rewrite comment to hopefully be more readable
2021-04-26 15:47:37 +09:00
smoogipoo
f70e45b199
Prevent adding null enumerable
2021-04-26 15:35:08 +09:00
Dean Herbert
d10aac851d
Extract scale constant
2021-04-26 15:30:22 +09:00
Dean Herbert
8795c5f082
Update osu! editor transform logic to allow adjustments to DrawableSliderRepeat
and DrawableSliderTail
2021-04-26 15:27:10 +09:00
Dean Herbert
4da964c3f3
Expose DrawableSliderRepeat
's arrow and move transforms to children
2021-04-26 15:22:42 +09:00
Dean Herbert
aa7ade8186
Expose presence of MainCirclePiece
via an interface
2021-04-26 15:22:17 +09:00
smoogipoo
6182181ea1
Fix simultaneous slider input not allowing both keys
2021-04-26 15:20:29 +09:00
Dean Herbert
4898471d68
Merge branch 'master' into fix-editor-slider-repeat-animation
2021-04-26 14:43:22 +09:00
Dean Herbert
e8d83f2f99
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 14:33:30 +09:00
Salman Ahmed
0b9172a1dc
Animate back slider repeat and tail circle pieces
2021-04-26 02:39:49 +03:00
Pasi4K5
6e85c4e069
Change randomisation process to keep distances between objects
...
Remove now unnecessary settings;
Remove spinners;
Sliders are not implemented yet
2021-04-25 23:57:01 +02:00
Pasi4K5
08821da954
Change mod description
2021-04-25 01:43:32 +02:00
Pasi4K5
f33f1b2bed
Remove class "ModRandomOsu" and adjust code
...
Add documentation comment for OsuModRandom
2021-04-25 01:34:39 +02:00
Pasi4K5
92f765b958
Change ModType from Fun to Conversion
2021-04-25 01:19:06 +02:00
Pasi4K5
817bb5213c
Make OsuAutoGenerator spin the cursor around the position of the spinner instead of a set value
...
This is to make Autoplay work with randomised spinner positions
2021-04-25 00:46:35 +02:00
Pasi4K5
961bd1177c
Add mod "Random" for ruleset "osu!"
2021-04-25 00:39:36 +02:00
Dan Balasescu
50f37ef09c
Merge pull request #12519 from peppy/editor-hit-animation-toggle
...
Add editor hit animation toggle
2021-04-22 20:49:21 +09:00
smoogipoo
d4d78f7434
Merge branch 'master' into legacy-scores-classic-mod
2021-04-22 18:44:20 +09:00
Dean Herbert
0f70469d1c
Only apply custom editor overrides if hit animations is disabled
2021-04-21 19:44:17 +09:00
Dean Herbert
f2824a222a
Adjust existing fades to close match stable editor
2021-04-21 19:41:15 +09:00
Dean Herbert
47a4a07024
Split out animation triggering of MainCirclePiece
to be interface driven
2021-04-21 19:15:10 +09:00
Salman Ahmed
e90d791754
Add base "classic" mod
2021-04-21 09:14:19 +03:00
Dean Herbert
6164902eba
Merge pull request #12510 from smoogipoo/fix-wiggle-slider-tails
...
Fix slider tails wiggling independently
2021-04-21 11:30:13 +09:00
smoogipoo
e454037d82
Add to comment
2021-04-21 10:32:13 +09:00
Dan Balasescu
397df41570
Merge pull request #12507 from peppy/fix-cursor-position-rotated
...
Fix click-to-resume cursor location being incorrect when playfield is transformed
2021-04-21 10:29:35 +09:00
smoogipoo
9d423201ed
Fix slider tails wiggling independently
2021-04-21 10:29:18 +09:00
Dean Herbert
4910d8f56c
Fix click-to-resume cursor location being incorrect when playfield is transformed
...
Closes #12501 .
2021-04-21 00:12:49 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
...
Add background and audio checks
2021-04-21 00:10:32 +09:00
Dan Balasescu
86772869da
Merge pull request #12498 from peppy/barrel-roll-faster-spin
...
Allow faster roll speed selection in "Barrel Roll" mod
2021-04-20 20:39:45 +09:00
Dean Herbert
ac0ed72d04
Keep hitcircles aligned with view in "Barrel Roll" mod
2021-04-20 18:36:11 +09:00
Dean Herbert
f11b068dee
Allow faster roll speed selection in "Barrel Roll" mod
2021-04-20 18:22:58 +09:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks
2021-04-20 02:36:13 +02:00
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Dean Herbert
510e54ff54
Update framework
2021-04-19 23:41:21 +09:00
Naxess
56bf49c85c
Take IWorkingBeatmap
instead of WorkingBeatmap
...
This makes testing much easier, and allows for checking of any class deriving from that interface, including `WorkingBeatmap`.
2021-04-18 01:21:20 +02:00
Naxess
448574e7e6
Use WorkingBeatmap
instead of IBeatmap
...
This lets us access things like the background, track, etc. which are necessary for quality and filesize checks.
Also improves the structure of the `CheckBackgroundTest` class in the process.
2021-04-17 17:33:53 +02:00
Salman Ahmed
c1082ddb9a
Add space before the unit
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2021-04-17 06:28:07 +03:00
Salman Ahmed
892a8a7cd2
Remove unnecessary comma
2021-04-17 04:23:48 +03:00
Salman Ahmed
78c8508784
Remove unused using directive
...
gotta git gud
2021-04-17 03:52:08 +03:00
Salman Ahmed
d5a1e00feb
Improve "barrel roll" mod settings description
2021-04-17 03:32:47 +03:00
Dean Herbert
f824105075
Merge branch 'master' into fix-slider-zero-length
2021-04-16 18:47:22 +09:00
Dan Balasescu
7648d6f7fb
Merge pull request #12443 from peppy/fix-slider-scale-crash
...
Fix div-by-zero when scaling a 1-dimensional slider
2021-04-16 17:31:42 +09:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
...
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
Dean Herbert
401bf368a7
Merge branch 'fix-slider-scale-crash' into fix-slider-zero-length
2021-04-16 16:58:19 +09:00
Dean Herbert
8de68e0ebf
Fix div-by-zero when scaling a 1-dimensional slider
2021-04-16 16:55:26 +09:00
Dean Herbert
ff408b852e
Handle scaling a slider below minimum length
2021-04-16 15:45:24 +09:00
Dean Herbert
89373638be
Handle control point deletion when the resulting slider would be too short to be useful
2021-04-16 15:45:24 +09:00
Dean Herbert
2949a6bbdc
Handle control point drag revert
2021-04-16 15:45:24 +09:00
Dean Herbert
d38e294d96
Centralise length validation function
2021-04-16 15:45:24 +09:00
Dean Herbert
965a1ead36
Disallow zero-length slider blueprint placements
2021-04-16 14:38:30 +09:00
ekrctb
a965e8a75d
Remove AutoGenerator workaround of now-fixed issue
2021-04-16 14:13:41 +09:00
ekrctb
91c7d8d26c
Introduce StartFrame
and EndFrame
to simplify the replay interpolation code
2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de
Make FramedReplayInputHandler.CurrentTime non-null
2021-04-16 14:13:41 +09:00
Dean Herbert
5c0ef55691
Rename SliderPlacementState
to make way for more generic version
2021-04-16 14:09:35 +09:00
Dan Balasescu
587973be25
Merge pull request #12405 from frenzibyte/top-left-cursor
...
Add support for legacy skin's `CursorCentre` setting
2021-04-16 00:30:53 +09:00
smoogipoo
34859a4760
Invalidate drawnode on change
2021-04-15 23:37:05 +09:00
Dan Balasescu
3374895e40
Merge branch 'master' into mod-barrel-roll
2021-04-15 22:15:26 +09:00
smoogipoo
1a987dfbc0
Fix gameplay cursor showing offscreen
2021-04-15 21:16:38 +09:00
Dean Herbert
698a9d3fed
Add rotation direction setting
2021-04-15 14:40:03 +09:00
Dean Herbert
23eb1c655c
Add missing description
2021-04-15 14:37:47 +09:00
Dean Herbert
7469849e7c
Merge branch 'abstract-mod-description' into mod-barrel-roll
2021-04-15 14:37:17 +09:00
Dean Herbert
346e36d32a
Make Mod.Description
abstract and add missing descriptions
2021-04-15 14:36:26 +09:00
Dean Herbert
0d32290cd5
Show roll speed in rotations-per-minute
2021-04-15 13:15:52 +09:00
Dean Herbert
362a5a39d0
Scale the playfield to avoid off-screen objects
2021-04-15 13:15:42 +09:00
Dean Herbert
a209415942
Add "Barrel Roll" mod
2021-04-14 16:52:29 +09:00
Salman Ahmed
367dafab56
Apply CursorCentre
to old-style legacy cursor trail
2021-04-14 08:20:18 +03:00
Salman Ahmed
ad53ababe8
Fix wrong default
...
Ah, soz
2021-04-14 08:16:46 +03:00
Salman Ahmed
bf5ed12b75
Add support for legacy skin CursorCentre
setting
2021-04-14 06:33:54 +03:00
Dean Herbert
1ff4e2076f
Merge branch 'master' into verify-tab
2021-04-13 23:05:48 +09:00
Dean Herbert
03ba04e8ce
Split out general checks into its own verifier class (and remove static
usage)
2021-04-13 19:50:22 +09:00
Naxess
304fe5cd34
Add CheckBackground
to OsuBeatmapVerifier
2021-04-13 10:41:02 +02:00
Naxess
60c2494b31
Make BeatmapVerifier
an interface
2021-04-13 10:40:56 +02:00
Naxess
c8cb4286f6
Add reference for screen bounding box numbers
2021-04-13 10:35:06 +02:00
Dean Herbert
fbc6fb8fc5
Split out common logic into private method and add inline comment for future visitors
2021-04-13 15:35:57 +09:00
Naxess
6d3f9fa9ce
Use is
class instead of Equals
with template index
...
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d9e3276d0e
Don't update path type once immediately
2021-04-12 19:18:22 +02:00
Naxess
19a154ddf1
Rename checkOrigin
-> check
...
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0
Remove check ctors and locals
2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282
Remove redundant parameter naming
2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021
Move nested classes to bottom of file
2021-04-12 23:36:10 +09:00
Naxess
7c4f6d2b62
Rework template usage
...
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
Naxess
a2fc9c398f
Rename CreateChecker
-> CreateBeatmapVerifier
2021-04-12 10:08:30 +02:00
Naxess
65ebdd8f7a
Move check origin from IssueTemplate
to Issue
...
As a result we can also make check an interface, and need to provide the check itself when constructing an issue.
2021-04-12 10:08:08 +02:00
Dean Herbert
8bf85d737c
Change Metadata into a get property
2021-04-12 15:52:29 +09:00
Dean Herbert
8c31e96cdf
Change some methods to get properties
2021-04-12 15:52:18 +09:00
Dean Herbert
f78239c7f2
Move enums out of nesting
2021-04-12 15:52:18 +09:00
Dean Herbert
1c553b5d48
Checker -> BeatmapVerifier
2021-04-12 15:29:05 +09:00
Dean Herbert
14bd5bdc77
Merge branch 'master' into verify-tab
2021-04-12 15:14:37 +09:00
Dean Herbert
e2470d757e
Merge branch 'master' into legacy-spm-counter
2021-04-12 12:52:52 +09:00
Joseph Madamba
a42714540b
Add follow delay setting to osu! flashlight mod
2021-04-10 23:04:15 -07:00
Naxess
dac733cced
Fix field name and accessibility
2021-04-10 15:49:57 +02:00
Naxess
3289bb0379
Merge Check
and BeatmapCheck
...
We're probably not going to need GeneralChecks or BeatmapsetChecks.
The verify tab is only available to a single difficulty at a time, and we already have access to the rest of the set through `IBeatmap`.
2021-04-10 14:56:30 +02:00
Naxess
bc4f3351f3
Replace checks with realistic ones
2021-04-10 13:03:16 +02:00
Naxess
d1007ff26a
Move components to more appropriate spot
2021-04-10 13:02:22 +02:00
Dean Herbert
cceb10cc85
Merge pull request #12337 from Naxesss/slider-path-segments
...
Improve UX of correcting invalid slider path types
2021-04-09 19:26:49 +09:00
Naxess
f64b2095bf
Carry over the previous path type
2021-04-09 11:04:00 +02:00
smoogipoo
f2e811928b
Rework slider hackery to not overwrite Samples
2021-04-09 15:28:08 +09:00
smoogipoo
8efa381d3a
Actually use whistle sample for sliderwhistle
2021-04-08 23:13:16 +09:00
smoogipoo
7d291ed7d7
Don't serialise OriginalSamples
2021-04-08 20:57:50 +09:00
smoogipoo
7713c8a45f
Add support for sliderwhistle
2021-04-08 20:20:09 +09:00
Naxess
9a675a2219
Correct 4+ point perfect curves to Bezier
2021-04-08 12:33:43 +02:00
Naxess
be4520fe33
Fix index out of range possibility
2021-04-08 11:46:00 +02:00
Naxess
0341023d13
Improve UX of selecting PerfectCurve
2021-04-08 09:06:28 +02:00
Naxess
725edfcbf3
Add path type menu change method
2021-04-08 09:05:35 +02:00
Dean Herbert
a8839792fd
Merge branch 'master' into circular-arc-freeze
2021-04-08 14:33:03 +09:00
Naxess
d6490899e2
Simplify slider path bindings
...
Adds a slight performance overhead, but solves the memory leak and makes the code much easier to follow.
2021-04-08 03:21:56 +02:00
Naxess
d1d56c636a
Convert pathTypes
to local variable
...
Not entirely sure what holds the reference to pathTypes now (the binding to`slider.Path.ControlPoints` maybe?), but this does seem to work still.
2021-04-08 01:43:06 +02:00
Naxess
b8ab1c7682
Track path type changes for PointsInSegment
2021-04-07 17:19:12 +02:00
Naxess
9c4604e3c5
Add example checks
2021-04-07 14:36:53 +02:00
Naxess
0343ef7f14
Add ruleset-specific checker
2021-04-07 14:36:43 +02:00
Dean Herbert
784552022f
Merge pull request #12303 from smoogipoo/fix-last-control-point-segmenting
...
Make last control point not able to make an implicit segment
2021-04-06 13:35:55 +09:00
smoogipoo
42e816fcae
Add failing tests
2021-04-05 17:48:29 +09:00
Samuel Cattini-Schultz
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
smoogipoo
9c3d15171c
Reword xmldoc slightly
2021-04-02 18:00:28 +09:00
Amber
5ac36a2462
Switch AlwaysPlaySample to SamplePlaysOnlyOnHit in DrawableSliderTail for conformity
2021-04-02 03:56:23 -05:00
Amber
48e9985782
Make "AlwaysPlayTailSample" a mod setting rather than a hardcoded constant.
2021-04-02 03:10:28 -05:00
Amber
5063cd957f
Force hit sample to play when Classic mod is enabled
2021-04-02 02:54:35 -05:00
Naxess
7e47922fb7
Merge branch 'master' into circular-arc-freeze
2021-04-01 17:09:45 +02:00
Naxess
5022a78e80
Check current point instead of start point
...
Since each control point will call this when the path updates, the previous would correct the start segment 3 times instead of just once.
This fixes that.
2021-03-31 20:25:46 +02:00
Naxess
75b8f2535f
Move updatePathTypes to PathControlPointPiece
...
Here we produce a local bound copy of the path version, and bind it to update the path type.
This way, if the path version updates (i.e. any control point changes type or position), we check that all control points have a well-defined path.
Additionally, if the control point piece is disposed of, the GB should also swoop up the subscription because of the local bound copy.
2021-03-31 20:09:56 +02:00
Dean Herbert
b82247aabe
Add inline comments and use Vector2.Zero
2021-03-30 14:13:16 +09:00
Dean Herbert
eda45e0e28
Merge branch 'master' into scale-breaking-bounds
2021-03-30 14:05:19 +09:00
Dean Herbert
9504fe3f3c
Inline add of spm calculation (no need for it to be a separate call)
2021-03-30 13:43:05 +09:00
Salman Ahmed
f848ef5347
Add legacy spinner SPM counter support
2021-03-30 04:19:23 +03:00
Salman Ahmed
0bf84e473d
Refactor spinner SPM counter for skinning purposes
2021-03-30 04:19:23 +03:00
Naxess
70d5b616f2
Add scaling path type recovery
2021-03-29 15:49:49 +02:00
Leon Gebler
17b16d4f89
Clarify purpose of getClampedScale()
2021-03-29 14:17:30 +02:00
Leon Gebler
1d99a63f17
Limit minimum size for single slider scaling
2021-03-29 14:16:27 +02:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy
2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Leon Gebler
a50c4be8ab
Add missing space
2021-03-26 17:41:36 +01:00
Leon Gebler
305c2e31cf
Clarify todo comment
2021-03-26 16:53:17 +01:00
Leon Gebler
25ea60cb92
Remove return values from HandleScale submethods
2021-03-26 16:40:10 +01:00
Leon Gebler
5d272bef97
Remember ContolPoint positions instead of recalculating them
2021-03-26 16:31:04 +01:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Nathan Alo
2bea69456e
remove implementations
2021-03-26 15:24:33 +08:00
Naxess
51f0477df4
Move bounding box logic to framework
2021-03-26 04:42:46 +01:00
Naxess
ce9130ca50
Remove determinant limit
...
This has since been added into the framework through https://github.com/ppy/osu-framework/pull/4302
2021-03-25 17:38:55 +01:00
Salman Ahmed
bada1e7189
Update legacy spinner bonus counter usage
2021-03-25 15:00:06 +03:00
Salman Ahmed
6aa0c9d8fd
Merge branch 'master' into legacy-sprite-text-fonts
2021-03-25 14:52:01 +03:00
Dean Herbert
b4bccc19ba
Refactor LegacySpriteText initialisation
2021-03-25 18:37:13 +09:00
Dean Herbert
c715b9b89e
Merge branch 'master' into legacy-spinner-bonus
2021-03-25 18:09:25 +09:00
Naxess
9df059b01d
Add bounding box limit
2021-03-24 17:25:28 +01:00
Leon Gebler
e67ab3cca7
Change single slider scaling to a method that works
2021-03-24 12:24:11 +01:00
Leon Gebler
3d471d239f
Clamp multi-object scale instead of cancelling it
2021-03-24 12:24:11 +01:00
Leon Gebler
def0e5c42e
Fix off-by-one error in isQuadInBounds
2021-03-24 12:24:11 +01:00
Naxess
e0240ab9d9
Increase exterior threshold
2021-03-24 05:55:34 +01:00
Naxess
4ae3eaaac6
Move path type correction
...
This is better because `PathControlPointVisualizer` is local to the editor, meaning there is no chance that this could affect gameplay.
2021-03-24 03:02:19 +01:00
Naxess
0bcd38e661
Simplify path type maintenance when dragging
2021-03-24 02:57:47 +01:00
Naxess
5ee280f941
Update PointsInSegment when adding/removing points
...
There was a bug where if you created a slider, moved the last point, and then added a point such that it became a PerfectCurve, it would fail to recover after becoming a Bezier.
This fixes that.
2021-03-24 02:56:32 +01:00
Dan Balasescu
ade542191a
Merge pull request #12154 from peppy/fix-hitcircle-glow-fade-out
...
Fix default skin's glow resetting fade on miss
2021-03-23 20:14:51 +09:00
Dean Herbert
d10ff615fe
Fix default skin's glow resetting fade on miss
2021-03-23 19:28:08 +09:00
Dean Herbert
64e85ba995
Always fade out approach circles at a HitObject's start time to better match stable
2021-03-23 19:19:07 +09:00
Dan Balasescu
9e38d580ca
Merge pull request #12139 from peppy/fix-editor-spinner-looping-too-long
...
Fix spinners playing looping sound too long in the editor
2021-03-23 17:44:07 +09:00
Dean Herbert
098005393e
Remove unnecessary null checks and debug code
2021-03-23 10:38:37 +09:00
Naxess
067178e537
Maintain path type when dragging/placing
2021-03-22 15:59:06 +01:00
smoogipoo
e60ff45b73
Add another test for colinear perfect curves
2021-03-22 16:57:40 +09:00
Dean Herbert
c4d08463ad
Fix spinners playing looping sound too long in the editor
...
The `OnComplete` event was never being run due to the transform playing
out longer than the spinner's lifetime. I've matched the durations, but
also moved the `Stop()` call to what I deem a safer place to run it (I
did notice that without this it would still potentially never fire).
Note that this is more noticeable in the editor because of lifetime
extension. In gameplay, the returning of a spinner to the pool will
clean things up (but in the editor that can take longer, depending on
timeline zoom level).
Another thing worth mentioning is that the fade doesn't actually work.
This is due to https://github.com/ppy/osu-framework/pull/4212 .
Closes #12119 .
2021-03-22 16:04:51 +09:00
Bartłomiej Dach
e67c759eef
Mark control point visualiser as possibly-null
2021-03-19 22:44:31 +01:00
Bartłomiej Dach
9634560d4b
Fix control point visualiser crashing after deselections
...
`SliderSelectionBlueprint.OnDeselected()` would expire the
`ControlPointVisualiser` on deselection, leading to its removal from the
blueprint and eventual disposal, but still kept a separate reference to
said visualiser in another field.
This could lead to that stale reference to a disposed child getting read
in `ReceivePositionalInputAt()`, crashing quite a ways down over at the
framework side on futilely trying to compute the bounding box of a
drawable with no parent.
2021-03-19 21:40:22 +01:00
Dean Herbert
27c38db14d
Add tooltips for slider path nodes which aren't inheriting
2021-03-19 16:58:08 +09:00
Dean Herbert
5f31304d05
Give each type of slider path type a unique colour to help visually distinguish them
2021-03-19 14:00:26 +09:00
Nathan Alo
51e0304c54
properly format strings per ruleset
2021-03-17 18:31:09 +08:00
smoogipoo
7fa5fd5647
Update usages of config with framework changes
2021-03-17 16:10:16 +09:00
Salman Ahmed
848adddd92
Use double.ToString(InvariantInfo)
instead
2021-03-15 11:05:29 +03:00
Salman Ahmed
779c55d768
Fix potentially adding null legacy text to hierarchy
2021-03-14 03:27:47 +03:00
Salman Ahmed
43c1e1d217
Update existing usages
...
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Salman Ahmed
115c186cb7
Move hit circle font from osu! ruleset
2021-03-13 06:05:36 +03:00
Salman Ahmed
98f6e16113
Move default spinner bonus counter to new DefaultSpinner
2021-03-13 05:59:42 +03:00
Salman Ahmed
774ebf50bc
Move legacy spinner bonus counter to LegacySpinner
2021-03-13 05:59:42 +03:00
Salman Ahmed
8fdab5a7de
Revert legacy spinner presence changes and bonus counter component
...
No longer necessary, after inlining legacy coordinates logic to `LegacySpinner` and limiting precisely-positioned legacy components there
2021-03-13 05:57:47 +03:00
Salman Ahmed
020a03e01e
Use sensible "score per tick" constant
2021-03-13 05:56:28 +03:00
Salman Ahmed
c4048c9831
Merge branch 'master' into legacy-spinner-bonus
2021-03-13 05:54:34 +03:00
Dean Herbert
e3813ab828
Merge branch 'master' into legacy-spinner-placements
2021-03-12 19:47:34 +09:00
smoogipoo
ea9b48d17d
Remove unused using
2021-03-11 21:21:48 +09:00
smoogipoo
b5bdf235ca
Slightly improve comments more
2021-03-11 21:21:44 +09:00
smoogipoo
8bc494b224
Adjust explanatory comments
2021-03-11 20:57:00 +09:00
Dean Herbert
1591d593e2
Move spin start time to inside result and switch to standard state handling
2021-03-11 12:58:15 +09:00
Salman Ahmed
3f34981664
Fix incorrect spinner top offset calculation with clarification
2021-03-11 05:40:20 +03:00
Dean Herbert
4e8bcc9265
Fix SPM counter decreasing after spinner has already been completed
2021-03-09 16:54:46 +09:00
Dean Herbert
5a6864eb78
Fix SPM counter immediately disappearing on completion of spinners
2021-03-09 16:54:46 +09:00
Salman Ahmed
0549395869
Inline "legacy coordinates container" and add "spinner Y centre" const
2021-03-09 08:55:32 +03:00
Salman Ahmed
bb79da1aac
Correct playfield shift counteract comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-09 00:34:00 +03:00
Salman Ahmed
0ad3073c1a
Use MathF utility class instead
...
Co-authored-by: Berkan Diler <b.diler@gmx.de>
2021-03-07 21:21:44 +03:00
Salman Ahmed
fbfaa378fc
Move spinner top offset constant outside
2021-03-07 20:47:16 +03:00
Salman Ahmed
413cbb30a0
Reword playfield shift counteract comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-03-07 13:39:46 +03:00
Salman Ahmed
30f07aa9fc
Add legacy spinner bonus counter piece
2021-03-06 20:27:56 +03:00
Salman Ahmed
3f1d36ee6b
Add default spinner bonus counter piece
2021-03-06 20:27:56 +03:00
Salman Ahmed
c441e993ff
Separate "gained bonus" to a read-only bindable
2021-03-06 20:27:56 +03:00
Salman Ahmed
1841a4d1c9
Extract legacy spinner presence to lazy field
2021-03-06 20:27:56 +03:00
Salman Ahmed
e4afe717d5
Publicize legacy coordinates container and sprite scale
2021-03-06 20:27:56 +03:00
Salman Ahmed
1525480e73
Demonstrate value of SPINNER_TOP_OFFSET
to being more sensible
2021-03-06 19:18:40 +03:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
Salman Ahmed
d528ef426f
Reposition legacy spinner components in-line with osu!stable
2021-02-28 22:59:22 +03:00
Salman Ahmed
41b43dd39a
Add nested legacy-simulating coordinates container
2021-02-28 21:32:56 +03:00
Dean Herbert
8004652d27
Merge branch 'master' into optimised-has-flag-checks
2021-02-25 21:24:39 +09:00
Dean Herbert
90e8308716
Merge branch 'master' into localisation-refactor-framework
2021-02-25 17:28:55 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
Dean Herbert
0c202e0777
Merge branch 'master' into fix-selecting-incompatible-freemods
2021-02-24 19:24:04 +09:00
smoogipoo
14160b897e
Fix references to ModSuddenDeath
2021-02-24 14:44:53 +09:00
Leon Gebler
877e19421b
Refactor movement while scaling
2021-02-23 21:02:00 +01:00
Leon Gebler
2a4139a207
Refactor isQuadInBounds
2021-02-23 21:02:00 +01:00
Leon Gebler
71b30bdbbb
Adjust tuple usage
2021-02-23 21:02:00 +01:00
Leon Gebler
3491021f72
Move moveSelection into HandleMovement
2021-02-23 21:02:00 +01:00
Dean Herbert
1fd76ea3fb
Apply changes to UI components overriding functions with changing signatures
2021-02-22 19:01:42 +09:00
smoogipoo
ca92ad715a
Add test
2021-02-22 13:32:54 +09:00
Leon Gebler
33985d9e7c
Rewrite scaling bounds check to behave more intuively
2021-02-21 18:11:32 +01:00
Leon Gebler
2c6f92d12f
Move bounds check from moveSelection to HandleMovement
2021-02-21 17:38:50 +01:00
Leon Gebler
562a4cefdb
Simplify HandleScale by extracting methods
2021-02-21 12:12:32 +01:00
Leon Gebler
0b8009938a
Prevent selection from breaking playfield bounds when scaling
2021-02-21 00:14:39 +01:00
Leon Gebler
cc4c5f72d8
Move logic to keep selection in bounds into it's own method
2021-02-21 00:14:39 +01:00
Samuel Cattini-Schultz
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Dan Balasescu
cb4d119f23
Merge pull request #11740 from peppy/editor-fix-slider-samples-new-placement
...
Fix newly placed sliders in the editor not playing hitsounds
2021-02-12 13:31:00 +09:00
Dean Herbert
f84ea30637
Expose Mods in DrawableRuleset to avoid using external DI
2021-02-11 17:47:29 +09:00
Dean Herbert
aaa0362b12
Merge branch 'master' into autoplay-rate-independence
2021-02-11 17:39:45 +09:00
Dean Herbert
db79080bc4
Fix GetNodeSamples potentially returning a live reference and overwriting existing samples
2021-02-11 17:14:49 +09:00
Dean Herbert
4710a12774
Merge branch 'master' into classic-mode-flags
2021-02-11 16:21:55 +09:00
smoogipoo
5d1d6ec1cb
Fix inverted calculation
2021-02-10 22:09:24 +09:00
smoogipoo
20a6405fd2
Add explanatory comments + const
2021-02-10 22:06:19 +09:00
smoogipoo
bd2486e5a0
Fix grammatical error in comment
2021-02-10 21:27:12 +09:00
smoogipoo
1d425b8322
Simplify case
2021-02-10 21:25:31 +09:00
smoogipoo
4a391ce03d
Fix div-by-0 when 0 ticks are hit
2021-02-10 21:24:41 +09:00
smoogipoo
be9b07a4cf
Merge branch 'master' into difficulty-adjustment-extension
2021-02-10 20:42:08 +09:00
smoogipoo
c458c4cfae
Fix unintended changes due to renaming or otherwise
2021-02-10 20:27:47 +09:00
smoogipoo
0dcdad9839
Adjust comment for DrawableSliderHead
2021-02-10 19:04:23 +09:00
smoogipoo
6bf40170db
Rename SliderBall flag
2021-02-10 18:53:26 +09:00
smoogipoo
a16f4cee3a
Adjust DrawableSlider comment
2021-02-10 18:52:39 +09:00
smoogipoo
2fcc4213e1
Rename IgnoreJudgement -> OnlyJudgeNestedObjects
2021-02-10 18:46:26 +09:00
smoogipoo
9519b7f7c1
Adjust comment
2021-02-10 18:43:14 +09:00
smoogipoo
18a29dcb96
Rename bindable member, reorder binds
2021-02-10 18:42:24 +09:00
smoogipoo
6730c4c58b
Apply review comments (user explanations + property names)
2021-02-10 18:41:28 +09:00
smoogipoo
cf06684ad1
Judge heads as slider ticks instead
2021-02-10 18:38:31 +09:00
Dean Herbert
1cb51fa8d2
Merge branch 'master' into autoplay-rate-independence
2021-02-09 16:05:34 +09:00
Dean Herbert
695e46a358
Fix AutoPilot mod failing to block touch input
2021-02-09 15:31:55 +09:00
Dean Herbert
b96a594546
Remove unnecessary initial call to HitObjectApplied bound method
...
Was causing test failures. Looks to be unnecessary on a check of when
HitObjectApplied is invoked.
2021-02-09 15:11:59 +09:00
smoogipoo
7021d1dfdc
Merge branch 'hit-policy-refactor' into classic-mode-flags
2021-02-08 20:12:33 +09:00
smoogipoo
f4a31287bf
Add/use IHitObjectContainer interface instead of IEnumerables
2021-02-08 20:11:06 +09:00
smoogipoo
d955200e07
Prevent invalid hit results for ignored slider heads
2021-02-08 11:10:14 +09:00
smoogipoo
2218247b21
Override mod type
2021-02-08 11:07:50 +09:00
Bartłomiej Dach
0e1ec703d3
Use IApplicableToRate in osu! auto generator
2021-02-07 18:49:31 +01:00
Bartłomiej Dach
3fabe247b0
Allow OsuModGenerator to accept a mod list
2021-02-07 18:35:34 +01:00
Bartłomiej Dach
68c20a2a37
Allow autoplay score generation to access mod list
2021-02-07 18:35:34 +01:00
smoogipoo
a5855f5d28
Move follow circle tracking to DrawableSliderHead
2021-02-05 17:33:48 +09:00
smoogipoo
ee3367d7c5
Add classic slider ball tracking
2021-02-05 17:14:23 +09:00
smoogipoo
3aa3692ed4
Disable snaking out when tracking is disabled
2021-02-05 15:56:13 +09:00
smoogipoo
6aece18f8d
Add OOHP tests
2021-02-05 15:36:47 +09:00
smoogipoo
a4551dc1ee
Add object-ordered hit policy
2021-02-05 15:36:47 +09:00
smoogipoo
6c78d308a4
Merge branch 'hit-policy-refactor' into classic-mode-flags
2021-02-05 15:36:43 +09:00
smoogipoo
8adf37d958
Add SetHitObjects() to IHitPolicy instead of using ctor
2021-02-05 15:25:03 +09:00
smoogipoo
08aae011c1
Add IHitPolicy interface
2021-02-05 15:25:03 +09:00
smoogipoo
df1df81847
Better indicate ordering
2021-02-05 15:25:03 +09:00
smoogipoo
0528469b44
Rename OrderedHitPolicy -> StartTimeOrderedHitPolicy
2021-02-05 15:25:03 +09:00
smoogipoo
3b5c67a063
Add OsuModClassic
2021-02-03 23:08:59 +09:00
smoogipoo
2f22dbe06b
Make sliders display judgements when not ignored
2021-02-03 22:42:50 +09:00
smoogipoo
03b7817887
Add flags to return to classic slider scoring
2021-02-03 22:12:20 +09:00
smoogipoo
623b47f9af
Add flag to toggle follow circle tracking for slider heads
2021-02-03 21:55:19 +09:00
Bartłomiej Dach
ae08ef2543
Reset SPM counter state on DHO application
2021-01-29 20:32:45 +01:00
Dean Herbert
d521bfc251
Don't directly update HandleUserInput (as it is used by mods)
2021-01-30 02:35:11 +09:00
Dean Herbert
5a306dfc2b
Fix unused using
2021-01-29 20:22:25 +09:00
Dean Herbert
f25809d35f
Ensure spinners only handle input during their hittable time
...
While this was already being enforced inside of `CheckForResult`, the
internal tracking values of rotation were still being incremented as
long as the `DrawableSpinner` was present. This resulted in incorrect
SPM values being displayed if a user was to start spinning before the
object's `StartTime`.
Kind of annoying to write a test for (there's no setup for spinners yet)
but am willing to do so if that is deemed necessary.
Closes https://github.com/ppy/osu/issues/11600 .
2021-01-29 19:55:55 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
Dean Herbert
000c7dd07b
Merge pull request #11502 from peppy/fix-spinner-spinning-weirdness
...
Fix some issues with spinner spin sound
2021-01-18 22:50:32 +09:00
Dan Balasescu
95963f2fa2
Merge pull request #11526 from peppy/fix-editor-repeat-slider-adjustment
...
Fix sliders with an even number of repeats not allowing rotation/scale transforms
2021-01-18 18:56:25 +09:00
Dean Herbert
707d5346c9
Merge branch 'master' into fix-spinner-spinning-weirdness
2021-01-18 18:26:44 +09:00
Dean Herbert
2f1d4bf51b
Add missing braces
2021-01-18 17:13:47 +09:00
Dean Herbert
c79ab63743
Fix sliders with an even number of repeats not allowing rotation/scale transforms
2021-01-18 16:59:16 +09:00
Dean Herbert
02d2b2742b
Fix selection box not updating with hitcircles/sliders far in the future or past
2021-01-18 16:57:36 +09:00
smoogipoo
1b166d809e
Adjust package titles
2021-01-18 11:08:03 +09:00
smoogipoo
ec00aaef90
Add nuget deploys for all rulesets
2021-01-18 10:53:31 +09:00
Dean Herbert
14b3323682
Use OnComplete instead of Finally to avoid potentially stopping on aborted transforms
2021-01-15 17:18:15 +09:00
Dean Herbert
311f8b7017
Only restart spinning sample if it was not already playing
2021-01-15 17:17:51 +09:00
Dean Herbert
767c76921f
Adjust transition time of spinner sound
2021-01-15 17:17:28 +09:00
Bartłomiej Dach
1ba586a683
Revert overlooked AR<8 speed buff
...
Pull request #11107 introduced changes in osu! performance calculation,
related to a scaling coefficient applied to the speed and aim skills.
The coefficient in question was dependent on the approach rate of
a map. During a post-merge review of that PR, it was spotted that
the scaling coefficient for speed also had a 10x buff applied for AR<8,
which could reach magnitudes as large as 80% on AR0, which seems quite
exorbitant. This change was not discussed or mentioned anywhere in the
review process.
Revert back to the old multiplier of 0.01 rather than 0.1 for AR<8. The
negative slope through AR0 to 8 is retained in its previous form.
2021-01-13 17:59:29 +01:00
Bartłomiej Dach
303cc62ee7
Transfer flags indicating if settings were changed
2021-01-06 22:46:46 +01:00
TheOmyNomy
355ecc4499
Change cursor trail blending mode to match stable
2020-12-29 12:37:57 +11:00
Dean Herbert
a411b26a09
Remove unnecessary clamp
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2020-12-24 10:51:24 +09:00
Dean Herbert
dec997c0f4
Fix flashlight not updating its position during replay rewinding
...
Closes #11260
2020-12-23 14:44:38 +09:00
Dean Herbert
87176edca1
Fix crash when attempting to scale two hitobjects on the same axis
2020-12-22 12:52:57 +09:00
Bartłomiej Dach
569caa9500
Merge branch 'master' into add-bundle-header
2020-12-17 20:55:24 +01:00
Dean Herbert
76ffe31855
Merge pull request #11138 from smoogipoo/stanr-nf-multiplier
...
Port StanR's NF multiplier changes
2020-12-17 18:59:46 +09:00
Dean Herbert
88b3bf06e8
Merge branch 'master' into add-bundle-header
2020-12-16 13:40:15 +09:00
Dan Balasescu
8bdef0ff55
Code quality fix
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-12-15 13:18:41 +09:00
Xexxar
54827d4e96
fixed low 50s count still penalizing high obj count maps
2020-12-14 12:41:24 -06:00
Dean Herbert
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
Dan Balasescu
66f43e523b
Merge pull request #11147 from Xexxar/miss-penalty-curve
...
Change miss penalty curve for speed and aim pp awarded in the osu! ruleset
2020-12-14 14:25:26 +09:00
Xexxar
1dce446c52
Merge branch 'miss-penalty-curve'
2020-12-11 10:49:31 -06:00