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

672 Commits

Author SHA1 Message Date
smoogipoo
0bda9e4b79 Implement some new methods 2021-02-22 18:31:33 +09:00
smoogipoo
ee6a94273d Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-02-22 18:31:27 +09:00
Dean Herbert
fde026d443 Remove redundant interface specification 2021-02-22 14:54:48 +09:00
Dean Herbert
63dd55c92c Add missing methods from updated audio component interface implementation 2021-02-22 14:18:52 +09:00
Dean Herbert
487a39eea9 Update interface implementations with framework changes 2021-02-18 18:52:34 +09:00
Dean Herbert
880fe82073 Add sample wrapper in LegacySkin to keep a reference and avoid GC death 2021-02-18 18:32:51 +09:00
Dean Herbert
4aff54412a Move dispose method to end of file 2021-02-18 18:32:39 +09:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
Dean Herbert
143e145670 Update implementation of AdjustableAudioComponents 2021-02-18 15:44:23 +09:00
smoogipoo
9b5995f2f1 Update with removal of looping parameter 2021-02-12 19:05:17 +09:00
smoogipoo
0c3aef8645 Fix potential race in looping sample
As mentioned via GitHub comments. Very unlikely for this to happen unless: the sample takes a short amount of time to load, is very short itself, and the update thread stalls until the sample fully completes.
2021-02-12 17:42:35 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Mysfit
3307e8357f DrawableStoryboardSample event method override for SamplePlaybackDisabledChanged 2021-01-26 00:36:32 -05:00
Bartłomiej Dach
b692abd3c2 Simplify condition from two to one operand 2021-01-22 20:35:34 +01:00
Mysfit
e0f8f6a23f introduce overrideable bool instead of copying event logic entirely 2021-01-22 12:09:40 -05:00
Mysfit
5b1bdfbdc5 Use callback method override 2021-01-21 20:06:24 -05:00
Mysfit
b53ad50cd4 Remove redundant variable 2021-01-21 18:00:37 -05:00
Mysfit
07ec0c0e0b Updated DrawableStoryboardSample to use GetBoundCopy() 2021-01-21 17:46:47 -05:00
Mysfit
b220939650 Fix storyboard samples continuing to play when the beatmap is paused or the intro is skipped. 2021-01-21 17:10:11 -05:00
smoogipoo
8ffbcc9860 Fix test failures and general discrepancies 2021-01-20 14:05:35 +09:00
smoogipoo
bdb9d4f7d0 Restart sound on play 2021-01-20 13:59:30 +09:00
smoogipoo
58269f9314 Update with framework changes 2021-01-20 13:35:43 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
ced7a36788 Update namespaces 2021-01-18 21:24:10 +09:00
Dean Herbert
707d5346c9 Merge branch 'master' into fix-spinner-spinning-weirdness 2021-01-18 18:26:44 +09:00
Dean Herbert
94fee8c31d Avoid doing a config lookup if initial conditional fails 2021-01-18 16:13:58 +09:00
Dean Herbert
1364de1166
Merge branch 'master' into beatmap-colour-setting 2021-01-18 16:07:46 +09:00
Bartłomiej Dach
3c1a86d11d Trim braces for consistency 2021-01-15 22:04:45 +01:00
Dean Herbert
8a6857f151 Add support for playing a SkinnableSample without restarting it 2021-01-15 17:16:12 +09:00
Dean Herbert
ebbc32adfa Change conditional used to decide legacy judgement animation to match stable
In stable, the type of legacy judgement to show is based on the presence
of particle textures in the skin. We were using the skin version
instead, which turns out to be incorrect and not what some user skins
expect.

Closes #11078.
2021-01-15 14:51:27 +09:00
Mysfit
0c01a3a685 Found a better solution than TValue type checking for additional beatmap colour settings. Added unit tests for Catch Beatmap Skin settings. 2021-01-14 23:30:24 -05:00
Mysfit
99e43c77c2 Simplified colour config checks in SkinProvidingContainer.cs 2021-01-14 16:53:55 -05:00
Jesse Myers
562634dfd2
Improve naming around the config lookup with fallback private method.
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-13 16:49:14 -05:00
Mysfit
8b95817f7a Moved SkinProvidingContainer bindable fetching to common method. Replaced redundant test boolean declarations with inline values. 2021-01-13 16:05:46 -05:00
Mysfit
1248d39d7e Reverted change to AllowConfigurationLookup and added a separate AllowColourLookup bool with config case based on lookup type in SkinProvidingContainer GetConfig call. 2021-01-13 13:07:07 -05:00
Mysfit
7bfb5954a8 Fix whitespace formatting. 2021-01-13 00:25:54 -05:00
Mysfit
5f10bcce02 Added beatmap colour settings checkbox and associated tests. 2021-01-13 00:09:22 -05:00
Dean Herbert
13ef097a53 Annotate potentially null parameters in protected ctor of LegacySkin 2020-12-22 12:08:40 +09:00
Dean Herbert
10c2745682 Add region specifications around implicit interface implementations 2020-12-22 12:01:09 +09:00
Dean Herbert
a5bcf1dc20 Expose resources to skin via interface (and share common pieces with beatmap) 2020-12-21 15:18:52 +09:00
Dean Herbert
c002184768 Clamp osu!mania's HitPosition offset to match osu-stable implementation
Closes #11184.
2020-12-16 18:08:19 +09:00
smoogipoo
ca11eeefdf Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 11:25:34 +09:00
Firmatorenio
3741c2339a simplify implementation and adjust the default values 2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319 apply ScorePosition to the judgement container 2020-12-13 22:01:08 +06:00
Firmatorenio
b3d8347315 add support for ScorePosition into LegacyManiaSkin 2020-12-10 20:11:08 +06:00
Bartłomiej Dach
f6d15b9757 Invert back-to-front logic 2020-12-06 18:59:38 +01:00
Bartłomiej Dach
fcd9483ffa
Merge branch 'master' into fix-multiple-playback-on-skin-change 2020-12-06 18:21:24 +01:00
Dean Herbert
a0f92628ac Merge branch 'master' into fix-sample-expire 2020-12-04 13:49:08 +09:00
ekrctb
6c46046c24 Fix DHO expires while hit sound is playing 2020-12-03 12:32:49 +09:00
Bartłomiej Dach
2c57deea2b Trim double full-stop in xmldoc 2020-11-30 19:43:20 +01:00
smoogipoo
c29ad8edf8 Better API for dealing with the contained drawable samples 2020-11-30 19:26:25 +09:00
smoogipoo
f5e8d1d14d Lose old reference immediately on updateSample() 2020-11-30 19:19:24 +09:00
smoogipoo
afb8eb636d Apply simple PR reviews 2020-11-30 18:40:22 +09:00
smoogipoo
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
Bartłomiej Dach
1c31a4a6b6 Expose animation start time as mutable in interface 2020-11-22 13:11:22 +01:00
Dean Herbert
a3b1d14f17 Apply similar fix to PoolableSkinnableSound 2020-11-22 14:44:39 +09:00
Bartłomiej Dach
240c1b0aef Add support for changing animation start time after load 2020-11-21 20:06:30 +01:00
Dean Herbert
8080fe942c Fix samples being played more than once on skin change 2020-11-20 20:38:26 +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
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
d388c44428 Cleanup, refactoring, and restart sample on skin change 2020-11-19 22:30:21 +09:00
smoogipoo
0287269b2f Fix volume discrepancies 2020-11-19 21:21:30 +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
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
9d04ce75cc Make particles additive and consume in judgement explosions 2020-11-19 15:47:02 +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
c47e70da9b Update animations for new/old miss style and add fades 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
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
bb1aacb360 Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 18:07:00 +09:00
Bartłomiej Dach
57eaee27ae Rename param to match type better 2020-11-17 20:12:04 +01:00
Dean Herbert
dd4b69feab Add legacy judgement implementation which doesn't transform on animations 2020-11-17 15:46:57 +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
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
6b548ef5e4 Split out SkinInfo ID constants and fix random logic 2020-11-11 11:54:40 +09:00
Dean Herbert
a5e13e4d2c Merge branch 'master' into shuffle-skin 2020-11-11 11:34:48 +09:00
Dean Herbert
8706b51b77
Merge pull request #10717 from smoogipoo/dho-apply 2020-11-11 10:54:24 +09:00
Morilli
7b0e387dfc apply different offset based on whether the marker is newStyle or not 2020-11-09 08:20:19 +01:00
Morilli
490fbd1dd8 Fix ki* textures having an incorrect vertical position 2020-11-09 05:54:48 +01:00
smoogipoo
248d342a2f Initial Apply()/FreeAfterUse() DHO implementation 2020-11-06 23:02:37 +09:00
smoogipoo
2bef9312d9 Make SkinReloadableDrawable poolable 2020-11-06 22:15:06 +09:00
Dean Herbert
414daab1dc Fix paused samples potentially getting stuck in a playing state in rapid toggling
Closes #10693. Should be obvious why.
2020-11-05 16:14:23 +09:00
Dean Herbert
bc69ed3870 Simplify sample lookup 2020-10-30 22:33:27 +09:00
Dean Herbert
b906736b85 Remove redundant initialisation 2020-10-30 12:28:40 +09:00
Dean Herbert
d319b27b3d Run sample lookup logic through getFallbackNames 2020-10-30 11:59:41 +09:00
Dean Herbert
0b28cca7e6 Don't force Gameplay prefix on all skin sample lookups 2020-10-30 11:59:40 +09:00
Dean Herbert
39cf27637e Update to use virtual methods instead of reconstructing TextBuilder 2020-10-19 14:59:03 +09:00
Dean Herbert
cdb649476b Allow legacy text to display fixed width correctly 2020-10-19 14:33:53 +09:00
Bartłomiej Dach
a5b0307cfb Apply same fix to legacy accuracy counter 2020-10-17 15:39:26 +02:00
Bartłomiej Dach
0acc86f757 Split line for readability 2020-10-17 15:39:25 +02:00
unknown
bba9a0b2fe set sprite text anchor and origin to top right 2020-10-17 00:25:16 +08:00
Dan Balasescu
dff2ba6e5d
Merge pull request #10531 from peppy/fix-accuracy-scale
Adjust accuracy display to match stable
2020-10-16 23:52:30 +09:00
smoogipoo
dfbc0965e4 Merge branch 'master' into peppy/skinnable-health-display 2020-10-16 23:17:17 +09:00