1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-30 11:57:24 +08:00
Commit Graph

21924 Commits

Author SHA1 Message Date
PercyDan
579e61eab9
Allow null 2020-11-28 16:31:24 +08:00
Dean Herbert
7e34c5e239 Fix state application always checking newest state for early abort, rather than current 2020-11-27 16:57:11 +09:00
Dean Herbert
18bb0cb45b Remove unnecessary schedule logic from Apply's local updateState call
There were cases in the editor where rewinding of transforms would
leave the `DrawableHitObject` in a non-`IsPresent` state, resulting in
this scheduled logic never running.

This would in turn cause ghost hitobjects, which disappear under certain
circumstances.

Reproduction:

- Open editor to empty beatmap
- Place single hitcircle at current point in time
- Drag editor timeline backwards to seek before zero, and wait for
  return to zero
- Select hitcircle in playfield
- Drag hitcircle to right in timeline, triggering a start time change
2020-11-27 16:32:05 +09:00
Dean Herbert
7edbba58f7 Avoid updating hitobjects unnecessarily for start time changes
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.

The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
ekrctb
a7194e1bc3 add stateless RNG 2020-11-27 15:43:44 +09:00
Dean Herbert
b9b8857988 Update framework 2020-11-27 15:11:07 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets 2020-11-27 15:03:56 +09:00
Dean Herbert
792934f2c4 Allow scroll type to be specified
This brings back the ability for the carousel to scroll in a classic
way. It turns out this is generally what we want for "seek" operations
like "random", else it's quite hard to get the expected animation.

I did experiment with applying the animation after the pooled panels are
retrieved, but in a best-case scenario there is still a gap where no
panels are displayed during the random seek operation.
2020-11-27 13:54:38 +09:00
ekrctb
6e40de58e9 Use new OnAdd and OnRemove to invalidate DHO 2020-11-27 13:36:40 +09:00
ekrctb
8f5129323d Merge branch 'master' into pool-scrolling 2020-11-27 13:12:05 +09:00
Dean Herbert
018957c244 Merge branch 'master' into song-select-track-selected-better-2 2020-11-27 12:54:40 +09:00
ekrctb
e36bb7631d Fix colour not updated when index changes 2020-11-27 11:41:39 +09:00
ekrctb
57454bbb1c Remove hitObject argument from OnApply and OnFree 2020-11-27 10:13:05 +09:00
Dean Herbert
5a393b153b
Merge pull request #10952 from peppy/replay-pausing-support
Add ability to pause/resume replay playback
2020-11-27 02:26:23 +09:00
Dean Herbert
94dc61150b
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-27 00:43:47 +09:00
Dean Herbert
b1864670a2
Merge pull request #10961 from smoogipoo/better-dho-rewind
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
Dan Balasescu
220657c2cc
Merge branch 'master' into replay-pausing-support 2020-11-27 00:09:40 +09:00
Dan Balasescu
882fcdb13a
Merge pull request #10975 from peppy/standardise-binding-description-case
Standardise binding description case to sentence casing
2020-11-26 23:54:13 +09:00
smoogipoo
aa4da2a5f8 Add xmldoc on State 2020-11-26 23:42:05 +09:00
Dean Herbert
1e79cb498b Standardise binding description case to sentence casing 2020-11-26 20:07:16 +09:00
Dean Herbert
3346c06aca Rename variable/text to be more verbose as to toggle purpose 2020-11-26 20:04:44 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
da6bccc812 Apply beat snap if positional snap doesn't give a time result 2020-11-26 19:20:51 +09:00
Dean Herbert
91592cf32d Expose EditorClock for consumption 2020-11-26 19:20:39 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
ekrctb
05e245d445 Allow non-pooled DHO to be reused 2020-11-26 19:07:09 +09:00
Dean Herbert
0a48dd8f76 Delegate scroll animation to panels themselves 2020-11-26 18:42:51 +09:00
Dean Herbert
ad258e2e52 Update scroll position before applying any panel animations
In the case of automatic scroll requirements (ie. scroll to selected) we
are delegating the animation logic to the panels themselves. In order to
make this work correctly, the scroll operation needs to take effect
before any animation updates are run.
2020-11-26 18:33:41 +09:00
Dean Herbert
6058c66edb Move drawable carousel set movement logic into panels themselves 2020-11-26 18:32:43 +09:00
Dean Herbert
f8db7a9902 Remove ScrollableContent container from carousel
This was causing multiple issues with masking and sizing and really
didn't need to exist in the first place. Also not sure why the pool was
nested inside the scroll container, but it isn't any more. Probably for
the best.
2020-11-26 18:28:54 +09:00
Dean Herbert
02d5b1352b Expose generic version of OsuScrollContainer 2020-11-26 18:25:56 +09:00
smoogipoo
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
smoogipoo
f562854feb Fix timeline objects sometimes not receiving combo colours 2020-11-26 17:22:22 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap 2020-11-26 17:06:47 +09:00
Dan Balasescu
a0e47ae13f
Merge pull request #10960 from peppy/fix-editor-volume-adjust
Fix volume not being adjustable in the editor using alt-scroll
2020-11-26 15:37:57 +09:00
ekrctb
eae33fe74a Fix format 2020-11-26 14:16:33 +09:00
ekrctb
e43f928588 Use DHO.HitObjectApplied to invalidate computation 2020-11-26 14:07:40 +09:00
ekrctb
f6faf95e33 Revert changes to HitObjectUsageBegan, not use it. 2020-11-26 14:01:46 +09:00
ekrctb
1a6e5bdaba Merge branch 'master' into pool-scrolling 2020-11-26 13:52:52 +09:00
Bartłomiej Dach
8ff1688c4b
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-25 20:11:09 +01:00
smoogipoo
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57 Rewind pooled DHOs into better states 2020-11-26 00:42:25 +09:00
Dean Herbert
0ddeff648d Fix incorrect index lookup on non-ordered selections 2020-11-25 17:25:54 +09:00
Dean Herbert
d4c6d6275e Fix volume not being adjustable in the editor using alt-scroll
We do this in other places so I think it's fine to handle like this for
now (until we come up with a better global solution).

Closes #10958.
2020-11-25 16:46:22 +09:00
Dean Herbert
c46d655832 Uncomment incorrectly commented lines 2020-11-25 12:11:44 +09:00
PercyDan54
0009724c1a
Fix CI 2020-11-24 18:48:32 +08:00
ekrctb
b8a5cd94f7 Invoke HitObjectUsageFinished before removal 2020-11-24 19:46:57 +09:00
PercyDan54
739c18a34d
dotnet format 2020-11-24 18:25:38 +08:00
Dan Balasescu
4311526c0a
Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 19:23:54 +09:00
PercyDan54
7ab27399bf
Fix CI errors 2020-11-24 18:04:34 +08:00
ekrctb
e34a205104 Rewrite hit object management, take three 2020-11-24 18:56:05 +09:00
ekrctb
7f6e4d5b21 Delay lifetime computation until loaded 2020-11-24 18:56:05 +09:00
ekrctb
d5f082e5fb Comment about lifetime assumption 2020-11-24 18:56:05 +09:00
ekrctb
ce57e8ddfb Separate Lifetime computation and layout update 2020-11-24 18:56:05 +09:00
ekrctb
cabc8aa63b Revert "Simplify ScrollingHitObjectContainer logic"
This reverts commit b4cc39149c117e6a0e95ee917a67cec8ba723d06.
2020-11-24 18:56:05 +09:00
ekrctb
8f39b54e58 Simplify ScrollingHitObjectContainer logic 2020-11-24 18:56:05 +09:00
ekrctb
5c743adbae Support hit object pooling scrolling playfield 2020-11-24 18:56:05 +09:00
PercyDan54
0b735b84cf
Remove unused enum 2020-11-24 17:23:53 +08:00
PercyDan54
07ee36a4ef
Simplify code 2020-11-24 17:18:19 +08:00
Dean Herbert
d5a4d46c6d
Merge pull request #10842 from EVAST9919/profile-overlay-graph-new
Implement history charts for Profile Overlay
2020-11-24 18:05:17 +09:00
Dean Herbert
c9a41f9dae Make all objects in selection candidates for spatial snapping
Closes #10898.
2020-11-24 17:35:54 +09:00
Dan Balasescu
5d65665b42
Merge pull request #10943 from peppy/editor-setup-scroll-to-file-selector
Scroll editor setup screen to file selector on display
2020-11-24 16:26:25 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 16:09:57 +09:00
Dean Herbert
bd1dad5477 Remove null allowance for now 2020-11-24 15:54:27 +09:00
Dean Herbert
1d82557d9f Avoid blocking global actions when skip overlay is not actually active 2020-11-24 15:42:14 +09:00
Dean Herbert
72b8eef36e Add ability to pause/resume replay playback 2020-11-24 15:41:56 +09:00
Dean Herbert
1682260677 Remove left over logging line 2020-11-24 15:28:03 +09:00
Dean Herbert
ee33f62809 Fix DrawableJudgement not always animating correctly on skin change
If the skin is changed before gameplay has started (at the loading
screen) it is possible for a sequence of events to occur which results
in the animation not being played:

- `SkinReloadableDrawable` runs its BDL load (and calls `OnSkinChanged`
  once)
- User changes skin, triggering `DrawableJudgement`'s skin change
  handling (binding directly on the `SkinSource` locally)
- This will call `PrepareDrawables` and reinitialise the
  `SkinnableDrawable` child hierarchy, then immediately apply the
animations to it.
- The new `SkinnableDrawable` will then get the `SkinChanged` event and
  schedule a handler for it, which will run on its first Update call.
- Any added animations will be lost as a result.

Fixed by binding directly to the `SkinnableDrawable`'s `OnSkinChanged`.
This has the added bonus of not needing to reinitialise the child
hierarchy on skin change (which felt a bit weird in the first place).
2020-11-24 15:23:53 +09:00
Dan Balasescu
57ff150051
Merge pull request #10829 from Joehuu/music-osd-bindings
Add music bindings to on screen display
2020-11-24 14:36:34 +09:00
Joehu
1fd4b04767 Just set music shortcut text locally 2020-11-23 20:43:46 -08:00
Dean Herbert
e36b1051c1 Add spacing between inline comments 2020-11-24 13:15:59 +09:00
Dean Herbert
82640418ba Invert hide logic for readability 2020-11-24 13:12:04 +09:00
Dean Herbert
44ca67c534 Simplify fill logic and add xmldoc 2020-11-24 13:10:11 +09:00
Dean Herbert
37ea65de2a
Merge branch 'master' into profile-overlay-graph-new 2020-11-24 12:52:59 +09:00
Joehu
52f5473cc0 Set global action as a parameter in toast 2020-11-23 15:13:58 -08:00
Bartłomiej Dach
5701b32bae Handle constant graphs better 2020-11-23 22:12:32 +01:00
Bartłomiej Dach
8347ecf494 Simplify row tick creation code 2020-11-23 21:52:47 +01:00
Bartłomiej Dach
7b0d3dfe0c Refactor tick calculation code for readability 2020-11-23 21:38:04 +01:00
Bartłomiej Dach
bb5aa9a9c9 Guard against empty values early 2020-11-23 21:24:37 +01:00
Bartłomiej Dach
e9ffeb8b5d Make missing date check more robust 2020-11-23 21:09:42 +01:00
Dean Herbert
060acb9010
Merge pull request #10935 from bdach/fix-mania-judgement-fade-in
Rewind judgement transforms before clearing
2020-11-23 17:05:04 +09:00
Dean Herbert
5e014fc4fe
Merge pull request #10941 from LumpBloom7/improve-MenuVisualizer
Improve LogoVisualisation looks when MenuGlow colors are used
2020-11-23 15:25:18 +09:00
Dean Herbert
19faa2b9bb Add comment covering intentional call to ClearTransformsAfter 2020-11-23 15:20:59 +09:00
Andrei Zavatski
1b33d30039 Simplify horizontal ticks creation 2020-11-23 08:52:29 +03:00
Andrei Zavatski
42741895e6 Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-overlay-graph-new 2020-11-23 08:41:57 +03:00
Dean Herbert
898e2dae27 Restore kiai time flashing behaviour 2020-11-23 14:27:02 +09:00
Dean Herbert
5662e722ed
Merge pull request #10936 from bdach/fix-follow-points-getting-stuck
Fix legacy follow point animations not playing after a while
2020-11-23 14:14:00 +09:00
Dean Herbert
3ed7868801 Scroll editor setup screen to file selector on display
Previously the file selector would potentially display off-screen,
making for confusing UX.

Closes #10942.
2020-11-23 13:49:14 +09:00
Dean Herbert
ae609b9d48 Remove unnecessary local variable 2020-11-23 13:35:13 +09:00
Dean Herbert
2ae5a95d77 Change opacity value to match master implementation 2020-11-23 13:35:02 +09:00
Derrick Timmermans
61078e9ae1
Use 0.2f instead of .2f 2020-11-22 18:59:16 +01:00
Derrick Timmermans
ba7ce4c933
Make colour readonly 2020-11-22 18:37:49 +01:00
Derrick Timmermans
458016d17d
Remove AccentColour member variable from LogoVisualisation 2020-11-22 17:36:59 +01:00
Derrick Timmermans
1551402a8d
Change IntroWelcome visualiser to use Colour instead of AccentColour 2020-11-22 17:33:40 +01:00
Derrick Timmermans
b468f061f1
Remove unused using 2020-11-22 17:20:00 +01:00
Derrick Timmermans
cc33b0f2c6
Apply MenuGlow to Visualisation Colour instead of AccentColour 2020-11-22 16:53:53 +01:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez 2020-11-22 13:29:02 +01:00
Bartłomiej Dach
1c31a4a6b6 Expose animation start time as mutable in interface 2020-11-22 13:11:22 +01:00
Bartłomiej Dach
b62a873502
Merge branch 'master' into remove-default-retry-balue 2020-11-22 10:54:40 +01:00
ekrctb
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
ekrctb
c506b438bf Remove more code and make some methods private 2020-11-22 18:51:16 +09:00
Dean Herbert
a3b1d14f17 Apply similar fix to PoolableSkinnableSound 2020-11-22 14:44:39 +09:00
Andrei Zavatski
b745fb681a Fix incorrect static using placement 2020-11-22 04:40:55 +03:00
Andrei Zavatski
4887132947 Adjustments for edge cases support 2020-11-22 04:28:17 +03:00
Andrei Zavatski
f07f8089d6 Adjust monthsPerTick value 2020-11-22 03:58:56 +03:00
Andrei Zavatski
e6c116f0ab Rework horizontal ticks creation 2020-11-22 03:49:00 +03:00
Andrei Zavatski
6e581902cd Simplify column ticks creation 2020-11-22 03:11:38 +03:00
Andrei Zavatski
453f0ba675 Make tick lines thicker 2020-11-22 02:34:29 +03:00
Andrei Zavatski
3cb1d04667 Move dates fill into it's own method 2020-11-22 02:25:12 +03:00
Andrei Zavatski
d4b56aac84 Add missing whitespace 2020-11-22 02:17:54 +03:00
Andrei Zavatski
9d7ddf8343 Merge master with conflicts resolved 2020-11-22 02:13:35 +03:00
Andrei Zavatski
fe4c622041 Make OnUserChanged private 2020-11-21 23:13:46 +03:00
Andrei Zavatski
dbfc839df3 Move missing text to PaginatedProfileSubsection 2020-11-21 23:03:54 +03:00
Andrei Zavatski
11c3ccfcaa Move rulesets property to PaginatedProfileSubsection 2020-11-21 22:49:56 +03:00
Bartłomiej Dach
240c1b0aef Add support for changing animation start time after load 2020-11-21 20:06:30 +01:00
Bartłomiej Dach
9f997db958 Rewind judgement transforms before clearing 2020-11-21 17:56:49 +01:00
Bartłomiej Dach
875f986979 Remove default from base ResultsScreen too 2020-11-21 14:38:38 +01:00
ekrctb
295ca38cda Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added 2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6 Event -> virtual method 2020-11-21 15:20:33 +09:00
ekrctb
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
Andrei Zavatski
718ba9253b Implement ProfileSubsection component 2020-11-21 03:18:24 +03:00
Andrei Zavatski
c4cb1440ab Rename PaginatedContainerHeader to ProfileSubsectionHeader 2020-11-21 02:59:01 +03:00
ekrctb
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
smoogipoo
9520cf6481 Merge branch 'master' into fix-judgement-ordering 2020-11-20 22:49:33 +09:00
Dan Balasescu
58fc61aa95
Merge branch 'master' into legacy-judgement-particles 2020-11-20 22:19:11 +09:00
Dan Balasescu
8785da1b41
Merge pull request #10917 from peppy/no-applause-on-autoplay
Don't play flair animations / sounds when watching autoplay or viewing a result directly
2020-11-20 21:48:10 +09:00
Dan Balasescu
79752bcb19
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-20 20:51:27 +09:00
Dean Herbert
8080fe942c Fix samples being played more than once on skin change 2020-11-20 20:38:26 +09:00
ekrctb
772f6df668 Add a remark for DrawableHitObjectAdded 2020-11-20 18:00:00 +09:00
ekrctb
c013cd11c9 Add DrawableHitObjectAdded event 2020-11-20 17:56:47 +09:00
Dean Herbert
53b6d90ab4 Don't show default judgements in front of objects for now 2020-11-20 16:30:58 +09:00
Dean Herbert
a00e0d7279 Move CanBeNull specification to the interface 2020-11-20 16:30:48 +09:00
Dean Herbert
7fe0923fcf Show main judgement content above hitobjects 2020-11-20 16:25:48 +09:00
Dean Herbert
0e9999ecb1 Merge branch 'remove-dead-playfield-code' into fix-judgement-ordering 2020-11-20 16:12:48 +09:00
Dean Herbert
2db42f8e67 Remove default allowRetry parameter value from ResultsScreen 2020-11-20 14:35:44 +09:00
Dean Herbert
8c32d3f781 Don't play flair animations / sounds when watching autoplay or viewing a result directly
I think this is a pretty good place to be for now. The flair will play
if you just watched a play (local, replay or spectator) but will not
play if you are coming from song select (viewing a replay's result
screen from the leaderboard) or in the case of autoplay.

Closes #10762.
2020-11-20 14:32:31 +09:00
Dean Herbert
1df3f88fc4 Update framework 2020-11-20 12:32:17 +09:00
Bartłomiej Dach
6356b2dde9 Prevent editor from crashing for rulesets with no compose screen implementation 2020-11-19 22:11:52 +01:00
smoogipoo
7c83a27002 Add more xmldocs 2020-11-19 22:48:21 +09:00
smoogipoo
8a656f7cee Fix missing SkinChanged event + safety 2020-11-19 22:42:44 +09:00
smoogipoo
a53848ef9b Fix storyboard imlpementation 2020-11-19 22:30:41 +09:00
smoogipoo
d388c44428 Cleanup, refactoring, and restart sample on skin change 2020-11-19 22:30:21 +09:00
smoogipoo
7180bfe4ba Unlimit number of samples per pool 2020-11-19 21:21:57 +09:00
smoogipoo
0287269b2f Fix volume discrepancies 2020-11-19 21:21:30 +09:00
smoogipoo
f013928fa3 Set maximum pool size 2020-11-19 20:40:01 +09:00
smoogipoo
70cb197957 Cleanups 2020-11-19 20:38:36 +09:00
smoogipoo
812d5d59b1 Fix looping not being propagated 2020-11-19 20:29:09 +09:00
smoogipoo
8920534a25 Fix pools not being added to hierarchy 2020-11-19 20:24:03 +09:00
smoogipoo
003fed857c Separate files 2020-11-19 19:52:34 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
Dean Herbert
1c7ee2ca5f Simplify math by making direction a float 2020-11-19 18:46:19 +09:00
Dean Herbert
84e73e88d5 Use structs for parts for added safety 2020-11-19 18:08:54 +09:00
Dean Herbert
3a7291c5cf Fix some behavioural regressions 2020-11-19 17:56:11 +09:00
Dean Herbert
476d0256cc Replace particle explosion implementation with DrawNode version 2020-11-19 17:22:37 +09:00
Dean Herbert
83024f1ec5 Add back positional randomness from stable 2020-11-19 16:00:20 +09:00
Dean Herbert
efd5acb8ab Randomise direction every animation playback 2020-11-19 15:55:11 +09:00
Dean Herbert
9d04ce75cc Make particles additive and consume in judgement explosions 2020-11-19 15:47:02 +09:00
Dean Herbert
9df93e1f18 Add basic implementation of particle explosion
Using drawables still, just to get things in place and setup the
structure
2020-11-19 14:54:33 +09:00
Dean Herbert
7f3c8ad744
Merge pull request #10872 from smoogipoo/fix-missing-triangles 2020-11-19 14:11:08 +09:00
Dean Herbert
ba735584fa Add null check for disposal safety 2020-11-19 14:04:43 +09:00
Dean Herbert
85c5c68dfa Provide particle drawable as a function (for future use) 2020-11-19 13:20:21 +09:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic 2020-11-18 19:20:11 +01:00
Dean Herbert
ecd6d09600
Merge pull request #10891 from smoogipoo/remove-obsoletes
Remove obsolete method
2020-11-18 23:07:31 +09:00
Dan Balasescu
9f6ca06039
Merge pull request #10889 from peppy/return-null-if-skinnable-sprite-no-exist
Fix SkinnableSprite initialising a drawable even when the texture is not available
2020-11-18 21:35:13 +09:00
smoogipoo
cb5d1d0d77 Remove obsolete method 2020-11-18 21:26:35 +09:00
Dean Herbert
b3bec81b79 Update xmldoc to match new behaviour 2020-11-18 19:38:38 +09:00
Dean Herbert
8522ddc61e Reduce nesting of skinned component to reduce exposed surface 2020-11-18 19:34:27 +09:00
PercyDan54
9a3dd12f30
Move to debug settings 2020-11-18 18:15:56 +08:00
Dean Herbert
ee8804b50b Fix animation playback not running on skin change 2020-11-18 19:03:34 +09:00
Dean Herbert
c47e70da9b Update animations for new/old miss style and add fades 2020-11-18 19:03:34 +09:00
Dean Herbert
9d3de5bca0 Fix hit lighting dictating lifetime even when not present in skin 2020-11-18 19:03:34 +09:00
Dean Herbert
9d0a6de26e Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 19:03:34 +09:00
Dean Herbert
72a15ef2dc Handle DrawableJudgement lifetime more flexibly 2020-11-18 19:03:34 +09:00
Dean Herbert
94886a09b2 Remove fades from DrawableJudgement itself 2020-11-18 19:03:34 +09:00
Dean Herbert
5bd4ace37f Split out new and old style legacy judgement pieces 2020-11-18 19:03:34 +09:00
Dean Herbert
8be31f4805 Adjust legacy skin judgement transforms to match stable 2020-11-18 19:03:05 +09:00
Dean Herbert
8ccb399eff
Merge pull request #10883 from smoogipoo/defined-blueprint-order 2020-11-18 18:46:37 +09:00
Dean Herbert
bb1aacb360 Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 18:07:00 +09:00
Dean Herbert
efc18887c8 Update framework 2020-11-18 18:01:55 +09:00
smoogipoo
f00c23b4a0 Add comment + xmldoc 2020-11-18 13:37:15 +09:00
smoogipoo
783c172b5d Make sealed and cleanup comparator 2020-11-18 13:33:22 +09:00
Bartłomiej Dach
57eaee27ae Rename param to match type better 2020-11-17 20:12:04 +01:00
Bartłomiej Dach
875d7dec79 Remove redundant this. qualifier 2020-11-17 20:11:13 +01:00
smoogipoo
58c8184ad7 Define blueprint order similarly to hitobjects 2020-11-17 22:56:31 +09:00
PercyDan54
dcaebd2621
Add license text 2020-11-17 21:39:29 +08:00
PercyDan54
809338a280
Init Import screen 2020-11-17 20:19:12 +08:00
Dean Herbert
dd4b69feab Add legacy judgement implementation which doesn't transform on animations 2020-11-17 15:46:57 +09:00
Dean Herbert
8247e6ce91 Move result type to ctor 2020-11-17 15:43:54 +09:00
Dean Herbert
e4f1e52422 Add xmldoc coverage of Apply() 2020-11-17 15:03:26 +09:00
Dean Herbert
f465dd5a5e Move all extended animation logic out of DrawableJudgement 2020-11-17 14:59:34 +09:00
Dean Herbert
d7b6e4a32d
Merge pull request #10867 from smoogipoo/refactor-user-request
Refactor user caching to improve readability and fix threadsafety issues
2020-11-17 14:20:45 +09:00
Dean Herbert
9dfa4249e0 Make Apply non-virtual 2020-11-17 14:05:13 +09:00
smoogipoo
3bcf9c255a Add Triangles.Reset() 2020-11-17 13:06:30 +09:00
smoogipoo
33c643e369 Add obsoletion for unused property 2020-11-17 12:23:34 +09:00
Dean Herbert
009d666241 Use dictionary to avoid linq overhead 2020-11-17 10:57:11 +09:00
Bartłomiej Dach
8da40ce2dc Reduce duplication by extracting ModEasyWithExtraLives 2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017 Merge branch 'master' into change-taiko-ez 2020-11-16 19:37:47 +01:00
Bartłomiej Dach
72a8734f93
Merge branch 'master' into add-back-initiallifetimeoffset 2020-11-16 18:54:37 +01:00
smoogipoo
e8dbc190f1 Remove ability to pool DHOs in parent playfields 2020-11-16 23:30:24 +09:00
smoogipoo
cead67d512 Add back removed InitialLifetimeOffset removal 2020-11-16 21:49:29 +09:00
smoogipoo
85b0f71467 Handle duplicate user IDs within the same batch 2020-11-16 21:17:43 +09:00
smoogipoo
87bf168718 Use queue instead of list 2020-11-16 20:52:51 +09:00
smoogipoo
1b1f4c9c09 Refactor user request to fix threadsafety issues 2020-11-16 20:35:22 +09:00
PercyDan54
f2ef7bee5d
Fix checks 2020-11-16 18:17:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy 2020-11-16 18:15:15 +08:00
Dan Balasescu
a98327f0c5
Merge branch 'master' into fix-currentskininfo-thread-safety 2020-11-16 17:55:22 +09:00
Dan Balasescu
09298139e1
Merge pull request #10844 from bdach/spinner-rotation-tracker-state
Fix rotation tracker state not being reset on drawable spinner re-use
2020-11-16 17:10:40 +09:00
Dean Herbert
709370c69b Move schedule call outwards 2020-11-16 16:49:31 +09:00
Dean Herbert
9a7fdb2b7e Move skin deletion logic to OsuGameBase to promote thread safety
`CurrentSkinInfo` is used in multiple places expecting thread safety,
while ItemRemoved events are explicitly mentioning they are not thread
safe. As SkinManager itself doesn't have the ability to schedule to the
update thread, I've just moved the logic to `OsuGameBase`. We may want
to move the current skin bindable out of the manager class in the
future to match things like `BeatmapManager`.

Closes https://github.com/ppy/osu/issues/10837.
2020-11-16 16:43:19 +09:00
Dean Herbert
6706840b54
Merge pull request #10853 from bdach/add-to-legacy-conversion-tests 2020-11-16 15:22:04 +09:00
Dean Herbert
baed1573dc
Merge pull request #10838 from nbvdkamp/fix-quick-delete-crash 2020-11-16 14:42:52 +09:00
Dan Balasescu
3dbd7d5654
Merge pull request #10856 from bdach/reset-transforms-on-return-to-pool
Clear DrawableHitObject transforms on return to pool
2020-11-16 14:40:38 +09:00
Dean Herbert
7b79b9b9c1
Merge branch 'master' into fix-quick-delete-crash 2020-11-16 13:54:54 +09:00
Bartłomiej Dach
399a1a16a0 Refactor beginClickSelection in a slightly different way 2020-11-15 21:06:47 +01:00
Bartłomiej Dach
9c0a0031d6 Clear existing transforms on DHO return to pool 2020-11-15 19:50:22 +01:00
kamp
1db303b159 Revert beginClickSelection logic 2020-11-15 16:54:48 +01:00
Bartłomiej Dach
5d44286d38 Add missing generic mappings to legacy mods 2020-11-15 15:35:06 +01:00
Bartłomiej Dach
5ace7abaa8 Add abstract non-generic ModNightcore to pattern-match over 2020-11-15 15:32:02 +01:00
Bartłomiej Dach
8b74298567 Add base method for testing conversion in other direction 2020-11-15 14:48:23 +01:00
Bartłomiej Dach
9899687bfe Rename existing method to allow for new one 2020-11-15 14:17:41 +01:00
Dean Herbert
199043f677 Allow preview tracks to exist without an owner (without hard crashing) 2020-11-15 13:21:09 +09:00
Dean Herbert
34f09e2e20 Merge branch 'master' into fix-spectator-preview-crash 2020-11-15 13:16:10 +09:00
Bartłomiej Dach
f8cabbdd21 Clear result when freeing pooled hitobject 2020-11-14 21:09:22 +01:00
Andrei Zavatski
a52c98b55c Fix broken test scene 2020-11-14 21:20:37 +03:00
Andrei Zavatski
fe9d17fc56 Fix CodeFactor issues 2020-11-14 20:31:03 +03:00
Andrei Zavatski
a94546f905 CI fixes 2020-11-14 20:17:32 +03:00
Andrei Zavatski
5354bf1fa5 Ticks distribution improvements 2020-11-14 20:07:52 +03:00
Andrei Zavatski
02168c6c2f Implement dates with zero count fill 2020-11-14 19:17:01 +03:00
Bartłomiej Dach
b344a13734 Add support for previewing tracks on spectator screen 2020-11-14 17:08:27 +01:00
Andrei Zavatski
af174aa653 Implement chart subsections 2020-11-14 18:48:47 +03:00
Andrei Zavatski
c2a7f2f356 Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-overlay-graph-new 2020-11-14 18:21:12 +03:00
Andrei Zavatski
ae4a2e74fa Implement ProfileSubsection 2020-11-14 18:21:10 +03:00
Bartłomiej Dach
8a78d408db Add more missed null checks 2020-11-14 15:52:12 +01:00
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
kamp
4d2bc790fd Fix crash on shift+right-click deleting objects 2020-11-14 13:20:16 +01:00
Dean Herbert
354e748e45
Merge branch 'master' into osu-hitobject-pooling-playfield 2020-11-14 15:44:00 +09:00
Andrei Zavatski
01f28a35c3 Implement vertical ticks creation 2020-11-14 07:28:01 +03:00
Andrei Zavatski
d98c59f2a4 Implement horizontal ticks creation 2020-11-14 06:38:02 +03:00
Andrei Zavatski
9d8e7e8954 ProfileLineChart layout implementation 2020-11-14 04:46:26 +03:00
Dean Herbert
52ff7b6593
Merge branch 'master' into hitobject-pooling-in-playfield 2020-11-14 10:27:12 +09:00
Joehu
2071cba944 Add music bindings to on screen display 2020-11-13 13:16:36 -08:00
Bartłomiej Dach
d55eae55ad
Merge branch 'master' into fix-combo-break-rewind-replay 2020-11-13 21:46:32 +01:00
Bartłomiej Dach
405407ff9e
Merge branch 'master' into fix-combo-break-sounds 2020-11-13 21:07:34 +01:00
Bartłomiej Dach
e6300f25d4
Merge branch 'master' into add-always-play-combo-break-setting 2020-11-13 20:25:55 +01:00
Bartłomiej Dach
403415147d
Merge branch 'master' into fix-perform-from-menu-overlay-hiding 2020-11-13 19:11:53 +01:00
smoogipoo
21b015d63a Remove explicit public 2020-11-14 01:06:38 +09:00
smoogipoo
5cbf6252b7 Merge branch 'hitobject-pooling-in-playfield' into osu-hitobject-pooling-playfield 2020-11-14 01:03:11 +09:00
smoogipoo
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
smoogipoo
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
smoogipoo
d347493ba3 Merge branch 'master' into osu-hitobject-pooling 2020-11-13 23:13:09 +09:00
smoogipoo
9792d1fc73 Fix slider tests 2020-11-13 23:08:39 +09:00
Dean Herbert
f093acc9d5
Merge pull request #10823 from smoogipoo/pooling-editor-support
Add pooling support to the editor
2020-11-13 19:58:46 +09:00
smoogipoo
d83b479c81 Internalise lifetime extensions and events too 2020-11-13 19:21:45 +09:00
smoogipoo
4a4219fd11 Add region 2020-11-13 19:21:45 +09:00
smoogipoo
92189e35cc Make playfield KeepAlive methods internal 2020-11-13 19:21:45 +09:00
smoogipoo
832d52a056 Fix hitobject sample tests 2020-11-13 18:19:07 +09:00
Dean Herbert
df7032bc6c
Merge pull request #10803 from smoogipoo/nested-hitobject-pooling
Add nested hitobject pooling
2020-11-13 17:34:10 +09:00
smoogipoo
3c91626132 Merge branch 'pooling-editor-support' into osu-editor-pooling 2020-11-13 17:27:00 +09:00
smoogipoo
688a442fb3 Add missing dictionary 2020-11-13 17:26:46 +09:00
smoogipoo
942ecde0e1 Merge branch 'master' into pooling-editor-support 2020-11-13 17:23:35 +09:00
smoogipoo
0219aff7bc Add timeline visible range adjustment 2020-11-13 17:10:29 +09:00
Dean Herbert
8268b33392
Merge pull request #10822 from peppy/update-framework
Update framework
2020-11-13 17:10:07 +09:00
smoogipoo
3957697c48 Add pooling support to the editor 2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
Dean Herbert
06fd0d08d1
Merge branch 'master' into nested-hitobject-pooling 2020-11-13 16:53:20 +09:00
Dean Herbert
a9fc7572ed Update framework 2020-11-13 15:33:27 +09:00
smoogipoo
7085b25898 Merge branch 'hitobject-pooling-base' into osu-hitobject-pooling 2020-11-13 14:57:59 +09:00
smoogipoo
4236dd826d Improve documentation and make abstract again 2020-11-13 14:57:09 +09:00
smoogipoo
a07d4a7915 Remove unnecessary dictionary for now 2020-11-13 14:42:41 +09:00
smoogipoo
35329aa976 Reduce the number of state updates 2020-11-13 14:33:23 +09:00
Dean Herbert
0985cb3327 Fix perform from menu not hiding overlays if already on target screen 2020-11-13 14:08:08 +09:00
Dean Herbert
a2c81a3a52 Add back setting to toggle "always play first combo break" 2020-11-13 13:42:00 +09:00
Dean Herbert
4b5743d993 Fix combo break sound not playing after rewind 2020-11-13 13:38:14 +09:00
Dean Herbert
43626573df Fix combo break sounds playing when seeking 2020-11-13 13:36:19 +09:00
Dean Herbert
38105ed6a2
Merge branch 'master' into hitobject-pooling-base 2020-11-13 11:27:32 +09:00
Dan Balasescu
2840fd0f8f
Merge branch 'master' into hitobject-pooling-base 2020-11-12 23:17:36 +09:00
Bartłomiej Dach
96fbfc33fa
Merge branch 'master' into perform-from-menu-dialog-aware 2020-11-12 15:05:45 +01:00
Dan Balasescu
e804fe5458
Merge pull request #10801 from peppy/fix-legacy-legacy-storyboard-frame-delays
Fix storyboard animations of very old beatmaps playing too slow
2020-11-12 19:06:57 +09:00
smoogipoo
0abda7b557 Merge branch 'hitobject-pooling-base' into osu-hitobject-pooling 2020-11-12 18:49:03 +09:00
smoogipoo
261ddd2b4a Fix samples not being disposed 2020-11-12 18:48:25 +09:00
smoogipoo
8aaa500431 Add lifetime extensions 2020-11-12 18:34:50 +09:00
smoogipoo
243e913e4a Add hitobject usage events 2020-11-12 18:32:20 +09:00
smoogipoo
fe347c8661 Add playfield support for keeping hitobjects alive 2020-11-12 18:30:32 +09:00
smoogipoo
7548db7ecc Fix hitobjects sometimes not fading in completely with HD mod 2020-11-12 18:29:22 +09:00
Andrei Zavatski
7177dd5d82 Add counter to most played beatmaps section in user overlay 2020-11-12 18:29:22 +09:00
Dean Herbert
8a2addbf3d Update framework 2020-11-12 18:29:22 +09:00
Dean Herbert
d9750fc043 Remove duplicate instantiation of externalLinkOpener 2020-11-12 18:29:22 +09:00
smoogipoo
a8c2b798ad Add support for nested hitobject pooling 2020-11-12 17:43:51 +09:00
smoogipoo
e44a8b3934 Resort as early as possible 2020-11-12 17:07:20 +09:00
Dean Herbert
41a1730927
Merge pull request #10794 from smoogipoo/fix-osu-hd-mod 2020-11-12 17:06:04 +09:00
Dean Herbert
25af091409 Fix storyboard animations of very old beatmaps playing too slow
Closes https://github.com/ppy/osu/issues/10772.
2020-11-12 17:03:43 +09:00
smoogipoo
cf91962865 Fix test failures due to on-the-fly starttime changes 2020-11-12 16:58:40 +09:00
smoogipoo
974390bda7 Make Add() + Remove() virtual 2020-11-12 15:36:02 +09:00
smoogipoo
72a6b75626 Add back removed event 2020-11-12 15:34:51 +09:00
smoogipoo
4e43235955 Fix double bind leading to test failures 2020-11-12 15:33:49 +09:00
smoogipoo
653f5bce67 Reword xmldocs 2020-11-12 15:00:58 +09:00
smoogipoo
16e4e8d032 Fix possible nullref 2020-11-12 14:54:33 +09:00
smoogipoo
1f8d376b85 Replace CreatePool() with non-virtual RegisterPool() overload 2020-11-12 14:17:33 +09:00
smoogipoo
5dbbe11fc6 Remove PoolHitObjects, use return value of CreateDrawableRepresentation() instead 2020-11-12 14:04:16 +09:00
smoogipoo
f652eb9982 Remove GetDrawableRepresentation() override, add null hinting 2020-11-12 13:18:44 +09:00
smoogipoo
d7d77460fb Small refactorings 2020-11-12 12:55:42 +09:00
Dean Herbert
ad79c2bc62 Avoid multiple enumeration by converting to array at construction time 2020-11-12 10:55:22 +09:00
Andrei Zavatski
f753f138c6 Add counter to most played beatmaps section in user overlay 2020-11-12 03:11:29 +03:00
Dean Herbert
ef5e3d5ab8
Merge pull request #10796 from smoogipoo/fix-incorrect-framestability-value
Fix frame stable playback not being set correctly
2020-11-11 19:54:45 +09:00
smoogipoo
a8929b0764 Revert unnecessary change of casting 2020-11-11 19:27:07 +09:00
smoogipoo
7fdaf69903 Add some more xmldocs 2020-11-11 19:12:12 +09:00
smoogipoo
606cfacedf Fix state update exception in a better way 2020-11-11 19:01:12 +09:00
smoogipoo
7d02018134 Remove some unnecessary implementations for now 2020-11-11 18:54:40 +09:00
smoogipoo
d7bee80d4e Merge branch 'fix-incorrect-framestability-value' into hitobject-pooling-base 2020-11-11 18:52:51 +09:00
smoogipoo
90499329bd Fix frame stable playback not being set correctly 2020-11-11 18:50:38 +09:00
Dean Herbert
a08833f3b3 Update framework 2020-11-11 18:03:04 +09:00
Bartłomiej Dach
2b2f0321fd
Merge branch 'master' into fix-osu-hd-mod 2020-11-11 09:45:45 +01:00
smoogipoo
6f7a1dd57d Merge branch 'master' into hitobject-pooling-base 2020-11-11 17:09:18 +09:00
Dean Herbert
6fa0cc9bda
Merge pull request #10792 from peppy/remove-double-external-link-opener
Remove duplicate instantiation of externalLinkOpener
2020-11-11 16:58:35 +09:00
smoogipoo
5d55af5818 Fix hitobjects sometimes not fading in completely with HD mod 2020-11-11 16:35:48 +09:00
Dean Herbert
804450e707 Remove duplicate instantiation of externalLinkOpener 2020-11-11 15:49:45 +09:00
smoogipoo
7df9484458 Merge branch 'master' into add-random-skin-hotkey 2020-11-11 15:48:12 +09:00
Dan Balasescu
09324c4598
Merge pull request #3652 from WebFreak001/shuffle-skin
Add "random skin" option to skin setting dropdown
2020-11-11 15:47:00 +09:00
Dan Balasescu
8ad84d6640
Merge branch 'master' into osd-custom-bindings-display 2020-11-11 15:12:31 +09:00
Dan Balasescu
b446f21c68
Merge pull request #10786 from peppy/osd-skin-display
Display skin changes via on-screen display overlay
2020-11-11 15:12:19 +09:00
Dean Herbert
c308eb75d9 Move logic for performing actions from specific screen to its own component 2020-11-11 14:45:50 +09:00
Dean Herbert
f78f2fb59e Merge branch 'osd-custom-bindings-display' into add-random-skin-hotkey 2020-11-11 13:53:49 +09:00
Dean Herbert
324626e097 Move default config tracking calls out of OnScreenDisplay itself 2020-11-11 13:53:09 +09:00
Dean Herbert
11cf04eed1 Fix frames potentially getting added to spectator replay in wrong format
The way spectator currently works, the `Spectator` screen is responsible
for adding new frames to the replay, even when it has a child
(`SpectatorPlayer`) present.

There was a possibility that a new play had already started, and on
returning to the Spectator screen (to initialise the new play) there
would be a brief period where the Player instance is still reading from
the replay, the `userBeganPlaying` call had not yet finished
initialising the new target replay, and `userSentFrames` is run
(asynchronously), writing frames to the previous replay using the
incorrect ruleset instance).

To make this work, it doesn't `Schedule` frame addition to the replay
(making things a bit unsafe). Changing this itself isn't such a simple
one to do, so I instead opted to fix this via locking.

Closes https://github.com/ppy/osu/issues/10777.
2020-11-11 13:39:43 +09:00
Dean Herbert
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
df00a4ab9b Merge branch 'osd-custom-bindings-display' into shuffle-skin 2020-11-11 13:00:32 +09:00
Dean Herbert
3364648fe2 Merge branch 'osd-skin-display' into shuffle-skin 2020-11-11 13:00:31 +09:00
Dean Herbert
6014751e29 Add the ability for the game OSD to display user bindings
Adds binding display for mouse button toggle / HUD toggle keys.

- [ ] Depends on #10786 for ease-of-merge
2020-11-11 12:56:10 +09:00
Dean Herbert
9caa56c64f Display skin changes via on-screen display overlay 2020-11-11 12:19:01 +09:00
Dean Herbert
6674628bc7 Only include user skins in random choices 2020-11-11 12:03:38 +09:00
Dean Herbert
6b548ef5e4 Split out SkinInfo ID constants and fix random logic 2020-11-11 11:54:40 +09:00
Dean Herbert
6593aac3f2
Merge pull request #7762 from EVAST9919/history-graph 2020-11-11 11:35:34 +09:00
Dean Herbert
a5e13e4d2c Merge branch 'master' into shuffle-skin 2020-11-11 11:34:48 +09:00
Dan Balasescu
451f0a29c6
Merge pull request #10784 from peppy/fix-best-performance-weighting
Fix user profile best performance weighting being out of order
2020-11-11 11:21:43 +09:00
Dean Herbert
89c4e3d3b2
Merge branch 'master' into history-graph 2020-11-11 11:01:48 +09:00
Dean Herbert
8706b51b77
Merge pull request #10717 from smoogipoo/dho-apply 2020-11-11 10:54:24 +09:00
Dean Herbert
53c968e137 Fix user profile best performance weighting being out of order 2020-11-11 10:19:59 +09:00
Andrei Zavatski
6c428d8b11 Merge master with conflicts resolved 2020-11-11 01:37:01 +03:00
Bartłomiej Dach
546249b071 Temporarily fix crash on deleting control point groups 2020-11-10 21:32:47 +01:00
smoogipoo
b725c9cce9 Fix possible nullrefs 2020-11-11 00:24:28 +09:00
smoogipoo
e525784cb2 Clear lifetimeEntry after use 2020-11-11 00:24:14 +09:00
smoogipoo
99e5450af3 Cache DrawableRuleset 2020-11-11 00:22:36 +09:00
smoogipoo
66213f2ed0 Add pooling support to DrawableRuleset + Playfield 2020-11-10 23:56:32 +09:00
smoogipoo
31e4d71852 Rewrite HitObjectContainer with pooling support 2020-11-10 22:49:02 +09:00
smoogipoo
5354ef1699 Merge branch 'dho-apply' into hitobject-pooling-base 2020-11-10 22:30:08 +09:00
Bartłomiej Dach
20f9759a2e
Merge branch 'master' into fix-storyboard-sprite-paths 2020-11-10 12:57:10 +01:00
Dean Herbert
e1dcac4d8b Update framework 2020-11-10 20:29:29 +09:00
Bartłomiej Dach
61093030ee Remove redundant class name qualifier 2020-11-10 12:20:49 +01:00
Bartłomiej Dach
ce837eaba0 Rename variables 2020-11-10 12:20:26 +01:00