Dean Herbert
6729bb3e1a
Change FrameStableClock
to inherit IGameplayClock
2022-09-08 18:24:18 +09:00
Dean Herbert
c6521e4c72
Rename ordering helper method
2022-09-08 17:50:27 +09:00
Dan Balasescu
b559d4ecdf
Rename GameplayAdjustments -> AdjustmentsFromMods
2022-09-08 17:14:06 +09:00
Acid Chicken (硫酸鶏)
267465df18
chore(osu.Game): combine Osu.Colour.{Draw,Text}ForHitResult
into OsuColour.ForHitResult
2022-09-07 23:34:46 +09:00
Acid Chicken (硫酸鶏)
54f0bb797e
refactor(osu.Game): remove nullable optouts in HitResult.cs
2022-09-07 23:32:45 +09:00
Dean Herbert
75d0deef72
Apply proposed changes to remove inheritance from MasterGameplayClockContainer
2022-09-07 17:49:05 +09:00
Dean Herbert
bc1212f4e6
Change NonGameplayAdjustments
to GameplayAdjustments
and convert TrueGameplayRate
to extension method
2022-09-06 22:26:46 +09:00
Dean Herbert
44b456e216
Use gameplay clock's TrueGameplayRate
in FrameStabilityContainer
?
2022-09-05 23:38:22 +09:00
Acid Chicken (硫酸鶏)
074d2a7a3a
chore(osu.Game): provide ordering index for HitResult
2022-09-05 02:01:44 +09:00
Acid Chicken (硫酸鶏)
5f0832ead7
refactor(osu.Game): separate OsuColour.ForHitResult
by usage
2022-09-05 01:58:57 +09:00
Dean Herbert
6a35b233e5
Merge branch 'master' into remove-dispose-updates
2022-09-01 23:03:19 +09:00
Dean Herbert
7337d4c1aa
Merge branch 'master' into kps
2022-08-31 15:41:42 +09:00
Dan Balasescu
e3e204001e
Merge pull request #19907 from peppy/ruleset-api-versioning
...
Add ruleset API versioning
2022-08-29 18:50:01 +09:00
Dean Herbert
9b830d063f
Merge pull request #20010 from smoogipoo/scoreprocessor-no-rewrite-statistics
...
Don't include misses in failed score statistics
2022-08-29 17:07:13 +09:00
Dean Herbert
105aa01e7d
Update usages of RemoveInternal
2022-08-29 15:57:40 +09:00
Dean Herbert
a215d009fe
Update Remove
/RemoveRange
/RemoveAll
calls in line with framework changes
2022-08-29 15:57:40 +09:00
Dan Balasescu
81ac0daba8
Update xmldoc
2022-08-29 15:51:12 +09:00
Dan Balasescu
b2e80ca7f0
Don't include misses in failed score statistics
2022-08-29 15:27:19 +09:00
Dean Herbert
90b9c02ac6
Remove "internal"
identifier as unnecessary
2022-08-29 14:01:15 +09:00
Dan Balasescu
c0b13c7e1f
Refactor ScoreProcessor ComputeScore() methods
2022-08-29 13:51:10 +09:00
Dan Balasescu
91e044542d
Merge pull request #19828 from peppy/no-gameplay-clock-gameplay-offset
...
Introduce `FramedBeatmapClock` (and use in gameplay flow)
2022-08-26 20:21:34 +09:00
Dan Balasescu
9bca7223f6
Adjust xmldoc to better explain score contribution
2022-08-25 17:16:30 +09:00
Dan Balasescu
e2e10a8f26
Add some explanatory comments to conditions
2022-08-25 17:14:53 +09:00
Dean Herbert
3a17c6df08
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-25 16:24:55 +09:00
Salman Ahmed
eb57ea76ab
Merge branch 'master' into legacy-combo-increase
2022-08-25 09:46:12 +03:00
Ryuki
5cddc7ed1f
Code cleanup (CPS)
2022-08-24 17:13:23 +02:00
Dan Balasescu
e7cbb6c63d
Fix test failures/nullability
2022-08-24 19:53:16 +09:00
Dan Balasescu
c9ff39f8c3
Add HitResult.LegacyComboIncrease
2022-08-24 19:46:41 +09:00
Dan Balasescu
5ec95c9269
Update ScoreProcessor to make use of MaximumStatistics
2022-08-24 19:46:41 +09:00
Dean Herbert
f3847b90fd
Tidy up attach logic
2022-08-24 19:36:01 +09:00
Dean Herbert
5129716612
Merge branch 'master' into kps
2022-08-24 18:18:45 +09:00
Dan Balasescu
f70af779a4
Add maximum statistics to ScoreInfo/SoloScoreInfo
2022-08-24 17:28:41 +09:00
Dean Herbert
ec61a94dc9
Merge branch 'master' into no-gameplay-clock-gameplay-offset
2022-08-23 17:36:06 +09:00
Dean Herbert
758a554180
Add basic check for correct ruleset API version
2022-08-22 16:35:08 +09:00
Dean Herbert
f5710d8000
Add ruleset API versioning
2022-08-22 16:35:08 +09:00
Dan Balasescu
3fb3a18e68
Merge pull request #19906 from peppy/fix-editor-crash-mobile
...
Fix editor crashing on mobile releases
2022-08-22 16:31:19 +09:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
...
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Dean Herbert
19bba143ee
Fix editor crashing on mobile releases
2022-08-22 15:57:24 +09:00
Dean Herbert
d199b3b100
Update GetVariantName
to also support localisation
2022-08-22 14:51:00 +09:00
Dean Herbert
9d31f61ca9
Don't throw when a ruleset type is completely missing
2022-08-22 14:35:44 +09:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
Dean Herbert
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
Dean Herbert
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
Dean Herbert
b0a740071e
Centralise logging of failed ruleset loads
2022-08-18 16:14:38 +09:00
Dean Herbert
e0edaf996f
Test ruleset compatibility during initial startup to avoid runtime errors
...
As we continue to break the ruleset API, it makes more sense to
proactively check known changes and bail early during ruleset loading to
avoid a user experiencing a crash at a random point during execution.
This is a RFC and needs to be tested against known broken rulesets.
There might be some other calls we want to add in addition to the ones
I've listed.
2022-08-18 16:03:38 +09:00
Dean Herbert
43442dbf65
Merge branch 'even-less-gameplay-clock' into even-nicer-frame-stability-clock
2022-08-15 20:22:30 +09:00
Dean Herbert
87760bbc06
Fix IsCatchingUp
not being in correct state
2022-08-15 20:17:48 +09:00
Dean Herbert
1fc3d005c0
Seal FrameStabilityContainer
...
No one should ever derive from this class. It is already too complex.
2022-08-15 19:31:02 +09:00
Dean Herbert
fff2b57905
Tidy up and document FrameStabilityContainer
2022-08-15 19:28:12 +09:00
Dean Herbert
9bc2e91de0
Fix incorrect handling of reference clocks when no parent IGameplayClock
is available
2022-08-15 19:19:19 +09:00
Dean Herbert
828b6f2c30
Remove unnecessary setClock
shenanigans
2022-08-15 19:19:19 +09:00
Dean Herbert
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
Dean Herbert
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
Dean Herbert
95c1b488a7
Add non-null assertion to FrameStabilityContainer
2022-08-15 18:08:49 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization
2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7
Localise hit result name
2022-08-14 14:57:02 -04:00
Ryuki
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond"
2022-08-14 20:12:11 +02:00
Ryuki
9dc806506e
Make ActionListener
and KeysPerSecondCalculator
not rely on events to add timestamps
2022-08-14 19:31:14 +02: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
Ryuki
9b252b1d81
Make KeysPerSecondCalculator
dependency in HUDOverlay
nullable
2022-08-11 11:58:30 +02:00
Ryuki
3c6461b9e4
Remove KPS acronym usage
2022-08-11 10:01:39 +02:00
naoei
1e356f6137
Revert localisation for GetDisplayNameForHitResult
...
Came across an issue where `LeaderboardScoreTooltip` attempts to capitalize all letters for the `displayName`.
Unsure if I should completely ignore it and localise it anyway.
2022-08-10 16:03:59 -04: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
f9c6dc314b
Merge pull request #19678 from peppy/fix-file-comparisons-many-places
...
Fix audio track not correctly advancing when changing between certain beatmaps
2022-08-10 20:38:14 +09:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
its5Q
abca3d1b2a
Prefix common strings for context
2022-08-10 00:35:19 +10:00
Ryuki
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
...
gathering
KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
its5Q
5080d62e77
Add missing localisation for settings enums
2022-08-08 21:51:23 +10: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
dc49862466
Merge branch 'irenderer-shaders' into irenderer-textures
2022-08-02 19:25:24 +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
e06f39a69f
Apply IRenderer shader changes
2022-07-30 01:29:11 +09: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
Dan Balasescu
ce694123eb
Move spectator begin/end playing to SubmittingPlayer
2022-07-28 20:44:04 +09:00
Dean Herbert
ef10145d6f
Rename MenuCursorContainer
and clean up code
2022-07-26 14:11:52 +09:00
Bartłomiej Dach
d0e15d04cc
Merge branch 'master' into mod-overlay/preset-panel
2022-07-22 19:23:09 +02:00
Dan Balasescu
d9105c9785
Merge pull request #19272 from peppy/beatmap-background-reprocessing
...
Add background beatmap processing
2022-07-22 20:33:26 +09:00
Bartłomiej Dach
de0a076eb6
Add model class for mod presets
2022-07-21 23:29:21 +02:00
Dean Herbert
68f28ff660
Add last applied version to RulesetInfo
2022-07-21 18:15:25 +09:00
Dean Herbert
aca19a005e
Add versioning to difficulty calculators
2022-07-21 18:15:25 +09:00
Salman Ahmed
a97170a272
Keep Rank
bindable enabled on score fail
2022-07-21 08:16:17 +03:00
Salman Ahmed
9df49db45f
Include bonus/ignore judgements in statistics fill logic
2022-07-21 08:13:09 +03:00
Salman Ahmed
ad09e728fd
Move Passed
assignment inside FailScore
2022-07-21 08:12:06 +03:00
Salman Ahmed
c1bcbd9c8a
Fix fail score not handling bonus/tick-only beatmaps
2022-07-21 07:20:59 +03:00
Salman Ahmed
0f0b19da4a
Populate score with remaining "miss" statistics on fail/exit
2022-07-21 06:01:36 +03:00
Salman Ahmed
c4089b71bd
Store maximum score results from simulated autoplay
2022-07-21 06:00:41 +03:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings
2022-07-20 08:57:43 +03:00
Dan Balasescu
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
Salman Ahmed
8f80a22ef9
Fix osu! and catch hitobjects no longer scaled to 1 by default
2022-07-19 07:00:13 +03:00
Salman Ahmed
5ddb5a3d74
Introduce HitObjectProperty<T>
2022-07-19 05:39:10 +03: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
Dean Herbert
8dbe24fd7c
Simplify colour assigning logic and remove system mod colour for now
2022-07-12 14:36:50 +09:00
為什麼
8e1ed1c621
Mark CreateHitObjectComposer() accept null.
...
And add the null check in the test case.
2022-07-10 10:15:27 +08:00
為什麼
57c6763556
Mark the CreateBeatmapProcessor()
as nullable.
...
Also, should add the null check in the working beatmap.
2022-07-10 10:15:27 +08:00
為什麼
d39f53f1f0
Mark CreateConfig()
return type as nullable because it's not required all ruleset to implement.
...
Also, remove nullable disable annotation for all using classes.
Setting store can be nullable because `RulesetConfigManager()` can accept null setting store.
2022-07-10 10:15:27 +08:00
為什麼
857377e145
Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
...
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
為什麼
e67cb4c905
Mark create beatmap verifier as nullable because seems it's not requirement to be implemented.
2022-07-10 10:10:43 +08:00
為什麼
4a503bab0a
Remove unnecessary attribute.
2022-07-10 10:10:43 +08:00
為什麼
855debd5f6
Remove nullable disable annotation and mark some return value as nullable.
2022-07-10 09:29:17 +08:00
Adam Baker
7ced84b7ef
Replace switch statement with ForModType
...
In order to make `highlightedColour` dependent on the mod type color, the color is converted to an `osu.Framework.Graphics.Colour4` and calls `Lighten`.
2022-07-08 03:23:58 -05:00
Adam Baker
89f1c75f7a
Update mod icon colors
2022-07-07 21:57:18 -05:00
andy840119
59e3d4b9e5
Remove the nullable disable annotation in the Ruleset.Filter namespace.
2022-07-03 21:00:54 +08:00
andy840119
ea573f314e
Remove the nullable disable annotation in the Rulesets.Replays namespace in the osu.game project.
2022-07-02 13:08:25 +08:00
Dan Balasescu
edc4ace17e
Attach DT with NC, SD with PF, and Cinema with Autoplay
2022-06-30 11:52:30 +09:00
Dean Herbert
6c64cea057
Catch a second location
2022-06-29 18:56:15 +09:00
Dean Herbert
b092e6937a
Guard against ruleset icon creation failures to avoid whole game death
2022-06-29 18:51:07 +09:00
Dan Balasescu
2989803b71
Merge branch 'master' into speed-acc-scaling
2022-06-29 16:15:20 +09:00
Joseph Madamba
aacded0ecf
Fix difficulty adjust settings having more padding on sliders
2022-06-28 07:33:05 -07:00
Dan Balasescu
0fd2c010e5
Remove NRT disables from attributes classes
2022-06-27 16:07:15 +09:00
Dan Balasescu
0579780bb8
Add IBeatmapOnlineInfo parameter and use to extract more data
2022-06-27 16:07:15 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511
Merge branch 'master' into c-sharp-10
2022-06-24 21:22:33 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dan Balasescu
a7de43ade6
Add attribute ID
2022-06-21 19:31:45 +09:00
Dan Balasescu
e0c82d11ab
Convert == usages to ReferenceEquals
2022-06-20 16:56:19 +09:00
Dean Herbert
bd5037fcad
Fix new hitobject placements not taking on the existing sample settings
...
Similar to velocity / difficulty points, a user expectation is that
volume and sample settings will be transferred to newly placed objects
from the most recent one.
Closes https://github.com/ppy/osu/issues/18742 .
2022-06-18 13:49:59 +09:00
Dan Balasescu
fd9902e816
Manual #nullable processing
2022-06-17 16:38:35 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
ea191da496
Merge pull request #18728 from peppy/fix-unsafe-sample-playback
...
Fix unsafe sample playback in `GameplaySampleTriggerSource`
2022-06-17 12:26:46 +09:00
Dean Herbert
ec53d87c30
Fix unsafe sample playback in GameplaySampleTriggerSource
...
Resolves https://github.com/ppy/osu/issues/18727 .
Added delay from `Schedule` should be minimal as it is always called
from the `Update` thread (input propagation) anyway.
2022-06-16 16:04:57 +09:00
Bartłomiej Dach
30382b0445
Fill out GetModsFor()
xmldoc and annotate items as non-null
2022-06-15 17:40:15 +02:00
Dan Balasescu
6d2a2ba7d6
Rename Position -> Index
2022-06-09 18:49:11 +09:00
Dan Balasescu
f0ef2e610e
Merge branch 'master' into dho
2022-06-09 18:29:14 +09:00
Dan Balasescu
6351f652a2
Fix combo starting at 0 when spectating
2022-06-06 17:56:25 +09:00
Dan Balasescu
a638392e81
Rename member
2022-06-02 16:35:50 +09:00
Dan Balasescu
055845d4f5
Throw exception on access before ApplyBeatmap()
2022-06-02 16:34:45 +09:00
Dan Balasescu
e551e48697
Use ScoreInfo overload in more places
2022-06-02 11:01:46 +09:00
Dan Balasescu
425390e13b
Refactor to reduce nested conditions
2022-06-01 09:54:47 +09:00
Dan Balasescu
50c3dfca31
Apply code reviews
2022-06-01 09:54:47 +09:00
Dan Balasescu
1e0ee1b214
Expose MaximumScoringValues for user consumption
2022-05-31 19:49:37 +09:00
Dan Balasescu
93240073a6
Rename field + rewrite xmldoc a bit
2022-05-31 19:40:07 +09:00
Dan Balasescu
28d8799e11
Add overloads to + document + expose ExtractScoringValues
2022-05-31 19:40:07 +09:00
Dan Balasescu
d6d56ee22d
Fix unintentional truncation
2022-05-31 19:40:07 +09:00