1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 11:12:55 +08:00
Commit Graph

24331 Commits

Author SHA1 Message Date
Dean Herbert
c5186b6a69 Revert return values to non-rounded doubles 2021-04-28 16:59:49 +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
Dan Balasescu
53d93fecd1
Merge branch 'master' into fix-download-button-import-cancel-state 2021-04-28 16:51:31 +09:00
Dean Herbert
48d6c9ac4b Move snap/divisor helper methods to inside ControlPointInfo 2021-04-28 16:47:30 +09:00
Dean Herbert
74bf4323d1
Merge pull request #12602 from smoogipoo/setting-source-custom-control
Add support for custom controls to SettingSourceAttribute
2021-04-28 16:39:17 +09:00
Dean Herbert
05e3a73a7d Fix import cancellation not correctly being forwarded to import notification 2021-04-28 16:09:50 +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
smoogipoo
05bd6ee50c Add back ctor doc 2021-04-28 03:54:42 +09:00
smoogipoo
04454062b7 Fix up xmldoc 2021-04-28 03:52:59 +09:00
smoogipoo
61b7dc1e06 Fix bonus-only maps having 700K base score 2021-04-28 03:42:29 +09:00
smoogipoo
4e3ee77396 Add support for custom controls to SettingSourceAttribute 2021-04-28 02:51:24 +09:00
Dan Balasescu
5fc731967b
Merge pull request #12592 from ekrctb/fix-entry-lifetime
Fix Setting DHO's lifetime doesn't update its entry lifetime
2021-04-28 01:38:19 +09:00
smoogipoo
1281993f1f Fix bonus score not calculated from the correct statistics 2021-04-27 22:42:58 +09:00
Dean Herbert
5dadfd04e7 Update framework 2021-04-27 22:36:25 +09:00
Naxess
200352b750 Rename unsnap check templates 2021-04-27 13:56:05 +02:00
ekrctb
b87446a577 Simplify HitObjectLifetimeEntry logic a bit 2021-04-27 19:37:01 +09:00
Dean Herbert
2adc751e04
Merge pull request #12585 from LumpBloom7/Reset-DHO-Transforms-method
Add method to safely refresh DrawableHitObject transforms
2021-04-27 19:15:12 +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
Derrick Timmermans
3ea55314f2
Update osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-04-27 11:29:16 +02:00
ekrctb
3899e500d3 Adopt framework change of LifetimeEntry
Override SetLifetimeStart/SetLifetimeEnd separately to track individual assignment. It is necessary to ensure real lifetime is not lost when lifetime is partially updated.
2021-04-27 17:54:18 +09:00
ekrctb
c9e6ca5378 Use now-public Entry.SetLifetime method 2021-04-27 15:25:05 +09:00
ekrctb
a2c0951d94 Use overriding instead of hiding in HitObjectLifetimeEntry
Hidden properties are used when the type is the base class. It caused issues when `DrawableHitObject` logic is factored out to `PoolableDrawableWithLifetime` because it is using the base `LifetimeEntry`, not `HitObjectLifetimeEntry`.
2021-04-27 15:23:33 +09:00
Dan Balasescu
ea3c5aed2f
Merge pull request #12590 from peppy/editor-minor-refactors
Fix a couple of inspections in editor code
2021-04-27 14:09:36 +09:00
Dean Herbert
ec1c336b0a Fix a couple of inspections 2021-04-27 13:23:14 +09:00
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
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
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
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