27154 Commits

Author SHA1 Message Date
Naxess
7b9ed924be Rename snapping methods
Further separates them from `IBeatSnapProvider`'s `SnapTime`, and groups them together more, to prevent confusion between the two interfaces.

Also changes the xmldoc of the reference time to that of `IBeatSnapProvider` for consistency.
2021-04-26 16:07:30 +02:00
smoogipoo
630a6dc46a Fix missing dependency 2021-04-26 22:23:44 +09:00
smoogipoo
ed93e26e52 Use single method for starting/restarting spectator screen 2021-04-26 21:56:15 +09:00
smoogipoo
7e11d520d5 Remove finished players from multi spectator screen 2021-04-26 21:25:46 +09:00
smoogipoo
213ac88a8b Fix exported scores not being compatible with osu-stable 2021-04-26 20:52:20 +09:00
smoogipoo
6560dc2d1f Fix exported replays being wrapped in zip packages 2021-04-26 20:46:44 +09:00
smoogipoo
94d0b06493 Expose mute adjustment instead 2021-04-26 19:01:30 +09:00
Dan Balasescu
6d2a5b614c
Merge branch 'master' into drawable-object 2021-04-26 18:33:44 +09:00
Dean Herbert
9770c316e2 Add back the construction of the KeyBindingStore
This reverts commit 21b6adbf791a213c581aafddcd12a3da3d2ac19f.
2021-04-26 18:26:57 +09:00
Dean Herbert
21b6adbf79 Remove DI caching of RealmKeyBindingStore 2021-04-26 17:52:17 +09:00
Dean Herbert
253c66034d Remove unused using statement 2021-04-26 17:45:43 +09:00
smoogipoo
4c5a5c449a Merge branch 'multiplayer-spectator-screen' of https://github.com/smoogipoo/osu into multiplayer-spectator-screen 2021-04-26 17:35:37 +09:00
smoogipoo
d7618b63fa Fix test failure 2021-04-26 17:35:13 +09:00
smoogipoo
6626e70c95 Pass in master clock instead of slave clock 2021-04-26 17:30:27 +09:00
Dean Herbert
120fb8974d Combine more instances of test player IDs 2021-04-26 17:22:16 +09:00
smoogipoo
5b4cb71cc7 Change terminology from "slave" to "player clock" 2021-04-26 17:19:44 +09:00
Dean Herbert
61f3cc9bc2 Fix update method not switched across to using Guid 2021-04-26 17:10:28 +09:00
Dean Herbert
8961203f08 Move guid initialisation to database model itself 2021-04-26 17:06:03 +09:00
Dean Herbert
aa99c192d0 Fix type in inline comment 2021-04-26 16:21:12 +09:00
smoogipoo
fd5fbaf0db Rename ruleset wrapper class 2021-04-26 15:37:42 +09:00
Dean Herbert
3bf462e4fa Add ignore rule for migrations for client.realm.lock 2021-04-26 15:35:26 +09:00
Dean Herbert
3b876a43c2
Merge branch 'master' into multiplayer-spectator-screen 2021-04-26 14:12:35 +09:00
Naxess
049e42fa85 Move snapping responsibility to IBeatmap
Seems `EditorBeatmap` already implements a different kind of `SnapTime` from `IBeatSnapProvider`, so method names here aren't great.

This is very similar to what https://github.com/ppy/osu/pull/12558 is doing, so may need to do some duplicate resolution later, especially surrounding `ClosestBeatSnapDivisor`.

Worth noting that this change makes 1/7, 1/5, etc unsupported for now, as we now rely on `BindableBeatDivisor.VALID_DIVISORS`.
2021-04-26 05:07:24 +02:00
ekrctb
6561a7c7d6 Rename DrawableObject -> PoolableDrawableWithLifetime 2021-04-26 12:06:21 +09:00
ekrctb
20e3cadd30 freeIfInUse -> free, and add comments 2021-04-26 12:04:59 +09:00
ekrctb
e6474e6ff7 Remove redundant statement (lifetime is set in base) 2021-04-26 11:47:38 +09:00
Justus Franklin Tumacder
8bb1fcd39b Add tests for BeatDivisorFinder 2021-04-26 07:07:32 +08:00
Salman Ahmed
485da47d89 Revert "Inherit VisibilityContainer and make duration constant protected"
This reverts commit c58ef4230da768aad729e4785a156c80e83bad54. Uhh, how did I push this..
2021-04-26 01:41:42 +03:00
Salman Ahmed
b252485e1a Remove protected expose of HandlingMouse setter
Regardless of `OnDragEnd()`, `OnMouseUp()` will still be called resetting the value of that state back.
2021-04-25 20:13:23 +03:00
Salman Ahmed
7390a12e4b SelectionBoxDragHandleDisplay -> SelectionBoxDragHandleContainer 2021-04-25 20:03:15 +03:00
Salman Ahmed
c58ef4230d Inherit VisibilityContainer and make duration constant protected 2021-04-25 20:03:15 +03:00
Salman Ahmed
79e2b232d8
Improve English
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-04-25 19:26:53 +03:00
Bartłomiej Dach
33a5c156a1 Use existing snap list from BindableBeatDivisor 2021-04-25 17:52:11 +02:00
Bartłomiej Dach
e14255f395 Rename {Snap -> BeatDivisor}Finder 2021-04-25 17:44:26 +02:00
Salman Ahmed
a8c460f7df Replace separated top-centered rotation button with rotation drag handles 2021-04-25 10:17:36 +03:00
Salman Ahmed
77f7d4c963 Add composite managing display of selection box drag handles 2021-04-25 10:17:36 +03:00
Salman Ahmed
ab71782674 Use colour fade transform for selection box controls
To become harminous with the fade transforms of the rotation control
2021-04-25 10:14:31 +03:00
Salman Ahmed
62bcc5f76d Add property for tracking whether control is during operation 2021-04-25 10:14:31 +03:00
Naxess
6fd77e536d Add unsnap check 2021-04-25 05:34:54 +02:00
Justus Franklin Tumacder
211bff6a8f Fix cake errors 2021-04-25 09:21:25 +08:00
Justus Franklin Tumacder
1f48378ce7 Add xmldoc to SnapFinder 2021-04-25 08:53:45 +08:00
Justus Franklin Tumacder
e0ca44c908 Move SnapFinder from mania ruleset to osu.Game 2021-04-25 07:35:53 +08:00
Joseph Madamba
c9967f7b74 Fix button being recreated on importing state 2021-04-24 08:37:37 -07:00
Joseph Madamba
46c44c576d Fix beatmap info download button content not scaling on mouse down 2021-04-24 08:23:27 -07:00
Bartłomiej Dach
e937b778f6 Fix potential failure in ensureSourceClockSet()
`ensureSourceClockSet()` was intended to only run when the adjustable
source hasn't been set at all yet. As it turns out permitting it to run
unconditionally can break the state of the underlying interpolated
clock. This is caused by the following factors:

* While the decoupleable clock is running, its `CurrentTime` does not
  come from either the source clock, or the internal stopwatch; it is
  instead calculated using the base `InterpolatingFramedClock` logic.

* A source change of a decoupleable clock seeks the provided source
  clock to the decoupleable's current time.

* When an interpolating clock is seeked (decoupleable clock is also
  an interpolating one), its interpolation state
  (`{Last,Current}InterpolatedTime`) are reset to 0.

* If the interpolating clock determines that its current time is too
  far away from the source's time (which was set when the source is
  changed), it will ignore the source and instead continue to use
  its current time until the source clock has caught up.

Overall, the source change is not really necessary if a source is
already there. The only reason to ensure it was set was to make sure
the first seek of the gameplay clock wasn't performed in decoupled
mode. Therefore, add a guard to make sure the source is only set if
there isn't one already.
2021-04-24 14:19:39 +02:00
Denrage
59ae5ab913 Added transition in StarRatingDisplay 2021-04-24 13:25:29 +02:00
Bartłomiej Dach
34fa51dee9 Merge branch 'master' into gcc-change-source-on-reset 2021-04-24 13:23:02 +02:00
Dean Herbert
2ae144be8e Update framework 2021-04-24 14:38:00 +09:00
Salman Ahmed
206fc94b8c Add rotation drag handle component 2021-04-24 08:00:36 +03:00
Salman Ahmed
4bfa9cd6b6 Change inheritance of selection box buttons to base control instead 2021-04-24 08:00:29 +03:00