1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 14:52:55 +08:00
Commit Graph

2152 Commits

Author SHA1 Message Date
StanR
cca02a8016 Create PerformanceAttributes 2021-12-21 13:08:31 +03:00
StanR
2f2006715e Slightly refactor difficulty and pp calculators 2021-12-17 23:40:23 +03:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
9f688f6291 Stop persisting Skills in DifficultyAttributes 2021-11-21 12:15:32 +09:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers 2021-11-17 20:49:31 +09:00
Dan Balasescu
815179f713 Use consts for attribute IDs 2021-11-17 20:31:18 +09:00
Dean Herbert
369b4ba789 Update DifficultyCalculator to take an IRulesetInfo 2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca Update DifficultyCalculator to take an IWorkingBeatmap 2021-11-15 19:16:48 +09:00
Dan Balasescu
c8a01c35f7 Remove extra members from FromDatabaseAttributes 2021-11-15 18:11:07 +09:00
Dan Balasescu
0cfd6fdf04 Add to/from database mapping functions to difficulty attributes 2021-11-15 16:06:50 +09:00
Dan Balasescu
907499f73a Add json properties to difficulty attributes 2021-11-15 16:06:29 +09:00
Bartłomiej Dach
6d30248cef
Merge branch 'master' into use-class-rename 2021-11-07 15:41:00 +01:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Dean Herbert
6399c695e8 Update usages of BufferedContainer in line with framework changes 2021-11-05 15:54:49 +09:00
Dean Herbert
9b705460db Remove trailing exclamation marks from autoplay character names
As mentioned in
https://github.com/ppy/osu/discussions/15401#discussioncomment-1573839.
2021-11-02 14:53:58 +09:00
Dean Herbert
5c7623e68e
Merge pull request #15255 from goodtrailer/node-samples-ilist
Change IHasRepeats.NodeSamples to IList from List
2021-10-28 14:24:26 +09:00
Dean Herbert
add39fbd4f Merge branch 'master' into fix-skin-layout-editor-crash 2021-10-28 06:24:24 +09:00
Dean Herbert
95837990f3 Apply some second-pass inspections that appeared after previous changes 2021-10-27 13:09:30 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
goodtrailer
4440b9ca11 Change IHasRepeats.NodeSamples to IList from List 2021-10-23 01:59:07 -07:00
Dean Herbert
93482414d6 Remove SkinConfiguration subclasses and allow configuration parsing for all skin types 2021-10-22 14:42:23 +09:00
Dean Herbert
8672b3325a Fix a couple more weird variable names 2021-10-19 17:22:50 +09:00
Dean Herbert
61670a70b6 Tidy up tracked settings code syntax and fix remaining issue 2021-10-19 17:21:07 +09:00
Dan Balasescu
e49f1f6e6b
Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-13 20:17:57 +09:00
smoogipoo
e30e5bd214 Remove int casts in other calculators 2021-10-10 16:23:35 +09:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dan Balasescu
e837a3511d
Merge branch 'master' into beatmap-difficulty-more-interface-usage 2021-10-06 12:18:51 +09:00
Dean Herbert
bd84a8b749 Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage 2021-10-05 18:21:21 +09:00
smoogipoo
031c5a441e Merge branch 'master' into realtime-pp-display 2021-10-04 20:19:37 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
smoogipoo
5820a71652 Fix mania difficulty calculator crashing 2021-10-01 19:57:45 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
Dean Herbert
46bafb6252 Merge branch 'master' into no-more-difficulty-control-points-info 2021-09-28 13:53:56 +09:00
Dean Herbert
93e33fa94d
Use true comparison rather than null coalesce fallback
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-09-21 14:08:54 +09:00
Dean Herbert
98f1c1cc29 Avoid allocating list storage in Pattern until first usage
Patterns can often be constructed only to never be used.
2021-09-20 16:02:03 +09:00
Dean Herbert
03291e3897 Avoid LINQ overhead in PatternGenerator.isValid 2021-09-20 15:09:27 +09:00
Dean Herbert
0d58530dbe Reduce overhead of ColumnHasObject calls by storing column usage separately 2021-09-20 15:09:27 +09:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder 2021-09-18 14:38:38 +02:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
smoogipoo
34bde293ab Fix tests 2021-09-15 13:26:39 +09:00
smoogipoo
c009e1473d Add extra safety check 2021-09-14 17:47:12 +09:00
smoogipoo
63aa3ddcba Add animation support for mania notes 2021-09-14 17:45:23 +09:00
Bartłomiej Dach
922fa96d41
Fix notes not updating snap colour on application 2021-09-12 18:18:55 +02:00
Dean Herbert
1c3c32b724 Add test ensuring converter doesn't modify original beatmap 2021-09-10 00:00:12 +09:00
Dean Herbert
b16e0cda3d Move control point modification to ConvertBeatmap method 2021-09-09 23:45:32 +09:00
Dean Herbert
3c7a34bdbd Move mania-specific conversion to converter 2021-09-06 21:06:13 +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
1a26658ba4 Add description for mania special style 2021-09-05 13:40:49 +09:00
Dean Herbert
25420af078 Rename method to drop redundant ruleset suffix 2021-09-05 13:34:23 +09:00
Dean Herbert
d587dc6203 Populate new approach rate where required 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
Bartłomiej Dach
565f147a5c
Add special style setting for osu!mania 2021-09-02 23:29:14 +02:00
Dean Herbert
b907c2f4f6 Fix osu! judgements getting scaled twice over different durations 2021-09-02 16:31:43 +09:00
Dean Herbert
6aa894e55e Split out separate component 2021-08-25 16:56:44 +09:00
Dean Herbert
6252b8aa42 Fix hold notes handling all input ever 2021-08-24 19:08:04 +09:00
Xexxar
176b3e7533 changed decay system to allow for customizing the currentStrain 2021-08-16 22:14:29 +00:00
Henry Lin
7251c28c4a Merge branch 'master' into mod-muted 2021-07-29 21:14:03 +08:00
Henry Lin
e89f33483d Code formatting fixes 2021-07-28 21:52:01 +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
Gabe Livengood
49160e4482
review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option 2021-07-26 10:46:41 -04:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault() extension 2021-07-18 21:52:16 +02: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
smoogipoo
05234d6c30 Fix mania hitobjects not appearing early enough 2021-07-16 19:33:34 +09:00
smoogipoo
3ac58d6838 Fix min/max values not being passed to inner time range 2021-07-16 19:32:31 +09:00
smoogipoo
fa8e5013c5 Adjust mania speed range 2021-07-16 18:22:34 +09:00
Dean Herbert
5b91111eda Update SettingsSubsection.Header to accept a LocalisableString 2021-07-15 13:09:51 +09:00
Bartłomiej Dach
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
Dean Herbert
1b0aadcc6f Merge branch 'master' into transformers-per-skin 2021-06-22 16:03:15 +09:00
ekrctb
a4f362dca6 Remove lifetime override of DrawableManiaHitObject
The `AlwaysAlive` logic is now in all DHOs and it is now not necessary (and potentially conflicting).
2021-06-17 10:15:24 +09:00
ekrctb
9dcd0bf311 Remove IPlayfieldProvider by caching Playfield 2021-06-17 10:15:24 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin 2021-06-16 16:37:28 +09:00
ekrctb
ef96ceb4ab Introduce IPlayfieldProvider 2021-06-15 14:43:04 +09:00
ekrctb
d0e57f7dd9 Use HitObject instead of DHO for mania selection blueprint layout
- Fix moving selected hold note between columns will cause a crash
2021-06-15 13:20:51 +09: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
Salman Ahmed
cf40282f1f Convert LegacySkinTransformers to accept raw ISkins rather than a full ISkinSource 2021-06-09 22:49:31 +03:00
Dean Herbert
d248bbd4c8 Use candidate skin for mania skin key lookup rather than this 2021-06-09 15:00: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
Samuel Cattini-Schultz
f1bef989b7 Refactor DifficultyAttributes to use auto properties over public fields 2021-06-08 19:43:59 +10: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
06275a6a7d Merge branch 'master' into legacy-skin-default-fallback 2021-06-04 16:00:30 +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
Samuel Cattini-Schultz
f51413ead9 Refactor to pass clockrate in constructor rather than deriving from mods 2021-06-03 16:09:42 +10: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
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
Dean Herbert
a3c78674a1 Add new interface for autoplay mods 2021-05-25 18:09:24 +09:00
Dean Herbert
cc5c702a92 Apply all properties after cast (looks cleaner) 2021-05-19 17:31:47 +09:00
Dean Herbert
bddc3121dc Merge branch 'master' into mania-pooling 2021-05-19 17:23:45 +09:00
Dean Herbert
9ede358e7e
Merge branch 'master' into mania-pooling 2021-05-18 22:25:54 +09:00
Dan Balasescu
ef81bdf63f
Merge branch 'master' into always-use-lifetime-entry 2021-05-18 20:10:12 +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
562ac73e96 Merge branch 'hoc-event-queue' into mania-pooling 2021-05-18 14:54:00 +09:00
smoogipoo
72beddaadc Remove nested blueprints from hold notes 2021-05-18 14:25:07 +09:00
smoogipoo
e621cfc4ea Add Apply() method for applying new DHOs 2021-05-18 14:14:10 +09:00
PercyDan54
166974506e
Duplicate implementions 2021-05-15 11:55:50 +08:00
smoogipoo
b5afe4e506 Merge branch 'hoc-event-queue' into mania-pooling 2021-05-13 21:53:38 +09:00
smoogipoo
2307889bf8 Fix incorrect cast 2021-05-13 21:41:28 +09:00
smoogipoo
98e77a30d3 Move column changing logic to ManiaSelectionHandler 2021-05-13 20:13:50 +09:00
smoogipoo
ffb6135a1b Rework hitobject blueprints to take in hitobject models 2021-05-13 19:53:32 +09:00
smoogipoo
0fa3027ab9 Increase pool sizes a bit 2021-05-12 17:37:59 +09:00
smoogipoo
f992b59b4f Fix DrawableHoldNote retaining hit states through applications 2021-05-12 17:07:42 +09:00
smoogipoo
1af3bbf400 Fix base.OnLoadComplete() not being called 2021-05-12 17:06:44 +09:00
smoogipoo
7913189aa9 Turn on pooling 2021-05-12 16:56:23 +09:00
smoogipoo
789025a7ce Update playfield/stage/column implementations for pooling 2021-05-12 16:56:07 +09:00
smoogipoo
4e7551d50e Fix crashes 2021-05-12 16:40:46 +09:00
smoogipoo
5692cecaa4 Initial implementation of DHO pooling 2021-05-12 16:35:05 +09:00
Dean Herbert
87dfd9672d
Merge pull request #12748 from smoogipoo/fix-mania-sample-crash
Fix mania crashing on playing samples after skin change
2021-05-12 14:10:08 +09:00
smoogipoo
05c21fb5b3 Increase mania HP lenience 2021-05-12 13:27:30 +09:00
smoogipoo
672108edcf Use container instead of array for field 2021-05-12 13:27:12 +09:00
Dean Herbert
3428056113 Remove unnecessary usage of ChildrenEnumerable for array assignment 2021-05-12 13:00:02 +09:00
Dean Herbert
bf44c09a91 Add name identifying container and rename index variable 2021-05-12 12:59:46 +09:00
Bartłomiej Dach
d706073e01 Trim empty remarks xmldoc tag 2021-05-11 23:08:50 +02:00
smoogipoo
713c169332 Fix mania crashing on playing samples after skin change 2021-05-11 16:21:21 +09:00
ekrctb
207f7f1e56 Rename FramedAutoGenerator<T> -> AutoGenerator<T> 2021-05-07 00:31:12 +09:00
ekrctb
cf39178099 Use FramedAutoGenerator in Taiko, Catch, Mania
OsuAutoGenerator is not included in this change because it uses SortedList-like thing
2021-05-06 22:57:07 +09:00
ekrctb
4a93e27e83 Revert "Fix mania editor null reference"
This reverts commit 1d023dce
2021-05-04 16:46:30 +09:00
Dean Herbert
a551958eeb Move caching of IBeatmap to base DrawableRuleset 2021-05-01 21:32:45 +09:00
Dean Herbert
db815f7930 Tidy up implementation in DrawableNote 2021-05-01 20:39:10 +09:00
Justus Franklin Tumacder
fdf8c12947 Replace BeatDivisorFinder with GetClosestBeatDivisor 2021-05-01 11:57:47 +08:00
Justus Franklin Tumacder
ecb053b0de Merge branch 'master' of https://github.com/ppy/osu into justusft/mania-color-snap 2021-05-01 11:20:28 +08:00
Dan Balasescu
e6eea73b8b
Merge branch 'master' into basic-compose-checks 2021-04-30 23:41:46 +09: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
ekrctb
1d023dcedb Fix mania editor null reference 2021-04-29 14:39:52 +09:00
ekrctb
d262956146 Always use LifetimeEntry to manage hit objects in HitObjectContainer
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.

- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00
Justus Franklin Tumacder
c4d28110d6 Add visual tests for timing based note coloring 2021-04-27 19:02:57 +08:00
Dean Herbert
f2e56bd306 Refactor editor selection/blueprint components to be generic 2021-04-27 19:01:29 +09:00
Naxess
a3570e18dd Add concurrent objects check
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.

We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
Justus Franklin Tumacder
559d403abe Rename ColourCodedNotes to TimingBasedNoteColouring 2021-04-26 19:05:12 +08:00
Justus Franklin Tumacder
58ebec4803 Move BindValueChanged hooks to LoadComplete() 2021-04-26 19:00:40 +08:00
Dean Herbert
e8d83f2f99 Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword 2021-04-26 14:33:30 +09:00
Bartłomiej Dach
e14255f395 Rename {Snap -> BeatDivisor}Finder 2021-04-25 17:44:26 +02:00
Bartłomiej Dach
afb67726f0 Reduce casting 2021-04-25 17:41:23 +02:00
Bartłomiej Dach
f9e228d6bf Use null-permitting BDL to reduce number of fields 2021-04-25 17:40:23 +02:00
Justus Franklin Tumacder
211bff6a8f Fix cake errors 2021-04-25 09:21:25 +08:00
Justus Franklin Tumacder
8b9d2a6cff Remove caching for ConfigColourCodedNotes 2021-04-25 08:32:49 +08:00
Justus Franklin Tumacder
d3db19c3ce Simplify DrawableNote 2021-04-25 08:11:44 +08:00
Justus Franklin Tumacder
e0ca44c908 Move SnapFinder from mania ruleset to osu.Game 2021-04-25 07:35:53 +08:00
Justus Franklin Tumacder
eaac4fe6c7 Simplify FindSnap method 2021-04-25 06:38:15 +08:00
Justus Franklin Tumacder
bedabc1ddf Fix cake errors 2021-04-24 22:12:07 +08:00
Justus Franklin Tumacder
8b01082cbb Fix visual tests missing dependency for ColourCodedNotes 2021-04-24 21:28:48 +08:00
Justus Franklin Tumacder
3103fd8343 Move snapping logic into SnapFinder 2021-04-24 21:28:35 +08:00
Justus Franklin Tumacder
91bf0d422d Rename ColourCode to ColourCodedNotes 2021-04-24 20:40:30 +08:00
Justus Franklin Tumacder
a8b401522b Remove ManiaColourCode in favor for boolean 2021-04-24 20:39:22 +08:00
Justus Franklin Tumacder
d6d81fb8e5 Move color snap logic from Note to DrawableNote 2021-04-24 19:53:21 +08:00
Justus Franklin Tumacder
f9905ebe68 Remove beatmap argument in Note 2021-04-24 19:37:10 +08:00
Justus Franklin Tumacder
7e3a611f95 Add snap color option for osu!mania 2021-04-24 16:23:52 +08:00
Dean Herbert
a242df31e8
Merge pull request #12534 from smoogipoo/fix-hold-note-crash
Fix hold notes with 0 length crashing the game
2021-04-22 21:14:36 +09:00
Dan Balasescu
739d83da2a
Merge pull request #12515 from frenzibyte/legacy-scores-classic-mod
Apply "classic" mod to all legacy scores
2021-04-22 19:52:09 +09:00
smoogipoo
4148d473e3 Fix hold note crashing with 0 length 2021-04-22 19:51:33 +09:00
Dean Herbert
b37c5a8749 Rollback hold note placement when length is zero 2021-04-22 14:59:57 +09:00
Salman Ahmed
e3398d8f1f Implement "classic" mod for all other legacy rulesets
Currently empty, automatically handled in game to not be selectable (see `Mod.HasImplementation`)
2021-04-21 09:14:33 +03: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
ekrctb
a965e8a75d Remove AutoGenerator workaround of now-fixed issue 2021-04-16 14:13:41 +09:00
Dean Herbert
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
Dean Herbert
55421b0065
Add missing full stop
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-04-15 14:41:10 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
Dean Herbert
b5954a55ad Remove empty <returns> xmldoc 2021-04-12 17:46:14 +09:00
Dan Balasescu
9d8a26f373
Merge branch 'master' into diffcalc/refactor-strain-skill 2021-04-06 08:21:38 +09:00
Dean Herbert
6bcbef9f25
Merge pull request #12294 from smoogipoo/mania-scoring-adjustments
Adjust scoring values to better fit osu!mania expectations
2021-04-05 17:19:28 +09:00
smoogipoo
3acc612a67 Adjust scoring values to better fit osu!mania 2021-04-05 13:28:46 +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
Samuel Cattini-Schultz
5b2dcea8a8 Refactor to encapsulate strain logic into Skill class
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
Dan Balasescu
345779b19a
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-04-02 20:58:29 +09:00
smoogipoo
43e48406ca Miss all ticks when hold note is hit 2021-03-31 12:21:14 +09:00
Dean Herbert
56428a027e Change static method to public 2021-03-30 16:56:20 +09:00
Dean Herbert
e769ef45be Fix misplaced parenthesis 2021-03-30 16:55:39 +09:00
Dean Herbert
1d968009c2 Add osu!mania key filtering using "keys=4" at song select 2021-03-30 16:09:35 +09: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
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
smoogipoo
8438fce764 Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay 2021-03-26 11:47:38 +09:00
Dan Balasescu
5f2c6b8d59
Merge pull request #12145 from bdach/mania-auto-hold-note-release
Remove release delay for hold notes when generating autoplay
2021-03-23 14:24:56 +09:00
Bartłomiej Dach
29d4162e4e Remove release delay for hold notes when generating autoplay
It was more intended for normal notes anyway (as they would be released
pretty much instantaneously, if it weren't for the delay).
2021-03-22 22:45:21 +01:00
Dean Herbert
5b1d9f4cf0 Fix constant case 2021-03-22 16:19:29 +09:00
Dean Herbert
690fb9224a Combine constants for readability 2021-03-22 16:18:31 +09:00
smoogipoo
db64fac824 Delay key fade in legacy mania skins 2021-03-22 15:26:22 +09:00
Bartłomiej Dach
9a330c4c56 Fix mania hold note heads hiding when frozen
This was an insidious regression from a3dc1d5. Prior to that commit,
`DrawableHoldNoteHead` had `UpdateStateTransforms()` overridden, to set
the hold note head's lifetime. When that method was split into
`UpdateInitialStateTransforms()` and `UpdateHitStateTransforms()`, the
lifetime set was moved to the former.

Unfortunately, that override served two purposes: both to set the
lifetime, and to suppress hit animations which would normally be added
by the base `DrawableManiaHitObject`. That fact being missed led to
`UpdateHitStateTransforms()` hiding the hold note head immediately on
hit and with a slight delay on miss.

To resolve, explicitly override `UpdateHitStateTransforms()` and
suppress the base call, with an explanatory comment.
2021-03-21 18:46:41 +01:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01: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
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods 2021-03-04 13:06:26 +09:00
Dean Herbert
cd1c1bf534 Centralise cases of performing actions on the current selection
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901, but not fix it completely.
2021-02-26 14:15:13 +09:00
smoogipoo
cf4c88c647 Fix spacing 2021-02-25 21:38:21 +09:00
smoogipoo
dff1d80f39 Update HasFlag usages to HasFlagFast 2021-02-25 15:38:56 +09:00
smoogipoo
6b6811063b Make ExpandDirection abstract 2021-02-24 15:05:12 +09:00
smoogipoo
dd702ccfd2 Make mania FI/HD incompatible with each other 2021-02-24 14:34:37 +09: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
Samuel Cattini-Schultz
442347df8e Fix clockrate adjusted difficulty calculations bug in strain decay
When starting a new section, the starting strain value was calculated using the unadjusted timing value, meaning decay curves were essentially being stretched or squashed according to the clockrate.

This caused incorrect strain peaks for any section where the peak occurs at the start of the section (none of the objects in the section added enough strain after decay to exceed the starting strain).

This bug caused star ratings with clockrates above 1 to be lower than they should and below 1 to be higher than they should.
2021-02-20 20:23:49 +11:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Bartłomiej Dach
68c20a2a37 Allow autoplay score generation to access mod list 2021-02-07 18:35:34 +01:00
Dean Herbert
f86f323625 Add a basic guard against setting ScrollMethod too late in initialisation 2021-02-04 22:28:17 +09:00
smoogipoo
8295fb9081 Implement mania constant speed mod 2021-02-03 16:28:22 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +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
bf39aa5980 Fix incorrectly converted rotation values 2020-12-22 12:18:42 +09:00
Dean Herbert
e1b2de27a6 Update osu!mania legacy skin's judgement animation to match stable 2020-12-21 17:23:23 +09: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
smoogipoo
a835ca9612 Fix anchors/origins for legacy pieces 2020-12-14 14:20:43 +09:00
smoogipoo
1794bfeddb Move offset into legacy mania judgement 2020-12-14 13:07:55 +09:00
smoogipoo
ca11eeefdf Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 11:25:34 +09:00
Firmatorenio
cf7303e072 dotnet format 2020-12-13 22:54:01 +06:00
Firmatorenio
3741c2339a simplify implementation and adjust the default values 2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319 apply ScorePosition to the judgement container 2020-12-13 22:01:08 +06:00
Firmatorenio
f14e49c72e fetch ScorePosition from the skin 2020-12-13 21:59:04 +06:00
Firmatorenio
60379b09db added a container for the judgements to move up or down 2020-12-13 18:14:41 +06:00
ekrctb
e3c035fe9c Adjust namespace 2020-12-07 12:32:52 +09:00
ekrctb
40da799103 Move piece files of Mania ruleset 2020-12-07 12:31:56 +09:00
Bartłomiej Dach
5fbe1823a0
Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:39:22 +01:00
Dean Herbert
7f34e11467
Merge pull request #10962 from smoogipoo/improve-dho-time-offsets
Fix judgement offsets in non-framestable contexts
2020-11-30 19:13:25 +09:00
Dean Herbert
c17d67bc7d Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:34:38 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
ekrctb
f3f5ec7665 Fix Column not calling base.Add 2020-11-26 18:08:40 +09:00
smoogipoo
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez 2020-11-22 13:29:02 +01:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic 2020-11-18 19:20:11 +01:00
Dean Herbert
20bb64c627 Fix mania misses not correctly animating (temporary solution) 2020-11-18 19:34:00 +09:00
Dean Herbert
94886a09b2 Remove fades from DrawableJudgement itself 2020-11-18 19:03:34 +09:00
Dean Herbert
49b8331ccd
Merge pull request #10877 from smoogipoo/fix-mania-judgement-displays
Fix hold note judgements displaying incorrectly
2020-11-18 19:00:14 +09:00
Dean Herbert
8247e6ce91 Move result type to ctor 2020-11-17 15:43:54 +09:00
Dean Herbert
f465dd5a5e Move all extended animation logic out of DrawableJudgement 2020-11-17 14:59:34 +09:00
Dan Balasescu
cb3280af7c
Merge branch 'master' into hold-note-fade 2020-11-17 13:49:28 +09:00
smoogipoo
77942af3a6 Fix hold note judgements displaying incorrectly 2020-11-17 13:37:58 +09:00
Bartłomiej Dach
21f29e28e2 Add clarification comment 2020-11-16 20:36:56 +01:00
Bartłomiej Dach
e88920442c Use HitStateUpdateTime instead 2020-11-16 20:01:10 +01:00
Bartłomiej Dach
8da40ce2dc Reduce duplication by extracting ModEasyWithExtraLives 2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017 Merge branch 'master' into change-taiko-ez 2020-11-16 19:37:47 +01:00
PercyDan54
99ee5e3ad7
Correct inheritance 2020-11-16 18:28:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy 2020-11-16 18:15:15 +08:00
Dean Herbert
a4c17906b4 Make comment a bit more explicit 2020-11-16 14:52:18 +09:00
Bartłomiej Dach
e5d9cca9de Fix mania-specific missing cases 2020-11-15 15:38:12 +01:00
Bartłomiej Dach
ba30800bf4 Extract constant 2020-11-13 22:21:22 +01:00
Bartłomiej Dach
a199a957cc Use stored hold note break time to fade upon it 2020-11-13 22:16:38 +01:00
Bartłomiej Dach
b62bf5798d Store time of hold note break 2020-11-13 21:14:34 +01:00
Bartłomiej Dach
4777b1be81 Fix fade not applying to tails sometimes 2020-11-13 20:52:15 +01:00
Bartłomiej Dach
55a91dbbe0 Add fading on hit state change 2020-11-13 20:52:15 +01:00
Bartłomiej Dach
7a89e58483 Disable pressed/released action logic when rewinding 2020-11-13 20:49:06 +01:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
smoogipoo
60f95e897d Revert unnecessary change 2020-11-12 18:29:22 +09:00
smoogipoo
ad38867b1d Completely remove check as it can occur for hits too 2020-11-12 18:29:22 +09:00
smoogipoo
44aed19e4e Fix mania notelock crashing with overlapping hitwindows 2020-11-12 18:29:22 +09:00
Dean Herbert
a3dc1d5730 Update existing implementations 2020-11-04 17:14:23 +09:00
Dean Herbert
fed4accfea Update tests to refect new mappings 2020-10-30 12:12:30 +09:00
Dean Herbert
ef2e2894a2
Merge branch 'master' into fix-mania-diffcalc 2020-10-14 23:49:14 +09:00
smoogipoo
26dffbfd3b Replicate hit window calculation 2020-10-14 20:40:39 +09:00
smoogipoo
1a2dc83740 Make field readonly 2020-10-14 20:40:17 +09:00
smoogipoo
da8565c0fa Add 10K mod to incompatibility list 2020-10-14 18:28:19 +09:00
smoogipoo
3e6ed6c9ff Add support for dual stages (keycoop) and score multiplier 2020-10-14 17:53:28 +09:00
Dan Balasescu
4eccb03d71
Add copyright notice
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-10-14 17:08:14 +09:00
Dean Herbert
207c409792
Merge branch 'master' into fix-mania-diffcalc 2020-10-14 15:26:32 +09:00
Dean Herbert
010f86ff34
Merge pull request #10452 from smoogipoo/fix-mania-conversion
Make mania beatmap conversions match stable
2020-10-13 01:17:42 +09:00
smoogipoo
ac4290dfb6 Add comment about stable calculation 2020-10-12 15:27:33 +09:00
Bartłomiej Dach
146b15371d
Merge branch 'master' into fix-slider-sample-parsing 2020-10-10 14:02:33 +02:00
smoogipoo
65d8530a11 Fix tests 2020-10-09 22:47:32 +09:00
smoogipoo
306d876d22 Replicate stable's unstable sort 2020-10-09 21:50:20 +09:00
smoogipoo
5017c92fe8 Combine mania skills 2020-10-09 21:47:34 +09:00
smoogipoo
08f3481b59 Use integer calculations to replicate stable's slider conversion 2020-10-09 21:22:20 +09:00
smoogipoo
5f19081db6 Fix incorrect probability calculation for hitobject conversion 2020-10-09 21:20:00 +09:00
smoogipoo
9d09503ace Fix spinner conversion not considering stacking + forced initial column 2020-10-09 21:13:04 +09:00
smoogipoo
4d0e4f4ade Fix incorrect initial density 2020-10-09 21:11:18 +09:00
Dean Herbert
681e88af40
Merge branch 'master' into editor-fix-button-states-after-paste 2020-10-09 20:51:09 +09:00
Dean Herbert
3838f405dd Fix missed usages 2020-10-09 18:50:05 +09:00
Dean Herbert
07558b5bc0 Merge branch 'master' into ruleset-result-types 2020-10-09 13:17:05 +09:00
Dean Herbert
f1a3b6d0ba Merge branch 'master' into perf-calculator-remove-working-beatmap 2020-10-07 17:43:17 +09:00
Dean Herbert
6020ec9ca3 Add valid result types for all rulesets 2020-10-07 15:43:52 +09:00
Dean Herbert
9d7880afda Make SettingsItem conform to IHasCurrentValue 2020-10-06 17:18:54 +09:00
Dean Herbert
5dea37792c
Merge branch 'master' into health-adjustments 2020-10-04 21:38:40 +09:00
Lucas A
d7747ebb2d Remove unused WorkingBeatmap argument. 2020-10-03 16:51:22 +02:00
Bartłomiej Dach
309714081f Make new health increase values mania-specific 2020-10-03 12:16:22 +02:00
Bartłomiej Dach
1f0620ffd4 Replace assignment references to HitResult.Miss with Judgement.MinResult 2020-10-02 23:31:24 +02:00
Bartłomiej Dach
2b1ef16f89 Replace comparison references to HitResult.Miss with IsHit 2020-10-02 23:31:24 +02:00
Lucas A
abd395a030 Remove unecessary using references. 2020-10-02 19:41:24 +02:00
Lucas A
0163688a17 Remove IBeatmap from PerformanceCalculator. 2020-10-02 19:24:30 +02:00
smoogipoo
e789e06c86 Don't display hold note tick judgements 2020-09-29 16:33:38 +09:00
smoogipoo
bad48d6d44 Merge branch 'master' into scoring-standardisation 2020-09-29 16:33:38 +09:00
smoogipoo
31fae045fa Update judgement processors with new hit results 2020-09-29 16:33:38 +09:00
smoogipoo
b1877b649b Use new hit results in mania 2020-09-29 16:33:38 +09:00
Dean Herbert
6095446f10 Fix autoplay generators failing on empty hitobjects lists 2020-09-28 15:38:54 +09:00
smoogipoo
c7d24203ce Make beatmap conversion support cancellation tokens 2020-09-17 17:40:05 +09:00
Morilli
9c041dbac2 Fix mania scrollspeed slider precision 2020-09-15 08:24:01 +02:00
Dean Herbert
ef44c7d063
Merge branch 'master' into score-recalc 2020-09-10 18:30:41 +09:00
Dean Herbert
a65f564e45 Add icons for other ruleset editors 2020-09-09 18:40:01 +09:00
smoogipoo
117c7ec6b2 Merge branch 'master' into score-recalc 2020-09-09 14:38:36 +09:00
Dean Herbert
4680728b9c Merge branch 'master' into update-dcc-exclusions 2020-09-07 18:01:44 +09:00