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

14879 Commits

Author SHA1 Message Date
Bartłomiej Dach
343090e3b1
Do not regenerate breaks unless meaningful change to object start/end times is detected
Tangentially found when profiling https://github.com/ppy/osu/pull/28792.

For reproduction, import https://osu.ppy.sh/beatmapsets/972#osu/9007,
move any object on the playfield, and observe a half-second freeze
when ending the drag.
2024-07-10 11:42:25 +02:00
Dean Herbert
aadcc5384d
Adjust editor transparent tweens to be less "flashy"
Touched on in https://github.com/ppy/osu/discussions/28581.

After a bit more usage of the editor I do agree with this and think that
making the fades a bit more gentle helps a lot.
2024-07-09 16:16:19 +09:00
Dean Herbert
c100d1ab65
Merge pull request #28769 from peppy/carousel-realm-simplification
Simplify realm model tracking in `BeatmapCarousel` (and fix hard delete handling)
2024-07-09 01:40:10 +09:00
Dan Balasescu
9c2a0576fb
Merge pull request #28776 from bdach/fix-composer-disappearing
Fix composer disappearing when undoing change to control points
2024-07-09 00:54:38 +09:00
Dean Herbert
9a61adc4bc
Ensure other lists are cleared when realm is reset 2024-07-08 23:59:20 +09:00
Bartłomiej Dach
275b959c02
Fix composer disappearing when undoing change to control points
As mentioned in https://github.com/ppy/osu/issues/28752.
Regressed in https://github.com/ppy/osu/pull/28444.
2024-07-08 16:28:54 +02:00
Bartłomiej Dach
877b5768fc
Merge branch 'master' into sorted-breaks 2024-07-08 15:59:32 +02:00
Salman Ahmed
b33e54d064 Enforce IBeatmap.Breaks to be sorted chronologically 2024-07-08 16:06:38 +03:00
Bartłomiej Dach
2cad8d3684
Merge branch 'master' into time-accurate 2024-07-08 14:19:57 +02:00
OliBomby
2822ba2377 Fix CurrentTimeAccurate being inaccurate if seeking smoothly in the same frame and a transform is already active 2024-07-08 13:30:11 +02:00
Bartłomiej Dach
0fe2c45e1d
Fix editor playback control not removing correct adjustment
Closes https://github.com/ppy/osu/issues/28768.

great job past me 🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦
2024-07-08 13:21:42 +02:00
Dean Herbert
8f271170e9
Coalesce beatmap updates 2024-07-08 20:05:18 +09:00
Dean Herbert
1095137a5b
Simplify tracking of hidden beatmaps
Handling a few extra events is preferrable to keeping a second realm
subscription live.
2024-07-08 20:05:18 +09:00
Dean Herbert
151c448535
Simplify tracking of beatmap sets in BeatmapCarousel 2024-07-08 20:05:18 +09:00
Dan Balasescu
b2bdb67a3e
Merge pull request #28765 from bdach/editor-menu-max-height
Fix editor menus overflowing off screen
2024-07-08 19:13:30 +09:00
Bartłomiej Dach
db7774485a
Fix editor player crashing with UR counter present in skin
Closes https://github.com/ppy/osu/issues/28764.
2024-07-08 11:14:32 +02:00
Bartłomiej Dach
2ceedb0f93
Fix editor menus overflowing off screen
Closes https://github.com/ppy/osu/issues/28750.

Yes this is not the perfect change to fix this (which would probably be
some framework change to take bounds of the parenting input manager into
account). I really do not want to go there and would like to just fix
this locally and move on. Due to the game-wide scaling container this
sorta works for any resolution anyhow.
2024-07-08 11:05:39 +02: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
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
Salman Ahmed
207ee8a2ee Fix editor not updating ruleset when switching difficulty 2024-07-04 14:06:36 +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
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching 2024-07-03 22:36:57 +09:00
Bartłomiej Dach
e73faaefd2
Merge branch 'master' into editor-test-play 2024-07-03 13:54:47 +02:00
Dean Herbert
56cdd83451
Adjust padding and round corners of hover layer 2024-07-03 20:42:34 +09:00
Dean Herbert
5f56ed6872
Merge branch 'master' into navigate-to-timestamp 2024-07-03 20:42:32 +09:00
Bartłomiej Dach
17ce9cd162
Merge branch 'master' into grids-2 2024-07-03 10:57:05 +02:00
Dean Herbert
824a00b018
Merge pull request #28707 from bdach/remove-breaks
Add option to remove breaks via timeline context menu
2024-07-03 16:29:25 +09:00
Dean Herbert
abfcac7466
Fix nullability 2024-07-03 15:31:46 +09:00
Dean Herbert
b6dc483fc1
Add missing change handler to ensure undo/redo works for break removal 2024-07-03 14:23:31 +09:00
Salman Ahmed
cb350470e5
Merge branch 'master' into update-framework-has-flag 2024-07-03 07:06:13 +03:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Bartłomiej Dach
a7b066f3ee
Include node samples when changing additions and banks 2024-07-02 16:22:15 +02:00
Bartłomiej Dach
9414aec8bf
Add capability to remove breaks via context menu 2024-07-02 14:55:04 +02:00
Bartłomiej Dach
d85c467856
Implement quick exit hotkeys for editor test play 2024-07-02 14:34:36 +02:00
Bartłomiej Dach
e28befb98d
Implement quick pause toggle for editor test play 2024-07-02 14:34:35 +02:00
Bartłomiej Dach
1e4db77925
Implement autoplay toggle for editor test play
Contains some hacks to fix weird behaviours like rewinding to the start
on enabling autoplay, or gameplay cursor hiding.
2024-07-02 14:34:31 +02:00
Dan Balasescu
31edca866c
Remove unused code 2024-07-02 12:21:24 +09: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
Dean Herbert
005af280f2
Isolate bindable breaks list to EditorBeatmap 2024-07-02 11:31:55 +09:00
Dan Balasescu
f942595829
Fix ManiaModInvert permanently messing up the beatmap 2024-07-01 15:02:00 +09:00
Dean Herbert
9aec1de4c2
Merge branch 'master' into daily-challenge/integration 2024-07-01 10:37:33 +09:00
Dean Herbert
8bb51d5a4f
Fix summary timeline not correctly updating after changes to breaks
Closes https://github.com/ppy/osu/issues/28678.

Oops.
2024-06-30 20:32:16 +09:00
Bartłomiej Dach
df97215298
Use room watching functionality to receive realtime daily challenge updates 2024-06-28 13:35:16 +02:00
Bartłomiej Dach
81c6da98c2
Merge pull request #26465 from LeNitrous/fix/editor-test-exit
Fix editor test play not marking hit objects before its start time as judged.
2024-06-28 12:12:17 +02:00
Dean Herbert
4bb8a45d75
Merge pull request #28636 from bdach/daily-challenge/watch-room
Add client/server models for allowing clients to receive realtime playlist updates
2024-06-28 17:51:40 +09:00
Bartłomiej Dach
a3ea36d2b2
Fix formatting 2024-06-28 09:45:45 +02:00
Bartłomiej Dach
7ac5bd4d37
Ensure past drawable objects also get their results populated in editor test play 2024-06-28 09:37:10 +02:00