O Thiago
3b87ecf56c
renames variables to make more logical sense
2022-09-18 00:19:40 -04:00
O Thiago
8464a1941b
Use linq expression for handling breaks
2022-09-17 23:49:23 -04:00
O Thiago
beef3b418a
Simplifies size calculation
2022-09-17 23:41:23 -04:00
Dean Herbert
ec21ab8171
Reduce ramp mod multipliers in line with other difficulty change mods for now
...
Closes https://github.com/ppy/osu/issues/20204 .
Will require reprocessing of everything server-side.
2022-09-09 16:39:57 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization
2022-08-14 15:17:44 -04:00
Dan Balasescu
9d1b0b5836
Revert sealing
2022-08-12 22:32:27 +09:00
Dean Herbert
e5e9841652
Apply multiple other mod debuffs as decided in pull request discussion
2022-08-12 18:58:09 +09:00
Dean Herbert
ac4213ecee
Adjust relax mod multiplayer to 0.5x
...
Has previously been discussed internally. Probably good to get this out
before the next full reprocess of scores server-side.
The multiplier here was @smoogipoo's suggested value. I'd be willing to
go lower if this is seen at too high, but it should be a round number to
make it easy for users to understand the max score available to them.
2022-08-12 12:30:13 +09:00
naoei
60dae70a18
Change mod description type to LocalisableString
2022-08-10 15:54:48 -04:00
naoei
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04:00
Dan Balasescu
802dc90cb1
Adjust using directives for vertices
2022-08-05 20:37:33 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dan Balasescu
a2a913ab52
Merge branch 'irenderer-batches' into irenderer-textures
2022-08-02 19:25:08 +09:00
Bartłomiej Dach
cbabc4886c
Convert ModPreset
to realm object
2022-07-31 22:10:15 +02:00
Dan Balasescu
09979d44aa
Apply DrawNode batching changes
2022-07-29 23:32:09 +09:00
Dan Balasescu
155dac55d0
Apply DrawNode parameter changes
2022-07-29 22:33:34 +09:00
Bartłomiej Dach
de0a076eb6
Add model class for mod presets
2022-07-21 23:29:21 +02:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-20 08:57:43 +03:00
Dan Balasescu
ebb9861377
Merge branch 'master' into remove-nullable-disable-in-the-mods
2022-07-20 13:28:28 +09:00
Salman Ahmed
4210ec6502
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-19 19:21:26 +03:00
為什麼
317558f876
Mark the shader as non-nullable because shader should always has the value.
...
And initialize the breaks to avoid get the null instance.
2022-07-19 20:39:41 +08:00
為什麼
3af093cb27
Remove the null check because bindable should always have the value.
2022-07-19 20:39:41 +08:00
為什麼
ce1bb206c8
Initialize some bindables for prevent get the null instance.
2022-07-19 20:39:41 +08:00
andy840119
1f9f2b413e
Remove the nullable disable annotation.
...
Also, mark as nullable for some properties.
2022-07-19 20:39:41 +08:00
Dean Herbert
51f91fe62e
Update naming
2022-07-18 16:17:20 +09:00
Dean Herbert
eddf106f7c
Merge branch 'master' into score-country-storage
2022-07-18 16:12:40 +09:00
Salman Ahmed
6bfa5e53e0
Add property for whether mod uses default configuration
2022-07-18 07:29:03 +03:00
NotGumballer91
028653eb97
Update ModAdaptiveSpeed.cs
2022-07-18 00:10:49 +08:00
NotGumballer91
1caab78bdc
Update ModAutoplay.cs
2022-07-18 00:09:31 +08:00
Salman Ahmed
4e7156cee8
Store user country on databased scores
2022-07-16 06:39:05 +03:00
Joseph Madamba
aacded0ecf
Fix difficulty adjust settings having more padding on sliders
2022-06-28 07:33:05 -07:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Gabe Livengood
6e64a8f55e
use event to trigger failure
2022-06-10 13:13:35 -04:00
Gabe Livengood
21c5499da1
remove arbitrary from method name
2022-06-10 13:11:17 -04:00
Gabe Livengood
4b73c423bd
don't specify icon
2022-06-09 18:58:22 -04:00
Gabe Livengood
99dc2fbc3e
specify culture
2022-06-09 00:15:15 -04:00
Gabe Livengood
fdbec4f8c0
display tooltip accuracy as percentage
2022-06-08 23:44:34 -04:00
Gabe Livengood
dc75d55f72
allow modfailcondition to arbitrarily trigger fail
2022-06-08 14:02:15 -04:00
Gabe Livengood
6710df94a7
change max accuracy to 99%
2022-06-06 12:05:45 -04:00
Gabe Livengood
58d4aeb4fb
add accuracy calculation comment
2022-05-25 15:11:06 -04:00
Gabe Livengood
5944a15c30
review pass eins
2022-05-24 20:04:57 -04:00
Gabe Livengood
dde0756bed
add accuracy challenge mod
2022-05-24 10:23:44 -04:00
Dean Herbert
eabf578282
Use interface to convey beat sync information
2022-05-22 22:44:54 +09:00
Dean Herbert
2e21d75b10
Move metronome into own class and rename to avoid conflict with mod sounds
2022-05-20 17:30:04 +09:00
Salman Ahmed
82b784ce5a
Change IApplicableToSample
to receive adjustable component instead
...
Done for consistency with `IApplicableToTrack`.
2022-05-10 18:06:03 +03:00
Salman Ahmed
4f5001704e
Change IApplicableToTrack
to receive adjustable component instead
2022-05-10 18:06:03 +03:00
Salman Ahmed
bbbecbb6b7
Apply time-ramping adjustment using clock instead of track
2022-05-10 18:06:03 +03:00
Salman Ahmed
43c9058d09
Fix wrong obsolete message
2022-05-05 14:39:05 +03:00
Salman Ahmed
8501a41619
Bring back separate bool properties as non-cascading
2022-05-05 14:37:38 +03:00
Salman Ahmed
8488a29e9e
Renew obsoletion date
2022-05-04 17:22:11 +03:00
Salman Ahmed
20e277d2e5
Apply proposed naming changes
2022-05-04 17:12:17 +03:00
Salman Ahmed
e9ecf26b6a
Merge branch 'master' into multiplayer-disable-adaptive-speed
2022-05-04 17:12:03 +03:00
Bartłomiej Dach
6630b38c08
Make all ModRateAdjust
implementations incompatible with each other
2022-04-07 22:38:46 +02:00
Dean Herbert
e0d434b89f
Remove unused using statement
2022-03-31 11:34:32 +09:00
Dean Herbert
0cac935939
Shorten class name of ModCreatedReplayUser
2022-03-31 11:34:23 +09:00
Dean Herbert
2c1ccc7d36
Update obsolete message to match targeted developers' use case
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-31 11:33:26 +09:00
Dean Herbert
234bec45cc
Remove unnecessary logging
2022-03-31 11:32:00 +09:00
Salman Ahmed
6874cdf0c8
Remove unnecessary public
prefix in interface method
2022-03-31 01:50:46 +03:00
Bartłomiej Dach
83bae81095
Fill out ICreateReplayData
xmldocs
2022-03-30 22:04:54 +02:00
Bartłomiej Dach
9621a7f9cb
Merge branch 'master' into fix-autoplay-mod-user-id
2022-03-30 21:41:45 +02:00
Salman Ahmed
8d4356f23b
Mark "autoplay" and "cinema" mods as mutually exclusive
2022-03-29 17:26:02 +03:00
Salman Ahmed
9a09c97457
Fix "Barrel Roll" tooltip not limiting decimal places for spin speed
2022-03-29 16:11:44 +03:00
Dean Herbert
ea9495eb74
Update all existing calls to extension method with correct fallback handling
2022-03-29 16:51:30 +09:00
Dean Herbert
7d716adf39
Create new ICreateReplayData
interface and obsolete ICreateReplay
2022-03-29 16:51:30 +09:00
Dean Herbert
3fc8c23fe4
Remove unnecessary SetReplayScore
call in ModCinema
2022-03-29 16:51:30 +09:00
Dean Herbert
327477d050
Remove unnecessary SetReplayScore
call in ModCinema
2022-03-29 16:50:05 +09:00
Salman Ahmed
6cd67928ab
Simplify documentation of ModUsage
2022-03-23 15:48:52 +03:00
Salman Ahmed
b218046fa2
Remove redundant line from mod usage
2022-03-23 15:38:48 +03:00
Salman Ahmed
5f878ed82b
Delegate IsPlayable
to the obsoleted UserPlayable
by default
...
Handles consumers who still haven't updated to use `IsPlayable` yet.
2022-03-20 16:07:09 +03:00
Salman Ahmed
add9f3ec91
Rename multiplayer mod usages to make more sense
2022-03-20 13:12:24 +03:00
Salman Ahmed
820a672940
Reword xmldoc to make more sense
2022-03-20 06:37:08 +03:00
Salman Ahmed
70e943fbcc
ModUsage.Solo
-> ModUsage.User
2022-03-20 06:36:51 +03:00
Salman Ahmed
f2248ecc08
Update usages to use IsPlayable
instead
2022-03-18 02:11:18 +03:00
Salman Ahmed
51e5dd7d0e
Introduce IsPlayable(...)
and obsolete UserPlayable
2022-03-18 02:08:30 +03:00
Salman Ahmed
d90f21e140
Reword mod documentation
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-03-18 00:13:40 +03:00
Salman Ahmed
b3ac544d65
Revert "Consider UnknownMod
to be "playable in multiplayer""
...
This reverts commit 07e9f3780a
.
2022-03-17 06:31:51 +03:00
Salman Ahmed
07e9f3780a
Consider UnknownMod
to be "playable in multiplayer"
2022-03-17 05:15:48 +03:00
Salman Ahmed
187059a37f
Replace hardcoded overrides with the newly introduced Mod
properties
2022-03-17 03:51:27 +03:00
Salman Ahmed
d90a334853
Introduce multiplayer playability and free mod validity in Mod
2022-03-17 03:48:56 +03:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Dean Herbert
eaef27595c
Also mark UnknownMod
as not user-playable
2022-03-10 15:33:50 +09:00
Dean Herbert
02f44d7061
Merge branch 'master' into fix-mod-conversion-exceptions
2022-03-09 18:07:42 +09:00
Dean Herbert
0267aed846
Change ToMod
to return an UnknownMod
rather than throw if a mod isn't available
...
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).
Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.
```
An unhandled has occurred.
System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Henry Lin
8b8b54b58f
Scale rate adjustments based on hit timing consistency and tweak some related numbers
2022-03-05 21:48:57 +08:00
Henry Lin
76d257fbe4
Merge branch 'master' into mod-adaptive-speed
2022-03-04 15:16:37 +08:00
Henry Lin
f72c9a1f41
Cap speed change per hit and apply a speed decrease on miss
2022-03-04 11:48:48 +08:00
Henry Lin
b66af7edf4
Rename approximatedRates
to ratesForRewinding
and update xmldoc
2022-03-04 11:03:57 +08:00
Bartłomiej Dach
fcefd3c725
Fix slightly wrong references in xmldocs
2022-03-03 17:39:55 +01:00
Bartłomiej Dach
3797871aa0
Add extended documentation of adaptive speed mod machinations
2022-03-03 17:25:49 +01:00
Bartłomiej Dach
ffaf5b729f
Move and reword docs of allowable rate range constants
2022-03-03 17:07:43 +01:00
Henry Lin
464be6e64c
Only call IUpdatableByPlayfield.Update
if the playfield isn't nested
2022-03-03 14:37:39 +08:00
Henry Lin
4ce2044e4c
Reorder members
2022-03-03 13:09:41 +08:00
Henry Lin
9c2aa51194
Rename applyPitchAdjustment
to adjustPitchChanged
2022-03-03 13:07:30 +08:00
Henry Lin
ae71dcceeb
Convert comments to xmldoc
2022-03-03 13:03:53 +08:00
Henry Lin
09254407fe
Interpolate speed change using IUpdatableByPlayfield
2022-03-03 12:09:36 +08:00
Henry Lin
51258dbab4
Use binary search in ApplyToBeatmap
2022-03-03 11:21:20 +08:00
Henry Lin
95a40c5dc5
Remove pointless comment
2022-03-03 10:43:30 +08:00
Henry Lin
ff7f65de27
Extract duplicated conditionals
2022-03-03 10:43:04 +08:00
Henry Lin
55737226a3
Use Enumerable.Repeat
2022-03-03 10:18:36 +08:00
Henry Lin
d335a2229f
Tweak average_count
2022-03-02 21:07:57 +08:00
Henry Lin
17bc714297
Allow the mod to properly react to nested hit objects
2022-03-02 20:48:57 +08:00
Henry Lin
6caecf79a0
Use smooth speed change
2022-03-02 20:08:05 +08:00
Henry Lin
c6934b4bce
Improve adaptive speed algorithm and add rewind support
2022-03-02 10:35:03 +08:00
Henry Lin
783f43ccfb
Add initial rate setting
2022-03-02 09:57:52 +08:00
Henry Lin
c9b205afeb
Add adaptive speed mod
2022-03-02 09:57:52 +08:00
Dean Herbert
7307e68e9c
Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
...
This reverts commit 252b945d3b
, reversing
changes made to a1b39a96cf
.
2022-02-17 13:26:12 +09:00
Dean Herbert
23933fc881
Update xmldoc to mention that multipliers are not applied anywhere
2022-02-16 17:32:22 +09:00
Dan Balasescu
4c1413e0c7
No longer require Mod implementation
2022-02-16 16:36:02 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits
2022-02-02 20:41:25 +01:00
Salman Ahmed
074a691635
Set keyboard step to 0.1
for difficulty adjust sliders
2022-02-02 17:43:08 +03:00
Bartłomiej Dach
8c3fbb6eb4
Merge branch 'master' into Liswiera-FL-changes
2022-01-24 21:32:36 +01:00
Bartłomiej Dach
a227af75ed
Simplify flashlight parameter passing flow
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
5874475dff
Extract DefaultFlashlightSize
to base flashlight class
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
a7c0d507ce
Rename flashlight settings to be more accurate
2022-01-24 21:03:02 +01:00
mk-56
948867898c
ModeMultiplier rename
2022-01-24 11:38:52 +01:00
mk-56
161a2a321e
Remove bindable from ModeMultiplier
2022-01-24 09:07:07 +01:00
mk-56
ed84ae0ac0
Adjust values to Bdach's refined taste
2022-01-24 00:42:43 +01:00
Bartłomiej Dach
735414bc49
Replace TimeSignatures
enum with struct for storage of arbitrary meter
2022-01-22 20:50:31 +01:00
mk-56
955bab926f
Separate the settings for each modes radiuses
2022-01-22 19:38:56 +01:00
MK56
b5f813a949
Merge branch 'ppy:master' into Liswiera-FL-changes
2022-01-22 19:04:39 +01:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
mk-56
57cc2f7893
Adjustment to size values of FL per mode
2022-01-16 14:26:26 +01:00
mk-56
ee4331dda4
Merge remote-tracking branch 'origin/Liswiera-FL-changes' into Liswiera-FL-changes
2022-01-15 21:44:03 +01:00
mk-56
2a59735525
Initial commit
2022-01-15 21:43:28 +01:00
Dean Herbert
51251e3204
Fix CI reported warnings
2022-01-12 22:39:00 +09:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
JamesTheGeek
828072bcea
Fix issue #15869
...
The taiko-slider is not included in `Playfield`, so it doesn't get hidden when calling `drawableRuleSet.Playfield.Hide()`. Calling `drawableRuleSet.Hide()` hides the taiko-slider, in addition to the rest of the `Playfield`.
2021-12-14 23:23:11 -05:00
ekrctb
116b857cea
Merge branch 'master' into no-scope-catch
2021-11-10 20:50:31 +09:00
Semyon Rozhkov
41f4f0ab5e
Different setting slider description in each mod
2021-11-10 03:57:22 +03:00
Semyon Rozhkov
64bc8da14c
Add "No Scope" mod implementation for Catch
2021-11-09 17:11:19 +03:00
Salman Ahmed
eb5e7402c3
Remove obsolete method in ModAutoplay
2021-11-07 16:15:57 +03:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
Dean Herbert
a743a3f306
Change combo bind logic to be non-weird
2021-09-17 19:15:14 +09:00
smoogipoo
2d39131202
Refactor taiko flashlight a bit
2021-09-17 18:41:03 +09:00
Dean Herbert
c3531e1361
Move more specification from Mod
to IMod
2021-09-10 12:42:53 +09:00
Dean Herbert
719392de39
Change CreateInstance
to use Activator.CreateInstance
instead of clone
2021-09-10 12:05:10 +09:00
Dean Herbert
cf633973a9
Refactor exposed mod retrieval methods for better safety
2021-09-10 11:09:13 +09:00
Dean Herbert
c25ab6835c
Remove IJsonSerializable interface
...
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
Salman Ahmed
84637b59ef
Define DifficultyBindableWithCurrent
and use in SliderControl
2021-08-25 07:40:41 +03:00
Salman Ahmed
072560ba3e
Remove leftover unused using
2021-08-19 07:17:43 +03:00
Salman Ahmed
102320f8ae
Merge branch 'master' into mod-settings-difficulty-cache
2021-08-19 06:35:13 +03:00
Salman Ahmed
1ae4a1910a
Cache mod settings rather than fetching everytime
2021-08-18 09:17:42 +03:00
Salman Ahmed
8c5d99ab21
Override CreateInstance()
in osu! bindable subclasses
...
Three bindables are left which don't have this overriden due to them
already not having a value-only constructor and not supporting
`GetBoundCopy()` properly:
- `BeatmapDifficultyCache.BindableStarDifficulty`.
- `TotalScoreBindable`
- `TotalScoreStringBindable`
I could add support for them by passing the required data to them, as
they seem to be able to have that shared, but I'm hesitant to support
something which was already broken and never used, not sure.
2021-08-18 04:19:58 +03:00
Salman Ahmed
060ba0692d
Add hash code support for Mod
2021-08-17 04:27:04 +03:00
Salman Ahmed
855fff1486
Fix DifficultyAdjustSettingsControl.SliderControl
not following up with the current pattern
...
This was causing any `ValueChanged` event bind (such as the one in
`SettingsItem` to invoke `SettingsChanged`) to be overwritten when
`Current` is set afterwards.
2021-08-16 12:47:58 +03:00
PercyDan
6ecc728c01
Remove override
2021-08-12 10:27:36 +08:00
PercyDan
d80a2dcca7
Missed one
2021-08-12 10:14:01 +08:00