1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 07:32:55 +08:00
Commit Graph

4343 Commits

Author SHA1 Message Date
Dean Herbert
da93849b80 Rename some pieces and better document SampleBankInfo 2022-10-25 14:55:33 +09:00
Dean Herbert
2b850694fa Merge branch 'allow-distance-grid-snap' into grid-momentary-shortcuts 2022-10-25 14:10:45 +09:00
Dean Herbert
d0e6bda9ef Stop HitObjectComposer from handling Shift+Number keys 2022-10-24 15:19:36 +09:00
Dean Herbert
f516e32949 Improve UI a bit 2022-10-21 23:35:53 +09:00
Dean Herbert
bb921ff9a7 Fix incorrect current DS value when inside a slider 2022-10-21 23:35:47 +09:00
Dean Herbert
f6de366766 Combine display and button into one control 2022-10-21 23:21:07 +09:00
Dean Herbert
645a84b1d6 Display current distance snap and add button to update to use it 2022-10-21 22:58:36 +09:00
Dean Herbert
7dc03097ff Change distance snap to never account for slider velocity
This is a nuanced detail that was implemented incorrectly from the
outset. When mapping, generally a mapper chooses the distance spacing
with no regard to the SV. It has always been common to have a lower
or higher distance spacing than SV, but with the way the lazer editor
has worked, the SV was multiplied into the distance snap grid display,
incorectly changing its spacing depending on the "reference object"
(which is usually the previous hitobject chronologically).
2022-10-21 21:51:24 +09:00
Dean Herbert
6cdfddea62 Always enable distance spacing when adusting distance space multiplier 2022-10-21 16:10:55 +09:00
Dan Balasescu
703a8afb11
Merge pull request #20809 from peppy/fix-taiko-broken-drum-roll-ticks
Fix taiko drum roll ticks sometimes overflowing outside the drum roll itself
2022-10-21 12:56:14 +09:00
Dean Herbert
5c13c443ff Fix incorrect fallback logic
Regressed when attempting to share implementation of binary search.
2022-10-20 23:08:44 +09:00
Dean Herbert
26860a903e Refactor implementation to support hitobjects nested multiple levels deep 2022-10-20 22:30:30 +09:00
Dean Herbert
d237c818f6 Fix nested objects in overlapping scrolling hit object container ruleset not using correct reference time 2022-10-18 16:15:21 +09:00
Dean Herbert
ec3761ced9 Standardise control point search logic in OverlappingScrollAlgorithm
Was using a very local algorithm which I cannot guarantee is correct.
I'd rather it just use the one used everywhere else.
2022-10-18 16:01:05 +09:00
Dean Herbert
860214c22a Adjust paddings to feel better now that backgrounds are visible of toolboxes 2022-10-18 14:38:45 +09:00
Dean Herbert
6a7f6c76ff Fix osu! editor padding being applied to toolboxes
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dean Herbert
ccbac08985
Merge pull request #20593 from ekrctb/catch-editor-height
Allow arbitrary height catch editor
2022-10-18 12:10:49 +09:00
Salman Ahmed
ba72f13f54 Merge branch 'master' into hide-mouse-on-keyboard-input 2022-10-14 22:26:30 +03:00
Dean Herbert
32c3e35762 Change background colour to a lighter tint to avoid clash with slider bars 2022-10-14 19:38:27 +09:00
Dan Balasescu
8a88339e78 Allow combo colour normalisation to be disabled 2022-10-14 14:37:24 +09:00
Dan Balasescu
15db65c037 Extract to struct, add dictionary term 2022-10-14 14:12:53 +09:00
Dean Herbert
4d99c7002b Add background behind editor toolbox groups 2022-10-13 16:36:19 +09:00
Dan Balasescu
4149235e63 Limit minimum brightness of combo colours 2022-10-13 14:05:33 +09:00
Salman Ahmed
4fb156ef4e Update xmlodc and add nullability attributes 2022-10-13 00:16:42 +03:00
Salman Ahmed
7a6ecaff0d Remove default invisible cursor container from rulesets 2022-10-12 17:50:47 +03:00
Salman Ahmed
84fdd2e107 Improve flashlight display on break periods 2022-10-11 17:16:57 +03:00
Salman Ahmed
9b45a9cf76 Rename various cursor symbols
- `IProvideCursor.MenuCursor` -> `IProvideCursor.Cursor`
 - `MenuCursor` -> `MenuCursorContainer
2022-10-11 16:21:01 +03:00
Dean Herbert
f060e6a780 Implement hold "sliding" samples in osu!mania 2022-10-11 16:31:37 +09:00
Dean Herbert
5a43cb6bb2
Merge pull request #20606 from sw1tchbl4d3r/barline_generator_improvements
Barline generator improvements
2022-10-11 01:31:30 +09:00
sw1tchbl4d3
5a4196fd51 Make currentEffectPoint non-nullable 2022-10-10 15:34:29 +02:00
sw1tchbl4d3
d389808427 Make effect point search more efficient 2022-10-10 14:00:26 +02:00
sw1tchbl4d3
eae32ca483 Switch DefinitelyBigger to AlmostBigger to account for fp errors 2022-10-10 09:39:40 +02:00
Salman Ahmed
2d4f390372 Remove non-smoke key bindings on "Relax" mod instead 2022-10-09 17:14:16 +03:00
sw1tchbl4d3
63ffaa6929 Respect OmitFirstBarLine effect 2022-10-07 20:38:32 +02:00
sw1tchbl4d3
903c8612c8 Move endTime to next timing point 2022-10-07 20:34:31 +02:00
Dan Balasescu
bce20e0a59 Merge branch 'master' into adjust-flashlight 2022-10-07 14:45:30 +09:00
Dan Balasescu
7385ef3e1b Extract combo scale to virtual function 2022-10-07 14:26:19 +09:00
ekrctb
9247ff3e0a Allow changing scrolling speed in catch editor
Scroll speed is not saved and doesn't affect gameplay.
It is purely a feature for a better visualization.
It is currently bind to scroll speed increase/decrease.
Default F3/F4 crashes with editor shortcuts so it has to be changed.
2022-10-06 18:06:16 +09:00
ekrctb
1cccd03480 Fix scrolling nested hit object lifetime not set 2022-10-04 15:17:14 +09:00
ekrctb
781f5420b0 Add test for scrolling hit object lifetime 2022-10-04 15:17:11 +09:00
ekrctb
5d80950eaf Compute lifetime from entry in scrolling container 2022-10-04 15:12:28 +09:00
Dan Balasescu
deae7cff60 Adjust flashliht scaling to match classic 2022-10-03 18:38:29 +09:00
Dan Balasescu
0df217d85c Add ability to adjust flashlight smoothness 2022-10-03 18:24:56 +09:00
Dan Balasescu
1890a66b28
Merge pull request #20509 from o-dasher/cleanup-setting-sources
Removes unnecessary setting sources specifications
2022-09-28 17:55:42 +09:00
Dan Balasescu
cbed268ac9
Merge pull request #20510 from sw1tchbl4d3r/high_bpm_judgements
Clamp `LifetimeStart` of `HitObject`s to their judgement windows
2022-09-28 17:49:35 +09:00
sw1tchbl4d3
0cffbb7562 Clamp LifetimeStart of HitObject's to their judgement windows 2022-09-27 16:54:24 +02:00
o-dasher
f3e25eacad Removes unnecessary setting sources specifications 2022-09-27 09:25:58 -04:00
Dean Herbert
c4887269f7 Avoid performing a realm write if there are no changes pending in RulesetConfigManager 2022-09-26 14:55:23 +09:00
o-dasher
feadac1f79 Cleanup all other leftover binding instantiation 2022-09-25 16:02:40 -04:00
o-dasher
537796c3a1 Cleanup mod bindings 2022-09-25 15:49:22 -04:00
Dean Herbert
78625fda7d Improve exception when attempting to call DrawableHitObject.ClearInternal 2022-09-22 14:44:03 +09:00
O Thiago
a4e9c7711c Fix when flashlight shrinking takes place 2022-09-18 18:59:17 -04:00
O Thiago
407b104116 Revert changes
This reverts commit beef3b418a.

Revert "Use linq expression for handling breaks"

This reverts commit 8464a1941b.

Revert "renames variables to make more logical sense"

This reverts commit 3b87ecf56c.

Revert "Removes overhead when not combo based size"

This reverts commit ac4229e3d4.
2022-09-18 18:57:53 -04:00
O Thiago
ac4229e3d4 Removes overhead when not combo based size 2022-09-18 00:38:01 -04:00
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
c7f8f948b9 Rename CreateLegacySkinProvider to CreateSkinTransformer and apply to all skins 2022-09-15 20:18:10 +09:00
Dan Balasescu
96a89f4fca
Merge pull request #20319 from peppy/remove-ef-migration
Remove all entity framework code and migrations
2022-09-15 19:15:23 +09:00
Dean Herbert
28b15e232d Remove all EF models 2022-09-15 16:59:36 +09:00
Dan Balasescu
e56ea58e71 Fix up xmldoc 2022-09-15 16:06:21 +09:00
Dan Balasescu
c847cc521e Add some inline comments 2022-09-15 16:00:35 +09:00
Dan Balasescu
68e4d22898 Precondition against entryMap intead of parentMap 2022-09-15 15:43:15 +09:00
Dan Balasescu
31bc067dd1 Don't store nulls to parentMap 2022-09-15 15:38:44 +09:00
Dean Herbert
5dc0d32e42 Apply NRT to hitobject lifetime related classes 2022-09-14 15:24:20 +09:00
ekrctb
c59aa57450 Remove createLifetimeEntry from HitObjectEntryManager 2022-09-14 15:19:33 +09:00
ekrctb
47539e2129 Add doc comments to HitObjectEntryManager 2022-09-14 15:19:05 +09:00
ekrctb
bde390828b Manage entries of nested hit objects in HitObjectEntryManager
- Fix nested hit objects are leaked when parent hit object is edited or deleted
2022-09-14 15:19:05 +09:00
ekrctb
a9eba27129 Factor out pooling logic from Playfield 2022-09-14 15:19:05 +09:00
Dean Herbert
6bf6b7e125 Fix null considerations in DrawableRulesetDependencies 2022-09-13 13:13:38 +09:00
Dean Herbert
9c2b0efbc7
Merge pull request #20262 from smoogipoo/scoreprocessor-computeaccuracy
Add `ScoreProcessor.ComputeAccuracy()`
2022-09-13 11:55:02 +09:00
Salman Ahmed
0ca4be5e5b Fix one more inspection 2022-09-13 03:45:31 +03:00
Salman Ahmed
69b9bae3b3
Merge branch 'master' into scoreprocessor-computeaccuracy 2022-09-13 03:09:52 +03:00
Dan Balasescu
27d4016ccb Add ScoreProcessor.ComputeAccuracy() 2022-09-12 18:37:55 +09:00
andy840119
3d7367a842 Move the CreateConvertibleReplayFrame() into the base ruleset class for avoid api breaking change in the customized ruleset. 2022-09-10 11:07:23 +08:00
andy840119
e62999fb16 Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
# Conflicts:
#	osu.Game.Rulesets.Catch/CatchRuleset.cs
#	osu.Game.Rulesets.Osu/OsuRuleset.cs
#	osu.Game.Rulesets.Taiko/TaikoRuleset.cs
#	osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08: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
Dean Herbert
d4afc3629c
Merge branch 'master' into kps 2022-09-08 23:00:36 +09:00
Dan Balasescu
9aab502adc
Merge pull request #20157 from peppy/true-gameplay-rate
Refactor `TrueGameplayRate` to account for only gameplay adjustments, no matter what
2022-09-08 19:54:32 +09:00
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