1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 07:27:25 +08:00
Commit Graph

2249 Commits

Author SHA1 Message Date
63411
6cca56ab77 Move release_threshold to const 2022-04-23 10:46:12 +08:00
Salman Ahmed
61078910a6 Handle all skin component types explicitly 2022-04-23 03:34:05 +03:00
63411
8b55d3855a Use isOverlapping bool to determine holdAddition 2022-04-22 13:27:59 +08:00
63411
56bbfa58e5 Add missing absolute value of closestEndTime 2022-04-22 13:01:41 +08:00
63411
97b4a2a105 Use better initial value for closestEndTime 2022-04-22 12:59:00 +08:00
63411
574007c07a Optimise holdAddition calculation 2022-04-22 02:02:23 +08:00
63411
e7a149af6c Use curve for holdAddition validity cutoff 2022-04-21 23:05:20 +08:00
63411
a0a83fb51f Use closest endTime for holdAddition validity 2022-04-21 23:03:28 +08:00
Dean Herbert
0cac935939 Shorten class name of ModCreatedReplayUser 2022-03-31 11:34:23 +09:00
Dean Herbert
4b2c01a8c1 Bring all mod implementations up-to-date 2022-03-29 16:59:03 +09:00
Dean Herbert
d2d88015e3 Update all cinema/autoplay mods to specify the system user ID 2022-03-28 22:22:56 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction 2022-03-15 13:31:57 +09:00
Dan Balasescu
523f668c8c Remove unnecessary ctor argument 2022-03-15 12:37:39 +09:00
Dan Balasescu
daac933498 Remove unnecessary ctor arguments 2022-03-15 12:34:58 +09:00
Dan Balasescu
59d57a44d4 Prevent incorrect usages by hard-typing ctor type 2022-03-15 09:11:59 +09:00
Dan Balasescu
3fff7f4b7e Require ScoreProcessor to receive ruleset 2022-03-14 15:51:10 +09:00
Dan Balasescu
4a3e3aba65 Restructure PerformanceCalculator to not require ScoreInfo argument 2022-03-14 14:25:28 +09:00
Dan Balasescu
c36badab4b Add per-ruleset score multipliers for classic scoring 2022-03-10 10:26:09 +09:00
Dean Herbert
8bb07f83cd
Merge pull request #17054 from hlysine/mod-adaptive-speed
Implement Adaptive Speed mod
2022-03-09 17:56:34 +09:00
Dean Herbert
33862fc0db Centralise implementation of slider bars which display millisecond time values 2022-03-04 12:25:19 +09:00
Dean Herbert
abba49fd8f Update all usages of OsuSlider.TooltipText overrides to instead implement GetTooltipText 2022-03-04 12:16:05 +09:00
Henry Lin
c9b205afeb Add adaptive speed mod 2022-03-02 09:57:52 +08:00
Dean Herbert
a41e1c80f1 Show hit error on results screen
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
13b6cfb5ed
Merge pull request #16898 from smoogipoo/fix-mania-pp-score-multiplier
Fix mania PP calculator applying incorrect score multiplier
2022-02-17 19:21:08 +09:00
Dean Herbert
64360f2b37
Merge pull request #16891 from smoogipoo/fix-mania-hitwindow-attrib
Fix mania hit window attribute improperly considering rate-adjustment mods
2022-02-17 14:03:51 +09:00
Dan Balasescu
39a7bbdb9a Fix mania PP calculator applying incorrect score multiplier 2022-02-17 14:03:39 +09: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
Dan Balasescu
0b37efc985 Add explanatory note 2022-02-16 20:07:58 +09:00
Dan Balasescu
a0ee86ddd2 Fix improperly considering rate adjustment mods 2022-02-16 19:51:42 +09:00
Dan Balasescu
1f9892802c
Merge pull request #16886 from peppy/clarify-parenthesis
Clarify ambiguous conditionals in `LegacyStageBackground`
2022-02-16 19:15:21 +09:00
Dan Balasescu
d4bf335fcc Use score multiplier attribute in ManiaPerformanceCalculator 2022-02-16 16:24:40 +09:00
Dean Herbert
f703828e1b Clarify ambiguous conditionals in LegacyStageBackground 2022-02-16 15:27:49 +09:00
Dan Balasescu
84e82ef5e4 Add XMLDocs to difficulty attribute properties 2022-02-16 14:09:19 +09:00
Henry Lin
ee6d4b2583 Move performance breakdown to the top to prevent re-ordering after watching replay 2022-02-05 21:39:01 +08:00
Henry Lin
0b1fef38af Use the playable beatmap provided in CreateStatisticsForScore 2022-02-05 21:36:34 +08:00
Henry Lin
440b674bb0 Add statistic item for mania & taiko 2022-02-05 21:30:35 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes 2022-02-05 16:59:46 +08:00
Dean Herbert
df9d99f5aa Merge branch 'master' into extended-statistics-without-replay 2022-02-03 18:59:48 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits 2022-02-02 20:41:25 +01:00
Dean Herbert
19eb9ad8a7 Reorder StatisticsItem constructor to make a touch more sense 2022-02-02 23:02:38 +09:00
Henry Lin
6a482827fe Fix weird line breaking 2022-02-02 17:23:03 +08:00
Henry Lin
c5c4c85006 Lazily create content of StatisticItem 2022-02-02 13:29:18 +08:00
Dean Herbert
4b646709c1
Merge pull request #16658 from Spooghetti420/no-long-notes-mod
Add "Hold Off" mod (no long notes)
2022-02-02 13:35:44 +09:00
Dean Herbert
ddc8094a75 Update description 2022-02-02 13:34:23 +09:00
Bartłomiej Dach
e4028b8fc1
Remove index ctor param from ColumnHitObjectArea
No longer used since 5692cecaa4.
2022-02-01 21:49:52 +01:00
Spooghetti420
b75c08c9ab
Improve beat length logic
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 13:36:36 +00:00
Dan Balasescu
0641264a11 Merge branch 'master' into spectator-consistency-frames 2022-02-01 14:35:30 +09:00
Dean Herbert
2f88efd3c3 Pass column in rather than accessing parent 2022-02-01 00:53:56 +09:00
Spooghetti420
e5601772a9 Make incompatible with 2022-01-31 15:00:36 +00:00
Dan Balasescu
0458d408bb Add replay statistics frames to FramedReplayInputHandler 2022-01-31 18:53:47 +09:00
Dean Herbert
0e764538e0 Retrieve KeyBindingContainer via DI rather than traversal lookup 2022-01-31 17:05:04 +09:00
Dean Herbert
cc7fb0e559 Add mouse click support and increase area to full column height 2022-01-31 16:37:02 +09:00
Dean Herbert
a84fd2e20c
Merge branch 'master' into master 2022-01-31 16:30:08 +09:00
Dean Herbert
bb8dc74e88 Fix constant formatting 2022-01-31 12:20:51 +09:00
Spooghetti420
b52153e73d Remove settings 2022-01-30 17:40:15 +00:00
Dean Herbert
035a84e75c Rename function and make public again for test usage 2022-01-29 14:05:23 +09:00
Dean Herbert
c75ffe9b07 Apply code style changes 2022-01-29 13:47:04 +09:00
Spooghetti420
a4aa501bb5 Change threshold from ms to beat-based, add tests 2022-01-28 21:59:53 +00:00
Spooghetti420
146c54a2c1 Fix code formatting 2022-01-27 21:02:59 +00:00
Spooghetti420
3e068e564d Update mod per discussion + create test 2022-01-27 20:56:51 +00:00
Spooghetti420
400633bd99 Add another newline 2022-01-27 16:23:09 +00:00
Spooghetti420
c0b2f8bd01 Fix newline style in mod 2022-01-27 16:21:38 +00:00
Spooghetti420
5dd829cb3a Merge branch 'master' of https://github.com/ppy/osu into no-long-notes-mod 2022-01-27 16:10:16 +00:00
Spooghetti420
1bdf16494b Add No Long Notes mod 2022-01-27 11:35:31 +00:00
Dean Herbert
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
Bartłomiej Dach
2375420d4c
Tweak allowable ranges of size multiplier 2022-01-24 21:32:31 +01:00
Bartłomiej Dach
4a13c93ca7
Disallow zero size multiplier in flashlight implementations 2022-01-24 21:03:03 +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
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
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes 2022-01-22 14:12:57 +01:00
Dean Herbert
7f65f3a47f Remove all usage of BaseDifficulty (and access Difficulty instead) 2022-01-18 22:57:39 +09:00
mk-56
bd308ca38c Cleanup 2022-01-17 15:15:25 +01:00
Henry Lin
b81fc675e8 Include PropertyName in PerformanceDisplayAttribute 2022-01-17 20:45:25 +08:00
Henry Lin
d014fef179 Hide confusing attributes 2022-01-17 20:36:36 +08:00
Henry Lin
511a607599 Display performance breakdown in a tooltip 2022-01-17 18:28:17 +08: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
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
Dan Balasescu
4106ebf881 Fix mania requiring PERFECTs to maintain HP 2022-01-12 18:29:23 +09:00
pikokr
b0d61a18b0 Load keyBindingContainer once on LoadComplete() & make touch area height to const 2022-01-07 15:57:30 +09:00
pikokr
4cb8272d14 Column Touch area & highlighting on start 2021-12-30 17:37:19 +09:00
pikokr
dec1f31749 Make KeyBindingContainer public 2021-12-28 22:43:07 +09:00
파링
9ed7139582
Merge branch 'master' into master 2021-12-28 22:36:55 +09:00
pikokr
62d6bb8c2e Trigger touch on click key area 2021-12-28 22:35:45 +09:00
pikokr
59b4aea5f9 Make method and property name to match class name 2021-12-28 21:52:46 +09:00
Joseph Madamba
0bd928b5cd Fix incorrect naming / apply review 2021-12-27 21:44:19 -08:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
pikokr
58994b790c Get key binding container once instead of getting on every touch 2021-12-27 21:20:52 +09:00
pikokr
327822de5b Add touchscreen support for osu!mania ruleset 2021-12-27 19:41:36 +09:00
StanR
40b3ce0ade Clean up comments 2021-12-21 14:03:24 +03:00
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