1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 15:17:44 +08:00
Commit Graph

2568 Commits

Author SHA1 Message Date
Bartłomiej Dach
92dc125d39
Match mania editor playfield time range with timeline zoom 2024-07-10 17:36:39 +02:00
Bartłomiej Dach
fa749d317e
Enable NRT on ManiaHitObjectComposer 2024-07-10 15:12:03 +02:00
Bartłomiej Dach
c8a64c5950
Remove setup screen controls that do nothing useful
Before I go with a hammer to redesign these, I want to remove stuff that
does nothing first.

Hard-breaks API to allow rulesets to specify an enumerable of custom
sections rather than two specific weird ones.

For specific rulesets:

- osu!:
  - Stack leniency slider merged into difficulty section.
- osu!taiko:
  - Approach rate and circle size sliders removed.
  - Colours section removed.
- osu!catch:
  - No functional changes.
- osu!mania:
  - Special style toggle merged into difficulty section.
  - Colours section removed.
2024-07-10 14:53:16 +02:00
Salman Ahmed
371ca4cc4b Remove unnecessary null-conditional operators 2024-07-04 05:43:43 +03:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Nathan Du
1eb10e029c Rewrite no release mod
Per the request of spaceman_atlas, the No Release mod is rewritten to
avoid modifications to DrawableHoldNoteTail. The approach is based
on that of the Strict Tracking mod for the osu!(standard) ruleset,
injecting the mod behavior by replacing the normal hold note with
the mod's variant. The variant inherits most bevaior from the normal
hold note, but when creating nested hitobjects, it creates its own
hold note tail variant instead, which in turn is used to instantiate
the mod's variant of DrawableHoldNoteTail with a new behavior.

The time a judgement is awarded is changed from the end of its
Perfect window to the time of the tail itself.
2024-07-01 20:29:30 +08:00
Nathan Du
960d552dc1 Initial implemention of the No Release mod
This commit adds a new osu!mania mod No Release that relaxes tail
judgements. The current implementation automatically awards Perfect
(or Meh if the hold note is broken midway) for a hold note tail at
the end of its Perfect window, as long as it is held by then.

Tests are pending for the next commit.
2024-06-28 22:21:08 +08:00
Bartłomiej Dach
1eac0c622a
Fix legacy skin hold note bodies not appearing when scrolling upwards
- Closes https://github.com/ppy/osu/issues/28567.
- Regressed in https://github.com/ppy/osu/pull/28466.

Bit of a facepalm moment innit...
2024-06-25 10:35:36 +02:00
Dean Herbert
e6187ebec0
Fix nullability insepction 2024-06-18 15:13:52 +08:00
Bartłomiej Dach
366ba26cb6
Adjust calls to DrawableExtensions.With<T>() 2024-06-18 07:41:20 +02:00
Bartłomiej Dach
fdb63bd7cd
Merge pull request #28466 from smoogipoo/fix-long-hold-length
Fix missing texture on extremely long hold notes
2024-06-13 09:13:03 +02:00
Dan Balasescu
1ff20cc13d
Fix missing texture on extremely long hold notes 2024-06-13 15:19:41 +09:00
Bartłomiej Dach
feadf7a56e
Allow modifying hold note start/end time via mania composer playfield 2024-06-12 15:30:27 +02:00
Dean Herbert
2a8bd8d968
Fix failing tests due to missing DI pieces 2024-06-12 11:23:56 +08:00
Bartłomiej Dach
da53a11d3c
Attempt full editor reload on key count change 2024-06-11 11:31:49 +02:00
Bartłomiej Dach
10af642342
Split mania difficulty section implementation off completely from base
- "Circle size" / key count needs completely different handling.
- Approach rate does not exist in mania.
2024-06-11 11:30:20 +02:00
Bartłomiej Dach
629e7652c0
Implement flip operations in mania editor 2024-06-07 09:01:41 +02:00
Bartłomiej Dach
bf0040447c
Fix legacy mania note body animation not resetting sometimes
Hopefully closes https://github.com/ppy/osu/issues/28284.

As far as I can tell this is a somewhat difficult one to reproduce
because it relies on a specific set of circumstances (at least the
reproduction case that I found does). The reset to frame 0 would
previously be called explicitly when `isHitting` changed:

    182ca145c7/osu.Game.Rulesets.Mania/Skinning/Legacy/LegacyBodyPiece.cs (L144)

However, it can be the case that `bodyAnimation` is not loaded at the
point of this call. This is significant because
`SkinnableTextureAnimation` contains this logic:

    182ca145c7/osu.Game/Skinning/LegacySkinExtensions.cs (L192-L211)

which cannot be moved any earlier (because any earlier the `Clock` may
no longer be correct), and also causes the animation to be seeked
forward while it is stopped.

I can't figure out a decent way to layer this otherwise (by scheduling
or whatever), so this commit is just applying the nuclear option of just
seeking back to frame 0 on every update frame in which the body piece is
not being hit.
2024-05-28 15:29:15 +02:00
Bartłomiej Dach
97de73b99c
Do not change mania column width on mobile platforms
- Closes https://github.com/ppy/osu/issues/25852
- Reverts https://github.com/ppy/osu/pull/25336 /
  https://github.com/ppy/osu/pull/25777

With the columns not being directly touchable anymore after
https://github.com/ppy/osu/pull/28173 I see very little point to this
continuing to exist.
2024-05-16 08:21:52 +02:00
Bartłomiej Dach
3d190f7e88
Remove redundant cast 2024-05-14 18:41:15 +02:00
Dean Herbert
f781dc3300
Remove touch mod addition to mania
Feels a bit pointless? I dunno.
2024-05-14 22:38:31 +08:00
Dean Herbert
5c9a90cb40
Tidy class and change to be a VisibilityContainer similar to taiko implementation 2024-05-14 22:34:05 +08:00
Dean Herbert
390557634a
Rename touch area class to match existing usage (see taiko) 2024-05-14 22:34:05 +08:00
Dean Herbert
12e98fe55d
Move out of playfield so touch overlay is not affected by playfield position 2024-05-14 22:34:05 +08:00
Dan Balasescu
a761a7bced
Hook up touch device mod 2024-05-14 19:14:58 +08:00
Dan Balasescu
e3f2e1ba08
Add opacity setting 2024-05-14 19:14:50 +08:00
Dan Balasescu
39337f5189
Hook up input manager 2024-05-14 19:14:50 +08:00
Dan Balasescu
ef40197713
Add mania touch overlay
Adjust default anchor/origin
2024-05-14 19:14:50 +08:00
Dan Balasescu
4f6777a0a1
Remove existing per-column touch input 2024-05-14 19:10:14 +08:00
Dan Balasescu
362a7b2c77
Remove unused members from GameplaySkinComponentLookup 2024-04-19 18:03:13 +09:00
Dan Balasescu
343b3ba0e6
Don't re-filter unless mods may change the filter 2024-04-15 21:07:36 +09:00
Dan Balasescu
8e0ca11d1c
Fully qualify LegacyBeatmapConversionDifficultyInfo 2024-04-01 17:02:32 +09:00
Dan Balasescu
9fd6449fd8
Add mods to FilterCriteria, pass to ruleset method 2024-03-28 23:03:26 +09:00
Dan Balasescu
c08a4898b2
Refactor score simulator to use GetColumnCount() 2024-03-28 22:58:39 +09:00
Dan Balasescu
ce21235db4
Remove unused OriginalTargetColumns 2024-03-28 22:51:13 +09:00
Dan Balasescu
10edb54614
Add ability to query key count with mods 2024-03-28 22:51:12 +09:00
Dan Balasescu
64399e9dd9
Refactor pattern generation to not require ManiaBeatmap 2024-03-28 22:32:27 +09:00
Bartłomiej Dach
b74f8dba41
Merge branch 'master' into verify-abnormal-difficulty-settings 2024-03-26 11:13:16 +01:00
Bartłomiej Dach
1866b4b6b1
Refactor abstract check to reduce duplication 2024-03-26 11:13:03 +01:00
Arthur Araujo
6fa663c8ca Make check ruleset specific 2024-03-22 14:48:22 -03:00
Arthur Araujo
2d6a3b8e2b Remove warning for 10K+ 2024-03-20 16:51:27 -03:00
Arthur Araujo
c605e463a4 Add mania keycount check 2024-03-20 15:52:16 -03:00
Dan Balasescu
0beaa8e8c5
Merge branch 'master' into tcm-resume 2024-03-14 12:22:46 +09:00
Dan Balasescu
ca92a31cf9
Fix missing event unbinds 2024-03-07 21:10:11 +09:00
Salman Ahmed
672f645cba Clamp only on horizontal sides 2024-03-06 18:40:20 +03:00
Salman Ahmed
f1b66da469 Add comments 2024-03-01 22:57:13 +03:00
Salman Ahmed
e0c73eb362 Fix osu!mania key images potentially showing gaps between columns 2024-03-01 22:49:12 +03:00
Andrei Zavatski
b92cff9a8e Reduce allocations in ManiaSelectionBlueprint 2024-02-20 20:47:41 +03:00
Andrei Zavatski
e9aca9226a Reduce allocations in ManiaPlayfield.TotalColumns 2024-02-20 19:10:03 +03:00
Salman Ahmed
3108842a1c
Merge branch 'master' into legacy-body-piece-crash 2024-02-16 00:30:36 +03:00
Dean Herbert
c1d9f53ab4
Merge pull request #27068 from smoogipoo/mania-hd-fi-progression
Add progressive coverage for mania's Hidden and FadeIn mods
2024-02-16 01:00:53 +08:00
Bartłomiej Dach
4b2197039c
Make dropdown text nicer 2024-02-15 16:40:58 +01:00
Dan Balasescu
878fb2d10d
Add break support 2024-02-15 22:05:25 +09:00
Dan Balasescu
d1a51b474c
Adjust tests 2024-02-15 21:25:40 +09:00
Dan Balasescu
755bc7c050
Fix resolution scaling 2024-02-15 20:07:55 +09:00
Bartłomiej Dach
36005a5449
Fix selected legacy skins crashing on zero-length hold notes
Closes https://github.com/ppy/osu/issues/27134.
2024-02-12 08:33:08 +01:00
Berkan Diler
6adf0ac01e Use new LINQ Order() instead of OrderBy() when possible 2024-02-08 18:01:00 +01:00
Dan Balasescu
dcb195f3c8
Add delayed resume for taiko/catch/mania 2024-02-08 02:16:08 +09:00
Dan Balasescu
8f995a30af
Fix legacy coverage metrics 2024-02-08 00:20:32 +09:00
Dan Balasescu
af20eacc82
Fix coordinate space 2024-02-07 00:25:22 +09:00
Dan Balasescu
69db1b2778
Add ManiaModCover to take over old roles of the mods 2024-02-07 00:15:14 +09:00
Dan Balasescu
bacb1d0dc7
Add easing to make the transition less awkward 2024-02-06 23:58:27 +09:00
Dan Balasescu
5bc7befbd4
Add progressive cover to mania HD and FI mods 2024-02-06 23:47:20 +09:00
Dan Balasescu
5265d33c12
Make coverage into a bindable 2024-02-06 23:33:00 +09:00
Dan Balasescu
ee05743921
Bump databased star rating versions 2024-02-06 22:58:11 +09:00
Dan Balasescu
c18cd65081
Merge pull request #26694 from chandler14362/hit-object-result-allocations
Avoid closure allocations when applying hit object results
2024-02-06 17:49:26 +09:00
Bartłomiej Dach
0b82df00c0
Merge branch 'master' into mania-skin-alloc 2024-02-05 15:09:56 +01:00
Bartłomiej Dach
8b9c9f4fed
Add NRT annotations to DrawableManiaRuleset 2024-02-05 14:52:08 +01:00
Dean Herbert
cc5e1e0af3
Merge pull request #26957 from smoogipoo/net8
Update to .NET 8 + C# 12
2024-02-05 20:59:31 +08:00
Bartłomiej Dach
fb80d76b4a
Apply further changes to remove remaining weirdness 2024-02-05 13:37:38 +01:00
Bartłomiej Dach
39fe078984
Merge branch 'master' into hit-object-result-allocations 2024-02-05 13:24:10 +01:00
Bartłomiej Dach
efe6bb25b1
Refactor result application around again to remove requirement for fields
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-02-05 13:21:01 +01:00
Dan Balasescu
6e4d52863c
Upgrade to .NET 8 SDK 2024-02-02 21:28:51 +09:00
Andrei Zavatski
e00e583bb4 Fix DrawableManiaRuleset performing skin lookup every frame 2024-02-02 03:56:38 +03:00
Bartłomiej Dach
f89923aeae
Annotate mods that give pp 2024-01-31 14:59:35 +01:00
Andrei Zavatski
8e20eed4ef Don't use LINQ in ReceivePositionalInputAt 2024-01-30 03:19:27 +03:00
Andrei Zavatski
7dba870518 Rework Content storage in ColumnFlow 2024-01-30 03:07:37 +03:00
Chandler Stowell
93bd3ce5ae update DrawableHitCircle.ApplyResult to pass this to its callback 2024-01-25 11:25:41 -05:00
Dean Herbert
dda96d7106
Rename JudgementPiece to TextJudgementPiece 2024-01-25 19:31:57 +09:00
Chandler Stowell
d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Dean Herbert
e9812fac7a
Fix osu!mania judgments not being pooled correctly 2024-01-15 20:50:09 +09:00
Salman Ahmed
02f5ea200e Fix failing tests 2023-12-30 07:41:55 +03:00
Salman Ahmed
408287e086 Add very basic argon mania combo counter implementation 2023-12-30 05:29:44 +03:00
Salman Ahmed
8be3f4f632 Add legacy mania combo counter implementation 2023-12-30 05:29:38 +03:00
Salman Ahmed
08d88ec2fa Add back initial position transform to ensure correctness 2023-12-29 20:47:18 +03:00
Salman Ahmed
8df9a1ee1f Fix argon miss judgement on mania placed on a different position 2023-12-29 20:43:03 +03:00
Dan Balasescu
2ec6aa7fbb
Make mania scroll speed independent of hit position 2023-12-26 12:46:21 +09:00
Dean Herbert
7e09164d70
Merge pull request #26036 from smoogipoo/fix-perfect-mod-special-judgements
Fix perfect mod not failing with special judgements
2023-12-22 18:22:28 +09:00
Dan Balasescu
93efa98d9b
Fix mania "Great" hits failing with perfect mod 2023-12-22 16:19:36 +09:00
Dan Balasescu
6b4b2a57fc
Expose only as one method 2023-12-21 14:58:23 +09:00
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +09:00
Bartłomiej Dach
8c06d3873d
Merge branch 'master' into mania-scorev2-values 2023-12-20 15:54:31 +01:00
Dan Balasescu
bff08d124b
Remove mania mod multiplier for DT/NC 2023-12-20 22:28:50 +09:00
Dean Herbert
e0c27510f2
Remove remaining usage of NotePerfectBonus 2023-12-20 19:47:36 +09:00
Dan Balasescu
023bbda7db
Change mania to 85% acc / 15% combo 2023-12-20 18:43:06 +09:00
Dan Balasescu
104fbbde94
Change mania scoring to match ScoreV2 2023-12-20 18:35:45 +09:00
Dean Herbert
831c273b45
Merge pull request #25887 from smoogipoo/restore-taiko-accuracy
Restore taiko accuracy to ScoreV2 values
2023-12-20 17:29:40 +09:00
OliBomby
ec578e1d9f fix near-zero length sliders n stuff being placeable 2023-12-19 21:20:21 +01:00
Dean Herbert
372f930f8b
Refactor usage of object counts for mania key count lookup to be a bit safer
Protects against non-initialised values and also div-by-zero.
2023-12-19 18:28:04 +09:00
Dan Balasescu
c1b55c7fac
Add ScoreProcessor methods to override numeric result 2023-12-19 13:50:31 +09:00