Naxess
7a6e9e5070
Change category of unsnap check to timing
...
Makes more sense, as this is typically the result of timing changes.
2021-04-27 02:32:57 +02:00
Naxess
9e49ecb573
Remove unused virtual
keywords
...
Added these in a previous iteration, where I had the mania variant inherit this class.
No longer necessary as `IHasColumn` was used to make this check more generic.
2021-04-27 02:23:06 +02:00
Naxess
a3c1b1fd52
Fix accessibility of areConcurrent
2021-04-27 01:24:38 +02:00
Naxess
217ff8238e
Add snapping time comment
2021-04-27 01:23:03 +02:00
Naxess
6d5883abcb
Return result of local variable instead
2021-04-27 01:19:38 +02:00
Naxess
ce258febf6
Rename CheckUnsnaps
-> CheckUnsnappedObjects
...
Will potentially have `CheckUnsnappedKiai` or similar later, so this is worth specifying.
Also consistent with `CheckConcurrentObjects`, which will likely have a `CheckConcurrentLines` later.
2021-04-26 20:32:44 +02:00
Naxess
b9e4f73f78
Add concurrent objects check to BeatmapVerifier
2021-04-26 20:28:59 +02:00
Naxess
a3570e18dd
Add concurrent objects check
...
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.
We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
Derrick Timmermans
08a232f7fa
Add method to safely refresh DrawableHitObject transforms
2021-04-26 20:08:40 +02:00
Naxess
9b9c473616
Remove redundant string formatting
2021-04-26 16:17:38 +02: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
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
Dan Balasescu
6d2a5b614c
Merge branch 'master' into drawable-object
2021-04-26 18:33:44 +09:00
smoogipoo
fd5fbaf0db
Rename ruleset wrapper class
2021-04-26 15:37:42 +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
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
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
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
Dean Herbert
3b77d02752
Merge pull request #12537 from smoogipoo/fix-initial-playingusers
...
Fix current match playing users not updated on room join
2021-04-23 12:00:33 +09:00
Dean Herbert
fbb9cb3f6f
Fix broken merge resolution
2021-04-23 11:01:48 +09:00
Dean Herbert
a9a24bd481
Merge branch 'master' into ruleset-switch-sounds
2021-04-23 10:50:41 +09:00
smoogipoo
f593d9e42c
Fix playing users not being updated on room join
2021-04-22 23:23:43 +09:00
smoogipoo
0ee73b8e53
Add failing test
2021-04-22 23:22:44 +09:00
Dean Herbert
b4f492ca4c
Update framework
2021-04-22 23:06:46 +09: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
Dan Balasescu
be8fe47f2c
Merge branch 'master' into editor-add-nudge-shortcuts
2021-04-22 20:38:34 +09:00
Dean Herbert
891a6a83d2
Merge branch 'master' into ruleset-switch-sounds
2021-04-22 20:17:21 +09:00
Dean Herbert
d20a8694e4
Update resources
2021-04-22 19:55:06 +09:00
Dan Balasescu
739d83da2a
Merge pull request #12515 from frenzibyte/legacy-scores-classic-mod
...
Apply "classic" mod to all legacy scores
2021-04-22 19:52:09 +09:00
Dan Balasescu
b774f5b72b
Merge pull request #12526 from peppy/fix-system-message-ordering
...
Fix system messages always being displayed above standard messages
2021-04-22 18:51:25 +09:00
Dan Balasescu
0e24f2eb59
Merge pull request #12529 from peppy/editor-placement-right-click-delete
...
Allow shift+right-click deletion when in placement mode
2021-04-22 18:50:20 +09:00
Dean Herbert
a5364b224f
Add simple key based time nudging support to editor
2021-04-22 18:47:04 +09:00
smoogipoo
d4d78f7434
Merge branch 'master' into legacy-scores-classic-mod
2021-04-22 18:44:20 +09:00
smoogipoo
8a6267580a
Fix nullref
2021-04-22 18:44:14 +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
Dean Herbert
68807a90ec
Merge pull request #12448 from smoogipoo/gcc-abstraction
...
Make GameplayClockContainer abstract and add MasterGameplayClockContainer
2021-04-22 16:20:52 +09:00
Dean Herbert
9a7bf8109f
Allow certain mouse input to pass through PlacementBlueprints
to the selection logic
2021-04-22 15:44:12 +09:00
Dean Herbert
3befb49ea9
Fix system messages always being displayed above standard messages
...
Closes https://github.com/ppy/osu/issues/12509 .
2021-04-22 14:52:01 +09:00
Jamie Taylor
21f34be19f
Add support for per-ruleset sample playback when switching rulesets (via toolbar)
2021-04-22 14:43:36 +09:00
Dean Herbert
60b702549d
Update framework
2021-04-22 14:20:49 +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
ekrctb
b877a29737
Factor out pooling and lifetime management logic of DHO to a base class
2021-04-21 17:37:42 +09:00
ekrctb
bbf2ec369b
Remove SkinReloadableDrawable inheritance from DHO
2021-04-21 17:34:57 +09:00
Dean Herbert
deeb9e3765
Update framework
2021-04-21 17:27:00 +09:00
Dan Balasescu
cf55383fff
Merge pull request #12486 from ekrctb/unmanaged-hit-object-entry
...
Associate DrawableHitObject with HitObjectLifetimeEntry rather than HitObject
2021-04-21 17:08:21 +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
ab2a8b5c89
Fix initial rotation not being set
2021-04-21 16:12:09 +09:00
Dean Herbert
eb20865c02
Show tablet preview with physical tablet counter-rotated for supplied user area selection
...
Closes https://github.com/ppy/osu/issues/12399 .
Rotation animation is intentionally delayed slightly to give a better sense of what is going on (or maybe just look cool).
2021-04-21 15:55:15 +09:00
Salman Ahmed
1a715b2926
Append "classic" mod to legacy scores
2021-04-21 09:16:28 +03:00
Salman Ahmed
e90d791754
Add base "classic" mod
2021-04-21 09:14:19 +03:00
ekrctb
3fbeadf318
Deprecate old overload of Apply
2021-04-21 14:32:37 +09:00
ekrctb
73d3da1687
Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
...
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 11:32:01 +09:00
ekrctb
44ff08cce4
Revert "Fix wrong InitialLifetimeOffset is used for a non-pooled DHO."
...
This reverts commit 67fcfd9d
2021-04-21 10:02:50 +09:00
ekrctb
67fcfd9dbc
Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
...
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 09:48:16 +09:00
ekrctb
e80c3c317a
Rename UnmanagedHitObjectEntry -> SyntheticHitObjectEntry
...
"Unmanaged" was confusing because its lifetime is still managed by the HitObjectContainer.
2021-04-21 09:23:23 +09:00
Bartłomiej Dach
a2afa38a3f
Merge branch 'master' into fix-mod-customisation-input-blocking-padding
2021-04-20 19:41:25 +02: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
Dean Herbert
7fc450c620
Fix mod settings blocking input outside its visible area
...
Closes #12502 .
2021-04-20 23:42:56 +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
4cc3321d54
Fix potential doubling of events
2021-04-20 21:20:08 +09: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
e9dfa2860a
Add xmldoc note about path being relative
2021-04-20 13:44:06 +02:00
Naxess
d7a81471c8
Add xmldoc to GetPathForFile
2021-04-20 13:40:38 +02: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
d28eb399a4
Fix storyboard sample lifetimes not set if seeked past
2021-04-20 17:14:48 +09:00
smoogipoo
281c2041b2
Add failing test
2021-04-20 16:51:00 +09:00
ekrctb
c6ee4e900e
Ensure a non-null hitobject entry has a non-null Result
2021-04-20 15:18:36 +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
ekrctb
8a8b9084ef
Make single-argument overloead of DHO.Apply public
2021-04-20 10:11:36 +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
1478bcfa8e
Improve xmldoc consistency
2021-04-20 02:30:27 +02:00
Naxess
67e4fe4284
Add xmldoc to GetStream
2021-04-20 02:28:38 +02:00
ekrctb
1bc63a4c61
Now, DHO.lifetimeEntry can be non-null even it is not fully applied
2021-04-20 09:22:16 +09:00
Naxess
4510e795e1
Fix category of audio quality check
2021-04-20 02:13:26 +02:00
ekrctb
c1b4aaaa03
Add doc comment
2021-04-20 08:38:02 +09:00
Naxess
c633f15565
Add audio quality check
2021-04-20 01:36:03 +02:00
Naxess
f168247254
Add Track
as a property to IWorkingBeatmap
...
This is implemented by `WorkingBeatmap` already, and is much better to use than loading the track every time we need it.
2021-04-20 01:35:41 +02:00
Naxess
40ae856dfc
Show 2 decimals for background filesize
2021-04-20 01:34:05 +02:00
Naxess
14c626ffcb
Use the playable beatmap for file presence checks
2021-04-20 01:33:19 +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
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
Dean Herbert
510e54ff54
Update framework
2021-04-19 23:41:21 +09:00
Dean Herbert
fc41ad65f8
Merge pull request #12447 from smoogipoo/fix-non-60fps-recording
...
Record every 60fps interval
2021-04-19 23:26:58 +09:00
ekrctb
2c487ddb70
Create synthetic LifetimeEntry for a DHO when not supplied
...
Now, a DHO is always associated with a HitObjectLifetimeEntry while used.
Result is always stored in the entry, and not in the DHO.
2021-04-19 21:54:19 +09: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
ekrctb
5afdc3ff66
Make DHO application logic clearer with Entry/HitObject separation
2021-04-19 19:56:17 +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
8fcfac7ddc
Merge branch 'master' into timing-screen-ux
2021-04-19 16:44:32 +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
smoogipoo
83716ddb08
Rename currentUserStates -> playingUserStates
2021-04-19 16:07:00 +09:00
smoogipoo
de9e37857e
Lock around playingUsers
2021-04-19 16:06:40 +09:00
smoogipoo
5885c24e00
Clear current user states on disconnect
2021-04-19 16:00:56 +09: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
jvyden
ffc1e841e0
Fix sessionIdleTracker not being properly added to OsuGame
2021-04-19 01:06:26 -04:00