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

67862 Commits

Author SHA1 Message Date
Dan Balasescu
9375f79879
Add frenzibyte to users that can use diffcalc workflow 2024-07-08 13:58:42 +09:00
Dan Balasescu
0bb6c252a7
Merge pull request #28746 from bdach/fix-ternary-state-breakage
Fix incorrect ternary state computation for bank toggles
2024-07-05 17:42:27 +09:00
Bartłomiej Dach
4c59ec1d94
Fix incorrect ternary state computation for bank toggles
Closes https://github.com/ppy/osu/issues/28741.

Regressed in a7b066f3ee.

The intent of the original change there was to ensure that addition
banks being set will put the ternary state toggles in indeterminate
state (to at least provide a visual indication that the selection does
not use a single bank). This would previously not be the case due to
the use of `.All()` in the original condition (a single object/node
was considered to have a bank enabled if and only if *all* samples
within it used it). However the attempt to fix that via switching
to `Any()` was not correct.

The logic used in the offending commit operates on extracted `Samples`
and `NodeSamples` from the selection, and would consider the ternary
toggle:

- fully off if none of the samples/node samples contained a sample with
  the given bank,
- indeterminate if the some of the samples/node samples contained a
  sample with the given bank,
- fully on if at least one sample from every samples/node samples
  contained a sample with the given bank.

This is a *two-tiered* process, as in first a *binary* on/off state is
extracted from each object's samples/node samples, and *then* a ternary
state is extracted from all objects/nodes. This is insufficient to
express the *desired* behaviour, which is that the toggle should be:

- fully off if *none of the individual samples in the selection* use
  the given bank,
- indeterminate if *at least one individual sample in the selection*
  uses the given bank,
- fully on if *all individual samples in the selection* use the given
  bank.

The second wording is flattened, and no longer tries to consider "nodes"
or "objects", it just looks at all of the samples in the selection
without concern as to whether they're from separate objects/nodes
or not.

To explain why this discrepancy caused the bug, consider a single object
with a `soft` normal bank and `drum` addition bank. Selecting the object
would cause a ternary button state update; as per the incorrect logic,
there were two samples on the object and each had its own separate
banks, so two ternary toggles would have their state set to `True`
(rather than the correct `Indeterminate`), thus triggering a bindable
feedback loop that would cause one of these banks to win and actually
overwrite the other.

Note that the addition indeterminate state computation *still* needs
to do the two-tiered process, because there it actually makes sense (for
a selection to have an addition fully on rather than indeterminate,
*every* object/node *must* contain that addition).
2024-07-05 09:27:21 +02:00
Bartłomiej Dach
d6c1b5d399
Add failing test coverage 2024-07-05 08:54:47 +02:00
Bartłomiej Dach
f8a2b0724d
Merge pull request #28726 from OliBomby/nodesample-inherit
Fix node samples always having default samples on placement
2024-07-05 08:45:35 +02:00
Bartłomiej Dach
6907d3d3b5
Merge branch 'master' into nodesample-inherit 2024-07-05 08:12:47 +02:00
Bartłomiej Dach
ab8623ec48
Merge pull request #28727 from OliBomby/inherit-addition
Allow inheriting addition bank from previous hitobject when using auto bank assignment
2024-07-05 08:12:30 +02:00
Dean Herbert
bab1216c6e
Merge pull request #28745 from peppy/music-controller-nullability
Apply nullability to `MusicController`
2024-07-05 15:04:28 +09:00
Dean Herbert
482ac32f01
Remove and ignore encodings.xml
Disappeared in latest EAP and doesn't look like something we would have
wanted to be committed in the first place.
2024-07-05 13:00:10 +09:00
Dean Herbert
d21eec9542
Apply nullability to MusicController 2024-07-05 12:50:15 +09:00
Dan Balasescu
aaef5c189d
Merge pull request #28739 from peppy/fix-skin-fallbacks
Fix incorrect skin fallback order when beatmap skin is present
2024-07-05 12:05:57 +09:00
Dean Herbert
f201cc3fea
Expand explanation in inline comment 2024-07-05 10:09:06 +09:00
Dean Herbert
aa72c09c3a
Merge pull request #28659 from bdach/daily-challenge/integration
Use room watching functionality to receive realtime daily challenge updates
2024-07-04 23:55:46 +09:00
Bartłomiej Dach
c524c23db6
Merge branch 'master' into inherit-addition 2024-07-04 15:24:59 +02:00
Bartłomiej Dach
ea9dd841c0
Merge pull request #28728 from OliBomby/inherit-volume
Always inherit the volume from the previous hit object on placement
2024-07-04 15:24:34 +02:00
Bartłomiej Dach
652d2e9633
Adjust code style 2024-07-04 15:19:36 +02:00
Bartłomiej Dach
e005b46df9
Extend test coverage 2024-07-04 15:19:28 +02:00
Bartłomiej Dach
8b4155fc0a
Merge branch 'inherit-addition' into nodesample-inherit 2024-07-04 15:13:20 +02:00
Bartłomiej Dach
08a77bfe38
Extend test coverage 2024-07-04 15:10:49 +02:00
Bartłomiej Dach
faedf268ec
Merge branch 'inherit-volume' into inherit-addition 2024-07-04 14:52:05 +02:00
Bartłomiej Dach
72492a79cd
Reduce duplication in new logic 2024-07-04 14:45:46 +02:00
Bartłomiej Dach
ea4e6cf1d7
Add test coverage 2024-07-04 14:39:11 +02:00
Bartłomiej Dach
244c4d7c20
Merge pull request #28738 from frenzibyte/fix-editor-difficulty-switch
Fix editor not updating ruleset when switching difficulty
2024-07-04 14:20:32 +02:00
Dean Herbert
e3c8bee7d0
Fix nullability failure 2024-07-04 20:17:40 +09:00
Dean Herbert
b2af49c102
Fix classic fallback not having a transformer (and only add if required) 2024-07-04 20:17:39 +09:00
Salman Ahmed
207ee8a2ee Fix editor not updating ruleset when switching difficulty 2024-07-04 14:06:36 +03:00
Salman Ahmed
7a0a5620e1 Add failing test case 2024-07-04 14:06:18 +03:00
Dean Herbert
a4c575f77a
Merge pull request #28521 from bdach/tempo-adjust-editor
Change editor speed adjustment back to adjusting tempo
2024-07-04 16:42:55 +09:00
Dean Herbert
3f138489a1
Merge pull request #28509 from bdach/slider-anchor-type-switching
Add ability to cycle slider control point types via keyboard
2024-07-04 16:11:37 +09:00
Dean Herbert
73d71d3d77
Merge pull request #28705 from bdach/editor-test-play
Reimplement missing gameplay test hotkeys from stable
2024-07-04 13:44:25 +09:00
Salman Ahmed
d95ea21361
Merge pull request #28716 from 64ArthurAraujo/verify-title-markers
Add verify checks for incorrect title markers
2024-07-04 07:28:32 +03:00
Salman Ahmed
899c8d39fe
Merge branch 'master' into verify-title-markers 2024-07-04 07:07:59 +03:00
Salman Ahmed
e4f90719ed Update test to match new behaviour 2024-07-04 06:22:53 +03:00
Salman Ahmed
371ca4cc4b Remove unnecessary null-conditional operators 2024-07-04 05:43:43 +03:00
OliBomby
e754668daa Always inherit the volume from the previous hit object 2024-07-04 01:09:06 +02:00
OliBomby
8f3a30b0b9 inherit addition bank from last hitobject 2024-07-04 00:56:53 +02:00
OliBomby
8dd04b6e9a update nodesamples on placement 2024-07-04 00:39:12 +02:00
Dean Herbert
e151454c4e
Add missing check for curve menu items not yet being created 2024-07-04 01:00:51 +09:00
Dean Herbert
f7339e3e8b
Remove outdated(?) todo 2024-07-04 00:26:00 +09:00
Dean Herbert
6abb728cd5
Change menu items to be in same order as hotkeys 2024-07-04 00:22:46 +09:00
Dean Herbert
42aff953d9
Ensure menu items update when curve type changes 2024-07-04 00:19:20 +09:00
Bartłomiej Dach
00a0058fc7
Fix typo 2024-07-03 16:13:47 +02:00
Bartłomiej Dach
bcb479d4f7
Use one less regex 2024-07-03 16:13:30 +02:00
Bartłomiej Dach
5696e85b68
Adjust conditionals
The fact that checking the unicode title was gated behind a
`hasRomanisedTitle` guard was breaking my brain.
2024-07-03 15:52:05 +02:00
Bartłomiej Dach
32b3d3d7df
Compile regexes for speed 2024-07-03 15:49:21 +02:00
Bartłomiej Dach
901fec65ef
Address code quality issues 2024-07-03 15:49:17 +02:00
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching 2024-07-03 22:36:57 +09:00
Dean Herbert
5c2555588d
Merge pull request #28511 from bdach/navigate-to-timestamp
Allow to jump to a specific timestamp via bottom bar in editor
2024-07-03 22:24:40 +09:00
Bartłomiej Dach
0ab13e4486
Use alternative method of releasing user-pressed keys when activating autoplay 2024-07-03 14:37:07 +02:00
Bartłomiej Dach
e73faaefd2
Merge branch 'master' into editor-test-play 2024-07-03 13:54:47 +02:00