1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-25 18:13:21 +08:00
Commit Graph

69219 Commits

Author SHA1 Message Date
Dan Balasescu
f86e9c9a4a
Also annotate ControlPointInfo
Same deal with this class. Fully qualifying the type names because this
has `#nullable disable` and makes use of `NotNull` which is also present
in the `System.Diagnostics.CodeAnalysis` namespace and AAAAAAARGH
NAMESPACE CONFLICTS.
2024-06-17 17:13:44 +09:00
Bartłomiej Dach
1b00d0181a
Fix playfield border size not updating in editor on circle size change 2024-06-17 09:36:01 +02:00
Dan Balasescu
41446a08b6
Annotate ControlPoint and Mod for AOT trimming support 2024-06-17 16:19:33 +09:00
Bartłomiej Dach
97003b3679
Account for osu! circle radius when drawing playfield border
Addresses https://github.com/ppy/osu/discussions/13167.
2024-06-17 09:08:43 +02:00
Dan Balasescu
030853ed5a
Merge pull request #28472 from bdach/taiko-mod-relax
Implement relax mod for taiko
2024-06-17 13:49:17 +09:00
Dean Herbert
15fbad0097
Merge pull request #28480 from bdach/storyboard-pass-fail-show
Implement toggling visibility of pass and fail storyboard layers
2024-06-16 11:08:00 +09:00
Dan Balasescu
294f9bd626
Merge pull request #28481 from shiumano/no-offset-change
Disable the automatic offset adjustment button if the offset of the previous play was 0
2024-06-15 19:16:22 +09:00
Dan Balasescu
2ecb9cd79e
Merge pull request #28353 from Givikap120/catch_nf_penalty
Changed Catch NF penalty to match Osu
2024-06-15 18:54:02 +09:00
Dean Herbert
ff2d721029
Inline enabled setting 2024-06-15 17:34:04 +08:00
Dean Herbert
6bd633f8ce
Apply NRT to test scene 2024-06-15 17:26:57 +08:00
Shiumano
6c82f1de9b Set to enable or disable at load time 2024-06-14 21:43:17 +09:00
Bartłomiej Dach
31a8bc7553
Remove redundant qualifier 2024-06-14 14:12:55 +02:00
Bartłomiej Dach
67ca7e4135
Implement toggling visibility of pass and fail storyboard layers
Closes https://github.com/ppy/osu/issues/6842.

This is a rather barebones implementation, just to get this in place
somehow at least. The logic is simple - 50% health or above shows pass
layer, anything below shows fail layer.

This does not match stable logic all across the board because I have
no idea how to package that. Stable defines "passing" in like fifty
ways:

- in mania it's >80% HP
  (bb57924c15/osu!/GameModes/Play/Rulesets/Mania/RulesetMania.cs#L333-L336)
- in taiko it's >80% *accuracy*
  (bb57924c15/osu!/GameModes/Play/Rulesets/Taiko/RulesetTaiko.cs#L486-L492)
- there's also the part where "geki additions" will unconditionally set
  passing state
  (bb57924c15/osu!/GameModes/Play/Player.cs#L3561-L3564)
- and also the part where at the end of the map, the final passing state
  is determined by checking whether the user passed more sections than
  failed
  (bb57924c15/osu!/GameModes/Play/Player.cs#L3320)

The biggest issues of these are probably the first two, and they can
*probably* be fixed, but would require a new member on `Ruleset` and I'm
not sure how to make one look, so I'm not doing that at this time
pending collection of ideas on how to do that.
2024-06-14 13:59:02 +02:00
Shiumano
bfca64a98e Add failing test 2024-06-14 20:07:27 +09: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
8b6385f7d0
Add failing test case demonstrating crash 2024-06-14 09:24:53 +02:00
Dean Herbert
2d4121b14a
Merge pull request #28475 from Joppe27/scorepanel-applause-balance
Fix excessive `applause` audio balancing in result screen
2024-06-14 13:33:23 +09:00
Joppe27
47f89b8969 Clamp X value to avoid excessive balance shift 2024-06-13 18:06:19 +02:00
Bartłomiej Dach
d7997cc93c
Implement taiko relax mod 2024-06-13 15:06:40 +02:00
Bartłomiej Dach
173f195834
Add precautionary test coverage for alternating still being required by default for swells 2024-06-13 15:06:40 +02:00
Bartłomiej Dach
253b7b046b
Add test scene for taiko relax mod 2024-06-13 15:03:43 +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
Bartłomiej Dach
8c4aa84037
Implement event feed view for daily challenge screen 2024-06-13 09:05:45 +02:00
Dan Balasescu
16aebb97a5
Merge pull request #28458 from bdach/mania-editor-hold-note-drag
Allow modifying hold note start/end time via mania composer playfield
2024-06-13 15:42:44 +09:00
Dean Herbert
b61a705f64
Merge pull request #28465 from smoogipoo/hitobject-drawvis-display
Use more descriptive HitObject names for debugger displays
2024-06-13 15:23:13 +09:00
Dan Balasescu
1ff20cc13d
Fix missing texture on extremely long hold notes 2024-06-13 15:19:41 +09:00
Dan Balasescu
91f2cf8cc3
Use more descriptive HitObject names for debugger displays 2024-06-13 15:18:39 +09: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
Dean Herbert
67f1511ad1
Merge pull request #28456 from bdach/daily-challenge/countdown
Implement time remaining display for daily challenge screen
2024-06-12 19:56:59 +09:00
Bartłomiej Dach
ae6dd9d053
Use extracted headings on daily challenge screen 2024-06-12 11:44:19 +02:00
Bartłomiej Dach
51c598627a
Move out section header component from editor
This sort of thing has been showing up on flyte designs more and more
so I want to start using it more over that rather ugly "overlined" text
that's there on multiplayer screens right now.
2024-06-12 11:43:40 +02:00
Bartłomiej Dach
2be6b29f21
Implement time remaining display for daily challenge screen 2024-06-12 11:43:24 +02:00
Bartłomiej Dach
6fb0cabf36
Add start date to Room 2024-06-12 11:43:18 +02:00
Dean Herbert
94b7148a9e
Merge pull request #28440 from bdach/daily-challenge/new-screen
Add minimal viable new screen for daily challenge feature
2024-06-12 17:49:02 +09:00
Bartłomiej Dach
5e002fbf9b
Fix user mod select button being inserted in incorrect place 2024-06-12 08:59:50 +02:00
Dean Herbert
90481223dd
Merge pull request #28445 from bdach/mania-key-count-change-force-reload
Attempt full editor reload on key count change
2024-06-12 14:42:59 +09:00
Dan Balasescu
39b219bacc
Merge pull request #28441 from bdach/fix-editor-stacking-not-applying-immediately
Fix stack leniency not applying immediately after change
2024-06-12 12:24:28 +09:00
Dean Herbert
2a8bd8d968
Fix failing tests due to missing DI pieces 2024-06-12 11:23:56 +08:00
OliBomby
869cd40195 Fixed samples without additions contributing to common addition bank while not having an editable addition bank 2024-06-11 21:31:18 +02:00
OliBomby
12dd60736a remove code already covered by updatePrimaryBankState 2024-06-11 21:20:42 +02:00
Bartłomiej Dach
fb99daea2a
Merge pull request #28443 from ColdVolcano/shorten-accuracy
Fix Argon accuracy counter layout when under 10% and wireframe off
2024-06-11 14:57:59 +02:00
Bartłomiej Dach
e67d73be7d
Add test coverage 2024-06-11 12:28:39 +02:00
Bartłomiej Dach
922837dd3a
Reload scrolling composer on control point changes 2024-06-11 12:01:35 +02:00
Bartłomiej Dach
da53a11d3c
Attempt full editor reload on key count change 2024-06-11 11:31:49 +02:00
Bartłomiej Dach
3afe98612c
Add RestoreState() to IEditorChangeHandler 2024-06-11 11:31:30 +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
Dean Herbert
c640fbbaf0
Merge branch 'master' into daily-challenge/new-screen 2024-06-11 18:24:31 +09:00
ColdVolcano
4048a4bdfb fix accuracy counter separating whole and fraction parts with wireframes off 2024-06-11 02:20:14 -06:00
Bartłomiej Dach
694cfd0e25
Expose singular coarse-grained change event on ControlPointInfo 2024-06-11 09:16:45 +02:00