Commit Graph

538 Commits

Author SHA1 Message Date
Bartłomiej Dach 8a650deab6
Fix tests 2024-10-03 13:11:02 +02:00
Dean Herbert d9de2ad97b
Merge pull request #29899 from bdach/mania-selection-dropped
Ensure selection is preserved when moving selection between columns
2024-09-27 18:11:23 +09:00
OliBomby e3b4483872 Refactor PlacementBlueprint to not be hitobject specific 2024-09-24 20:31:00 +02:00
Bartłomiej Dach e0f92bab6a
Add test case covering failure 2024-09-17 13:07:52 +02:00
Salman Ahmed a3234e2cde Add failing test case 2024-08-20 12:39:41 +09:00
Dean Herbert 5710f0f302
Merge pull request #26254 from frenzibyte/mania-combo-counter
Add argon/classic osu!mania combo counter
2024-08-15 17:56:28 +09:00
Dean Herbert e465049050
Merge branch 'master' into mania-combo-counter 2024-08-14 15:12:00 +09:00
Dean Herbert 2221c4891f
Remove legacy non-pooled pathway to `DrawableJudgement` 2024-08-13 21:03:00 +09:00
Dean Herbert e645651ef4
Merge branch 'master' into mania-combo-counter 2024-08-09 00:19:17 +09:00
clayton 48d9bc982f
Fix tests 2024-08-07 14:36:04 -07:00
Bartłomiej Dach 449d50a46a
Add failing test case 2024-07-08 16:28:33 +02:00
Dean Herbert 5350945340
Update `HasFlag` usages 2024-07-03 00:19:04 +09:00
Bartłomiej Dach 3bf3e9133b
Merge pull request #28689 from smoogipoo/fix-break-conversion
Fix `ManiaModInvert` permanently destroying the beatmap
2024-07-02 07:53:16 +02:00
Dan Balasescu 04da1209f7
Revert "Change breaks list to `IReadOnlyList`"
This reverts commit 2c3b411bb5.
2024-07-02 12:16:11 +09:00
Dean Herbert 2c3b411bb5
Change breaks list to `IReadOnlyList` 2024-07-02 11:59:24 +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
Dan Balasescu 4cb58fbe47
Add failing test 2024-07-01 15:02:00 +09:00
Nathan Du 463ab46fee formatting 2024-06-29 16:46:16 +08:00
Nathan Du 679f4735b3 add tests for No Release mod
The new test scene is essentially a copy of TestSceneHoldNoteInput,
modified to test the judgement changes applied by the new mod. A base
class might need to be abstracted out for them.
2024-06-29 16:20:07 +08:00
Dean Herbert 14104e57d4
Merge branch 'master' into timeline-drag-selection-crash 2024-06-20 15:16:10 +09:00
Bartłomiej Dach 659505f711
Adjust calls to `GetContainingInputManager()` 2024-06-18 07:41:19 +02:00
Bartłomiej Dach 31a8bc7553
Remove redundant qualifier 2024-06-14 14:12:55 +02:00
Bartłomiej Dach bdeea37a44
Commit active placement when starting drag selection via timeline
This was reported in https://github.com/ppy/osu/pull/28474, albeit the
code changes proposed there did not fix the issue at all.

See 8b6385f7d0 for demonstration of the
crash scenario. Basically what is happening there is:

- The starting premise is that there is a spinner placement active.
- At this time, a drag selection is started via the timeline.
- Once the drag selection finds at least one suitable object to select,
  it mutates `SelectedItems`.
- When selection changes for any reason, the `HitObjectComposer`
  decides to switch to the "select" tool, regardless of why
  the selection changed.
- Changing the active tool causes the current placement - if any -
  to be committed, which mutates the beatmap.
- Back at the drag box selection code, this causes a "collection
  modified when enumerating" exception.

The proposed fix here is to eagerly commit active placement - if any -
when drag selection is initiated via the timeline, which avoids this
issue. This also appears to vaguely match stable behaviour and is sort
of consistent with the logic of committing any outstanding changes upon
switching to the selection tool.
2024-06-14 09:32:40 +02:00
Bartłomiej Dach 6d2f910813
Add test coverage 2024-06-12 15:43:33 +02:00
Bartłomiej Dach feadf7a56e
Allow modifying hold note start/end time via mania composer playfield 2024-06-12 15:30:27 +02:00
Bartłomiej Dach e67d73be7d
Add test coverage 2024-06-11 12:28:39 +02:00
Bartłomiej Dach f787a29f49
Add test coverage 2024-06-07 09:19:17 +02:00
Dean Herbert 636e200471
Update tests in line with new structure 2024-05-14 22:34:05 +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
Dan Balasescu a761a7bced
Hook up touch device mod 2024-05-14 19:14:58 +08:00
Bartłomiej Dach 9b923b1909
Fix code quality issues 2024-03-26 10:55:49 +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 5bd037fe8f
Merge branch 'master' into catch-fail-on-banana 2024-03-04 13:13:26 +09:00
Dean Herbert 4184a5c1ef
Add flag to allow backwards seeks in tests 2024-02-29 23:05:28 +08:00
Salman Ahmed ec85bf0ae6 Update other VS code configuration files 2024-02-16 01:45:30 +03: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
Bartłomiej Dach d07ea8f5b1
Add failing test coverage for mania 2024-02-13 13:06:19 +01:00
Dan Balasescu 5265d33c12
Make coverage into a bindable 2024-02-06 23:33:00 +09:00
Dan Balasescu 6e4d52863c
Upgrade to .NET 8 SDK 2024-02-02 21:28:51 +09:00
Andrei Zavatski 7dba870518 Rework Content storage in ColumnFlow 2024-01-30 03:07:37 +03:00
Dean Herbert 18d16018d3
Fix failing tests due to pooling safety changes 2024-01-21 12:17:16 +09:00
Dean Herbert a69fd8198d
Update framework and other nuget packages
- Moq held back because dicks
- NUnit held back because large API changes (trivial but effort)
- SignalR held back due to api deprecations
2024-01-21 11:00:53 +09:00
Salman Ahmed 95961dc989 Add various visual test coverage 2023-12-30 05:29:44 +03:00
Dan Balasescu 88a5ba8167
Add mania/osu sudden death mod tests 2023-12-22 16:43:09 +09:00
Dan Balasescu 93efa98d9b
Fix mania "Great" hits failing with perfect mod 2023-12-22 16:19:36 +09:00
Dan Balasescu 9c35e25036
Add failing tests 2023-12-22 13:58:12 +09:00