Dean Herbert
e4f895b490
Fix editor buttons inheriting from TriangleButton
when they have no need to
2021-04-30 14:48:37 +09:00
Dean Herbert
434e63d629
Add skin customisation support to song progress display
2021-04-29 16:12:15 +09:00
Dean Herbert
fd587a82ff
Replace abstract class with interface, attached to the actual components (not skinnable wrapper)
2021-04-29 16:12:15 +09:00
Dean Herbert
defa350aa7
Set defaults on SkinnableHUDComponent to cancel out relative size default
...
Specifying locally on each HUD component looks to make more sense.
2021-04-29 16:12:15 +09:00
Dean Herbert
2540d6029c
Use AutoSize for SkinnableHudComponents
2021-04-29 16:12:15 +09:00
Dean Herbert
59339aa4fd
Add support for x/y position and scale back in
2021-04-29 16:12:15 +09:00
Dean Herbert
1cb8fc9a24
Extract editor classes out of test namespace and add anchor support
2021-04-29 16:12:15 +09:00
Dean Herbert
74fb7cd180
Extract storable attributes to bindables
2021-04-29 16:12:15 +09:00
Dean Herbert
fca173225a
Refactor editor selection/blueprint components to be generic
2021-04-29 16:12:14 +09:00
Dean Herbert
2d17219c8f
Setup basic test and classes for scale adjustment
2021-04-29 16:12:14 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Dean Herbert
f3c7694eeb
Rename methods to match generally how these find-methods are named elsewhere
2021-04-28 16:57:52 +09:00
Dean Herbert
48d6c9ac4b
Move snap/divisor helper methods to inside ControlPointInfo
2021-04-28 16:47:30 +09:00
Dean Herbert
e0906daebf
Change one remaining instance of incorrect terminology in xmldoc
2021-04-28 13:49:41 +09:00
Dean Herbert
4c9e94da2b
Move context menu logic to base class
2021-04-28 13:43:16 +09:00
Dean Herbert
532ec40395
Remove unnecessary newline
2021-04-28 12:04:48 +09:00
Dean Herbert
43772f4303
Remove duplicated call to initially select blueprint
2021-04-28 12:03:41 +09:00
Dean Herbert
e4f2e0131c
Rename AllowDeselection
to better match use case
2021-04-28 12:02:55 +09:00
Dean Herbert
a9a5809e94
Fix incorrect xmldoc in MoveSelectionEvent
2021-04-28 11:46:52 +09:00
Dean Herbert
d0be8f9fb3
Remove one more out-of-date comment
2021-04-28 11:45:36 +09:00
Dean Herbert
bc455005a5
Fix incorrect coordinate space mention in xmldoc
2021-04-28 11:44:50 +09:00
Dean Herbert
61d4eb1777
Remove unnecessary and out-of-place xmldoc
2021-04-28 11:44:19 +09:00
Dean Herbert
aa1cb65eaa
Rename region to be more inclusive
2021-04-28 11:42:22 +09:00
Dean Herbert
42255f8d33
Rename and xmldoc selection completed method
2021-04-27 19:01:29 +09:00
Dean Herbert
7ec5ea1eb5
Remove hitobject terminology from base classes
2021-04-27 19:01:29 +09:00
Dean Herbert
ff06a27a12
Revert changes to OnBlueprint
methods and handle select-on-addition locally
2021-04-27 19:01:29 +09:00
Dean Herbert
f97b14a20a
Fix binding direction of selected items
2021-04-27 19:01:29 +09:00
Dean Herbert
dd3d8e5d03
Make SelectionHandler
abstract to ensure things get implemented
2021-04-27 19:01:29 +09:00
Dean Herbert
32416e4e31
Move model selection handling to base SelectionHandler
class
2021-04-27 19:01:29 +09:00
Dean Herbert
eac139ca0e
Allow BlueprintContainer to perform movement without an ISnapProvider
2021-04-27 19:01:29 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
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
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
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
fdb5490e51
Attempt to explain source initialisation better
2021-04-23 21:56:08 +02:00
smoogipoo
ae2fd2f2e1
Ensure source is set on reset
2021-04-23 18:46:59 +09:00
Denrage
713344ebad
Reorganize methods
2021-04-23 10:31:49 +02:00
Dan Balasescu
93b53f54fa
Merge pull request #12531 from peppy/editor-add-nudge-shortcuts
...
Add simple key based time nudging support to editor
2021-04-22 21:14:51 +09:00
Dan Balasescu
50f37ef09c
Merge pull request #12519 from peppy/editor-hit-animation-toggle
...
Add editor hit animation toggle
2021-04-22 20:49:21 +09:00
Dean Herbert
a5364b224f
Add simple key based time nudging support to editor
2021-04-22 18:47:04 +09:00
Dean Herbert
1884c18a2c
Ignore movement operations which have no offset
2021-04-22 18:12:03 +09:00
Dean Herbert
daafa41dc1
Merge branch 'master' into fix-initial-spectator-state-callback
2021-04-22 16:22:04 +09:00
Denrage
56a69ed956
Codestyle fixes
2021-04-21 15:53:28 +02:00
Denrage
0dfd0bb59d
Refactored background of BeatmapInfoWedge
2021-04-21 15:46:11 +02:00
Denrage
d6928e91fd
Removed BeatmapInfo in StarRatingDisplay
2021-04-21 15:43:48 +02:00
Denrage
9fba87f67a
Moved Info and Background into own container
2021-04-21 15:43:29 +02:00
Denrage
de04caeace
Fixed race condition in StarRatingDisplay
2021-04-21 13:53:08 +02:00
Dean Herbert
9d8f0c854d
Setup configuration item for editor hit animations
2021-04-21 18:05:40 +09:00
Dean Herbert
c6c91cd9a5
Refactor WaveformOpacityMenuItem
to not receive whole config
2021-04-21 18:05:26 +09:00
smoogipoo
31c5fb350f
Merge branch 'master' into gcc-abstraction
2021-04-21 16:33:36 +09:00
smoogipoo
fb848f7544
Rename to MasterGameplayClock
2021-04-21 16:33:14 +09:00
Dean Herbert
26430e3cb5
Merge pull request #12492 from Naxesss/bg-audio-quality-checks
...
Add background and audio checks
2021-04-21 00:10:32 +09:00
Denrage
e9571b72cf
Fixed InspectCode
2021-04-20 14:53:35 +02:00
Denrage
583754b22a
Removed unnecessary whitespaces
2021-04-20 14:29:53 +02:00
Denrage
df29e61147
Fix CodeFactor error
2021-04-20 14:22:49 +02:00
smoogipoo
a9e4a0ed50
Fix potentially starting play when finished
...
The UserFinishedPlaying event may trigger before the event is subscribed
to by SpectatorScreen. For such cases, an extra check is done to make
sure the user is _actually_ playing.
2021-04-20 21:19:08 +09:00
Denrage
f799a6e733
Removed StarDifficulty binding passthrough
2021-04-20 14:18:41 +02:00
smoogipoo
156a518068
Merge branch 'master' into fix-initial-spectator-state-callback
2021-04-20 21:16:05 +09:00
Naxess
3e1b6b3b34
Simplify verifier run call args
...
Uses the resolved working beatmap instead of resolving it every time.
Also uses the EditorBeatmap itself as playable beatmap, as it is of type `IBeatmap` already, and `.PlayableBeatmap` forwards everything anyway.
2021-04-20 13:34:12 +02:00
Denrage
c5d35ab787
removed mods binding passthrough
2021-04-20 12:40:22 +02:00
Denrage
4e6cd8082e
WIP refresh BPM-Label on mod change
2021-04-20 12:00:04 +02:00
smoogipoo
ec080fcb32
Move seekOffset back to MasterGameplayClockContainer
2021-04-20 18:25:46 +09:00
smoogipoo
a683e5ec34
Seek using local method
2021-04-20 17:40:11 +09:00
Denrage
6e72ee5f76
Added bindable stardifficulty to StarRatingDisplay
2021-04-20 10:37:53 +02:00
Denrage
505a117862
splitted updateable part of wedge
2021-04-20 10:37:52 +02:00
smoogipoo
97fb90d9f4
Move clock processing to base.Seek()
2021-04-20 17:35:59 +09:00
smoogipoo
80473a356e
Merge branch 'fix-pre-seek-sample-lifetime' into gcc-abstraction
2021-04-20 17:27:01 +09:00
smoogipoo
3d6d26039a
Remove unused usings
2021-04-20 14:09:54 +09:00
smoogipoo
88ded95e75
Ensure clock is set in GCC.Start()
2021-04-20 13:56:13 +09:00
smoogipoo
8dd9134e3d
Move source clock adjustment application to Start()
2021-04-20 13:09:49 +09:00
smoogipoo
a92ae8ce76
Fix Reset() potentially not resetting to the intended start position
2021-04-20 13:01:42 +09:00
Naxess
496df411a7
Remove now unused import
2021-04-20 02:39:11 +02:00
Naxess
0e6b66f457
Merge branch 'master' into bg-audio-quality-checks
2021-04-20 02:36:13 +02:00
Naxess
8656176ab8
Add the playable beatmap as check argument
...
This is different from the working beatmap's `.Beatmap` property in that it is mutated by the ruleset/editor.
So hit objects, for example, are actually of type `Slider` and such instead of the legacy `ConvertSlider`.
This should be preferred over `workingBeatmap.Beatmap`.
2021-04-20 01:31:51 +02:00
Denrage
6bf6084ae9
fixed according to suggestions
2021-04-19 19:24:46 +02:00
Bartłomiej Dach
0825fc57a9
Move foreground colour helper into OsuColour
2021-04-19 18:24:48 +02:00
Bartłomiej Dach
97573fb11d
Merge branch 'master' into combo-colours-display
2021-04-19 18:21:57 +02:00
Denrage
9f24cdb355
Added Author Link in BeatmapInfoWedge
2021-04-19 16:54:09 +02:00
smoogipoo
acbf4580a4
Only set initial source in Reset()
2021-04-19 19:57:00 +09:00
smoogipoo
c7183f92f7
Rename Restart() -> Reset()
2021-04-19 19:57:00 +09:00
Dean Herbert
a40dcd4b8d
Add a touch more space in the timing column
2021-04-19 18:53:06 +09:00
Dean Herbert
097a347533
Adjust Add different background colour for timing area
2021-04-19 18:25:30 +09:00
Dean Herbert
5bce5d2057
Update design logic
2021-04-19 18:25:20 +09:00
smoogipoo
5397f4faba
Merge branch 'master' into fix-initial-spectator-state-callback
2021-04-19 16:49:06 +09:00
smoogipoo
c50b526ba0
Remove local state dictionary from SpectatorScreen
2021-04-19 16:48:55 +09:00
Dean Herbert
1ebc5ac5cc
Remove unused legacy class
2021-04-19 16:36:00 +09:00
Dean Herbert
8da561a2a6
Soften colours and adjust padding slightly
2021-04-19 16:35:36 +09:00
Dean Herbert
f8b20ca8aa
Add new display for effect row attribute
2021-04-19 16:35:36 +09:00
Dean Herbert
ec249a0edb
Add new display for sample row attribute
2021-04-19 16:23:28 +09:00
Dean Herbert
6465a72060
Add bubbled word class for use in attribute rows
2021-04-19 16:23:28 +09:00
Dean Herbert
3aad0a8b9c
Add new display for difficulty row attribute
2021-04-19 16:23:06 +09:00
Dean Herbert
d3cebfb6fb
Use explicit label
2021-04-19 16:23:06 +09:00
Dean Herbert
a10a8680d0
Add new display for timing row attributes
2021-04-19 16:23:06 +09:00
Christine Chen
abfa6aec87
Remove completionState parameter
2021-04-19 01:58:19 -04:00
Dean Herbert
f4baff9e04
Make TimingScreen
use rounded screen and adjust spacing/padding
2021-04-19 14:35:35 +09:00
Dean Herbert
e143afb598
Split out rounded content screen from SetupScreen for use in other places
2021-04-19 14:28:32 +09:00
Christine Chen
0b36dd9bce
Skip outro overlay and PerformExit() call updateCompletionState() instead of scheduleCompletion()
...
Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-19 01:23:21 -04:00
Dean Herbert
513e470b52
Adjust grid spacing to allow attributes to use more width
2021-04-19 13:24:53 +09:00
Dean Herbert
0c918410d0
Make "add" button more visible
2021-04-19 13:15:24 +09:00