1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-26 05:12:57 +08:00
Commit Graph

1316 Commits

Author SHA1 Message Date
Salman Ahmed
9f3ea150f5 Fix legacy beatmap skins not falling back properly on HUD components 2021-05-19 23:01:29 +03:00
Bartłomiej Dach
788f1fcf48
Merge branch 'master' into disable-skin-editor-border 2021-05-19 21:52:29 +02:00
Salman Ahmed
21ca9c8431 Merge branch 'master' into beatmap-skin 2021-05-19 22:39:32 +03:00
Dean Herbert
eb5db8ff03 Disable border display on skin editor to avoid crashes
This wasn't being displayed correctly anyway, so rather than fixing
let's just remove it for now.

Closes #12868.
2021-05-20 02:01:46 +09:00
Dean Herbert
22337e0fc7 Add comment explaining why origin is flipped 2021-05-20 01:59:30 +09:00
Dean Herbert
363aec8179 Merge branch 'master' into hit-error-skinnable 2021-05-20 01:51:45 +09:00
Dean Herbert
a55879e511 Fix oversights in scale algorithm 2021-05-20 01:47:31 +09:00
Dean Herbert
14af86d6c5 Use the same code path for all scaling 2021-05-19 21:46:41 +09:00
Dean Herbert
6a3c58b9ad Implement proper scaling algorithms 2021-05-19 19:58:55 +09:00
Salman Ahmed
825d61e22c Separate default beatmap skins from DefaultSkin 2021-05-19 12:06:10 +03:00
Salman Ahmed
9806d94b74 Move beatmap skin info creation to static method at IBeatmapSkin 2021-05-19 11:58:00 +03:00
Salman Ahmed
c98d036b48 Merge branch 'master' into catch-hide-combo-workaround 2021-05-18 17:47:20 +03:00
Salman Ahmed
08ee1e4853 Remove HUD skin component lookup in favour of MainHUDComponents target system 2021-05-18 12:37:23 +03:00
Dean Herbert
d661e98fa6 Move common functionality out of OsuSelectionHandler and implement flip support 2021-05-18 18:34:06 +09:00
Dean Herbert
c80e736712 Change SkinBlueprint to use the origin point as the selection point
Not sure how this feels, but it makes using the same point throughout
the editor possible, which I think is the correct way forward for now.
2021-05-18 18:33:06 +09:00
Dean Herbert
10c730b37d Add new default locations for hit bar error displays 2021-05-18 15:50:50 +09:00
Salman Ahmed
f667ea3fd0 Replace AllowDefaultHUDComponentsFallback with a temporary override at LegacyBeatmapSkin 2021-05-17 21:34:53 +03:00
Dan Balasescu
ea4dfd3374
Merge pull request #12842 from peppy/song-progress-skinnable
Add layout customisation support for `SongProgress`
2021-05-17 20:15:01 +09:00
Dean Herbert
42d2711dc6 Use ShouldBeConsideredForInput instead of ReceivePositionalInputAtSubTree 2021-05-17 19:29:59 +09:00
Dean Herbert
60f3e628bc Fix song progress being interactable inside toolbox button 2021-05-17 19:05:22 +09:00
Dean Herbert
da0913ca2d Make SongProgress a skinnable component 2021-05-17 18:52:56 +09:00
smoogipoo
0d7a349500 Exclude interfaces from skinnable types 2021-05-17 18:16:09 +09:00
Salman Ahmed
4c25fe750f Disallow beatmap skin to fall back to default HUD components
This should become a more generalized `AllowDefaultSkinFallback` when default legacy skin fallback is supported.
2021-05-15 14:32:16 +03:00
Bartłomiej Dach
7665bdfbbb Merge branch 'master' into null-assignment-warning-enable 2021-05-15 01:08:34 +02:00
Bartłomiej Dach
69fc072429 Ignore skin component json data if deserialisation fails instead
Crashing was not really the best thing to do there given the preceding
code that already allowed a few continues in case of a missing file.
2021-05-15 01:08:11 +02:00
Bartłomiej Dach
fa6b5515b7 Ignore possible null from JsonConvert.DeserializeObject()
Nothing better can be done if a `null` is indeed returned.
2021-05-15 00:09:34 +02:00
Bartłomiej Dach
628e7a71ed Ignore possible nulls in Type.GetType() calls
They're mostly used in extensibility scenarios, so everything happens in
runtime. There is no better resolution than to crash with a null
reference exception.
2021-05-15 00:09:34 +02:00
Bartłomiej Dach
3d3c5028e6 Trim unnecessary array copy 2021-05-14 22:33:26 +02:00
Bartłomiej Dach
743b4fbff1 Pass correct member name to ArgumentExceptions 2021-05-14 22:16:37 +02:00
Bartłomiej Dach
876f53bf3b Fix copy-paste oversights in xmldoc & exception messages 2021-05-14 22:15:43 +02:00
Dean Herbert
d09da02673 Fix deleting skin elements not saving out to skin
Closes https://github.com/ppy/osu/issues/12786.
2021-05-14 16:03:22 +09:00
Dean Herbert
46e7d9e0ed Randomise the values displayed in the skinning toolbox
To stop the spam of "WYSI" comments everywhere. I guess I underestimated
the negative effect this would have.
2021-05-14 12:15:58 +09:00
Bartłomiej Dach
6a64a705b8 Merge branch 'master' into skin-blueprint-aspect-lock 2021-05-13 17:53:00 +02:00
Bartłomiej Dach
25b1443c50 Remove dead branch and mark implementation as temporary
The previous implementation was checking if the `x0` or `x2` anchors
were selected to decide on which way to transfer the drawable's scale,
but that check actually ends up being always true for corner anchors. To
visualise, this is how the corner anchors correspond to `Anchor` flags:

    x0  x1  x2
    |   |   |
y0 -O---O---O-
    |   |   |
y1 -O---+---O-
    |   |   |
y2 -O---O---O-
    |   |   |

The Os indicate where the reference anchors are on a selection box.
The first conditional eliminates the middle ones, which makes sense.
But after excluding them from further deliberations (marking via X):

    x0  x1  x2
    |   |   |
y0 -O---X---O-
    |   |   |
y1 -X---+---X-
    |   |   |
y2 -O---X---O-
    |   |   |

The remaining anchors always have `x0` or `x2` set. So to avoid
confusion, just always transfer one way for now. At some point this
should be torn out in favour of an actual implementation of the desired
behaviour.
2021-05-13 17:50:12 +02:00
Dean Herbert
0fa90a80d4
Merge branch 'master' into skin-blueprint-aspect-lock 2021-05-13 23:38:53 +09:00
Dean Herbert
3ecbb9ec4b
Merge branch 'master' into skin-blueprint-anchor-origin 2021-05-13 23:38:04 +09:00
Dean Herbert
98830dadda
Merge pull request #12762 from peppy/skin-blueprint-visual-improvements
Improve the visual appearance of skin editor blueprints
2021-05-13 23:37:21 +09:00
Dean Herbert
cef39eb4fa
Merge pull request #12766 from peppy/stable-anchor-origin
Keep component positions stable when changing anchor/origin
2021-05-13 23:36:40 +09:00
Dean Herbert
caa3e1dca5
Merge pull request #12767 from peppy/save-on-forced-exit
Save skin editor changes on forced exit
2021-05-13 23:35:52 +09:00
Dean Herbert
4183a1c556
Merge pull request #12769 from peppy/remove-skinnable-hud-classes
Remove remaining test usage of SkinnableXXX HUD components
2021-05-13 22:56:18 +09:00
Dean Herbert
6c12cae105 Remove unnecessary property 2021-05-13 22:25:11 +09:00
Dean Herbert
c57a2f43fa Merge branch 'master' into skin-blueprint-visual-improvements 2021-05-13 22:22:42 +09:00
smoogipoo
4cf4817ad2 Remove redundant parens 2021-05-13 22:11:58 +09:00
Dan Balasescu
d2fdd1e521
Merge branch 'master' into stable-anchor-origin 2021-05-13 22:06:21 +09:00
Dan Balasescu
67f795cfa6
Merge branch 'master' into save-on-forced-exit 2021-05-13 22:00:38 +09:00
smoogipoo
1e23c53507 Fix inspection 2021-05-13 21:59:38 +09:00
Dan Balasescu
d5b14b6b99
Merge branch 'master' into remove-skinnable-hud-classes 2021-05-13 21:06:48 +09:00
Dean Herbert
b939318922 Merge branch 'skin-serialisation' into skin-editor-default-placement-location 2021-05-13 19:09:34 +09:00
Dean Herbert
e5f765d1a8 Fix broken exception message 2021-05-13 19:06:58 +09:00
Dean Herbert
bda0ea463a Merge branch 'skin-serialisation' into save-on-forced-exit 2021-05-13 19:05:47 +09:00
Dean Herbert
c8b7cfc753 Merge branch 'skin-serialisation' into remove-skinnable-hud-classes 2021-05-13 19:05:08 +09:00
Dean Herbert
07e475cd13 Fix skin blueprint box drawing incorrectly when both scale and rotation are applied 2021-05-13 18:54:40 +09:00
smoogipoo
2f025f1967 SkinnableTargetWrapper -> SkinnableTargetComponentsContainer 2021-05-13 18:54:30 +09:00
Dean Herbert
01bc71acd2
Improve ability to parse xmldoc of SkinnableTargetWrapper
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-05-13 18:40:28 +09:00
Dean Herbert
df77b28b48 Add a flimsy guard against null parent to avoid crashes on exit sequence 2021-05-13 18:39:21 +09:00
Dean Herbert
9f8e6979dd Fix display of skin blueprints when flipped 2021-05-13 18:00:25 +09:00
Dean Herbert
1cda55393e Add aspect ratio locking and flip support to skin editor 2021-05-13 17:51:57 +09:00
Dean Herbert
ebce3fd3c7 Use ScheduleAfterChildren to better match comment 2021-05-13 17:29:11 +09:00
Dean Herbert
3ea469813c Use interface in place of SkinnableTargetContainer 2021-05-13 17:25:51 +09:00
Dean Herbert
0959e7156a Remove outdated TODO 2021-05-13 17:22:05 +09:00
Dean Herbert
106fa97a11 Rename SkinnableElementTargetContainer to SkinnableTargetContainer 2021-05-13 17:07:38 +09:00
Dean Herbert
7921dc7ece Rename ISkinnableComponent to ISkinnableDrawable 2021-05-13 17:06:00 +09:00
Dean Herbert
cdcd31b546 Replace ISkinSerialisable with IsEditable property 2021-05-13 17:03:17 +09:00
Dean Herbert
dd6a06a302 Reword xmldoc to read better 2021-05-13 16:43:42 +09:00
Dean Herbert
9dfa48b22e Fix incorrect exception text 2021-05-13 16:42:43 +09:00
Dean Herbert
19223ba013 Remove left-over debug logging 2021-05-13 16:42:13 +09:00
Dean Herbert
5818ed4c8c Remove unused DI resolution 2021-05-13 16:41:36 +09:00
Dean Herbert
db19617b8b Add JsonConstructor attribute to SkinnableTargetWrapper 2021-05-13 13:16:20 +09:00
Dean Herbert
3b862798e9 Standardise naming of methods related to SkinnableInfo 2021-05-13 13:14:49 +09:00
Dean Herbert
581e7940c7 Add xmldoc to SkinnableElementTargetContainer 2021-05-13 13:13:22 +09:00
Dean Herbert
c93ed541f3 Add xmldoc and tidy up logic in Skin 2021-05-13 13:09:33 +09:00
Dean Herbert
992a052426 Remove stray comment 2021-05-13 13:07:06 +09:00
Dean Herbert
469a7f5d2a Reorder fields in SkinEditor 2021-05-13 13:04:17 +09:00
Dean Herbert
2bf8635ffd Move field upwards in class 2021-05-13 13:03:23 +09:00
Dean Herbert
a38cb61b08 Remove duplicated call to base.GetDrawableComponent 2021-05-13 13:02:55 +09:00
Dean Herbert
8b9ac86d4b Merge branch 'master' into skin-serialisation 2021-05-13 12:35:06 +09:00
Bartłomiej Dach
27ca7d0f4f Actually annotate the correct ctor 2021-05-12 23:53:39 +02:00
Bartłomiej Dach
a6aec6e007 Fix missed InstantiationInfo setter usages 2021-05-12 23:34:25 +02:00
Bartłomiej Dach
1b579dd838 Extract invariant instantiation info extension method 2021-05-12 23:23:51 +02:00
Bartłomiej Dach
4464204e33 Mark all skin ctors used via reflection in SkinInfo.CreateInstance() 2021-05-12 23:23:42 +02:00
Dean Herbert
7bac81f394
Fix incorrect inline comments
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-05-12 19:37:00 +09:00
Dean Herbert
55e1f97f59 Remove unused using statement 2021-05-12 19:06:40 +09:00
Dean Herbert
75227e5a70 Change default skin to use component lookup for conformity 2021-05-12 18:55:48 +09:00
Dean Herbert
0a895fff15 Remove remaining test usage of SkinnableXXX HUD components 2021-05-12 18:53:25 +09:00
Dean Herbert
088335a035 Revert "Also save on skin switch"
This reverts commit 2f55d1e5ab.
2021-05-12 17:45:51 +09:00
Dean Herbert
2f55d1e5ab Also save on skin switch 2021-05-12 17:42:12 +09:00
Dean Herbert
be187e8ebd Avoid hard crash if Save() is called before preparing for mutation 2021-05-12 17:42:04 +09:00
Dean Herbert
9df08560b6 Save skin editor changes on forced exit 2021-05-12 16:07:00 +09:00
Dean Herbert
494a1b01a5 Move SkinnableElementTargetContainer out of HUD namespace 2021-05-12 15:59:33 +09:00
Dean Herbert
29e6f6b6b6 Remove public prefixes from interface type and add Components list for future use 2021-05-12 15:58:21 +09:00
Dean Herbert
05e0c57a6a Keep component positions stable when changing anchor/origin 2021-05-12 15:30:52 +09:00
Dean Herbert
d55f42dc2e Show anchor and origin in skin blueprints when selected 2021-05-12 15:12:17 +09:00
Dean Herbert
42e6795251 Place new skin components at the centre of the screen by default 2021-05-12 14:11:40 +09:00
Dean Herbert
96d4011de2 Use pattern matching to tidy up instance construction 2021-05-12 14:02:24 +09:00
Dean Herbert
1d383024e2 Improve the visual appearance of skin editor blueprints 2021-05-12 13:54:30 +09:00
Dean Herbert
77e422409c Add SkinInfo.InstantiationInfo to allow creating different skin types 2021-05-11 23:37:06 +09:00
Dean Herbert
1231c08a07 Rename mismatching file 2021-05-11 18:58:26 +09:00
Dean Herbert
4bb933e4b1 Add missing base lookup call to DefaultSkin 2021-05-11 18:55:45 +09:00
Dean Herbert
f55407f871 Show a message when attempting to customisse a screen which doesn't support it 2021-05-11 18:39:15 +09:00
Dean Herbert
6d587dc392 Adjust target size slightly to better align with the screen 2021-05-11 18:39:15 +09:00
Dean Herbert
1831f581aa Add basic metadata display and remove outdated message about not saving 2021-05-11 18:39:15 +09:00
Dean Herbert
a4e0529617 Replace polling logic with direct bindable reactions 2021-05-11 18:39:15 +09:00
Dean Herbert
a88a8b7d8d Use ISkinnableComponent wherever possible (and expose as BindableList) 2021-05-11 18:39:15 +09:00
Dean Herbert
a7e83aacfb Ensure default skins are copied before modifying 2021-05-11 18:39:15 +09:00
Dean Herbert
a67cead0b3 Add SkinInfo.InstantiationInfo to allow creating different skin types 2021-05-11 18:39:15 +09:00
Dean Herbert
f6f4b90d2b Add customisation support for LegacyHealthDisplay 2021-05-11 18:39:14 +09:00
Dean Herbert
d5fe4f0f72 Remove unused skin resolution in LegacyScoreCounter 2021-05-11 18:39:14 +09:00
Dean Herbert
944f09ec98 Move default skin cross-component dependencies out to default specifications 2021-05-11 18:39:14 +09:00
Dean Herbert
12684de66e Add ability to adjust origin in skin editor 2021-05-11 18:39:14 +09:00
Dean Herbert
117d6d731d Move cross-component layout dependencies for legacy skin to LegacySkin 2021-05-11 18:39:14 +09:00
Dean Herbert
bf65547eec Allow some serialised components to not be mutable by the user 2021-05-11 18:39:14 +09:00
Dean Herbert
81902ad6a6 Add the ability to revert all skin changes 2021-05-11 18:39:14 +09:00
Dean Herbert
4769a95b49 Fix encapsulation and remove target lookup overhead 2021-05-11 18:39:14 +09:00
Dean Herbert
c957293ec3 Load json from disk store at skin construction for now
This allows for easier mutation without worrying about changes being
re-read from disk unexpectedly.
2021-05-11 18:39:14 +09:00
Dean Herbert
b248b2e5e3 Hook up full save/load flow 2021-05-11 18:39:14 +09:00
Dean Herbert
004798d61d Update Legacy components to not require skin in ctor 2021-05-11 18:39:14 +09:00
Dean Herbert
95a8f21ab2 Add the concept of skinnable target containers and mark a basic one for HUD elements 2021-05-11 18:39:14 +09:00
Dean Herbert
67ea4a7e97 Read from skin config 2021-05-11 18:39:14 +09:00
Dean Herbert
b9ab9342fa Setup basics to allow extracting serializable content from skinnable Drawables 2021-05-11 18:39:14 +09:00
Dean Herbert
1b701adfef Add score/health processors to fill in default values 2021-05-10 18:15:39 +09:00
Dean Herbert
2ecd638f7f Merge branch 'master' into skin-components-list 2021-05-10 18:13:10 +09:00
Dean Herbert
b274fdf20d Merge branch 'master' into skin-components-bind-outwards-health 2021-05-10 11:13:44 +09:00
Bartłomiej Dach
eb716455b7
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-09 12:13:18 +02:00
Bartłomiej Dach
0bc6a026eb
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-08 21:08:53 +02:00
Bartłomiej Dach
c3bf6a0287 Remove weird vestigial Current reimplementation
Has no functional purpose anymore since the changes in the HUD element
data binding flow.
2021-05-08 21:01:37 +02:00
Dean Herbert
755588258e Update HealthDisplay components to use DI to attach data source 2021-05-07 17:22:45 +09:00
Dean Herbert
01eff7f316 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-score-display 2021-05-07 16:30:08 +09:00
Dean Herbert
93f10330e3 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-accuracy 2021-05-07 16:29:10 +09:00
Dean Herbert
ad398165a2 Update AccuracyCounter components to use DI to attach data source 2021-05-07 16:27:25 +09:00
Dean Herbert
a2e4fb5b6b Update ScoreCounter components to bind outwards 2021-05-07 16:16:48 +09:00
Dean Herbert
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
Salman Ahmed
51ff59242d Use legacy beatmap combo indices for legacy beatmap skins 2021-05-05 07:43:25 +03:00
Salman Ahmed
78794935b4 Handle combo colour lookups in other skins 2021-05-05 07:15:11 +03:00
Salman Ahmed
9be8d3f0d2 Add overridable combo colour retrieval method and handle in legacy skin 2021-05-05 07:15:07 +03:00
Salman Ahmed
f95744170f Add skin config lookup for combo colours 2021-05-05 07:06:26 +03:00
Dean Herbert
15603de6e9 Change scale multiplier to be closer to expectations 2021-05-03 15:25:18 +09:00
Dean Herbert
7d8be8cd83 Add comment about why we are running checkForComponents on a timer 2021-05-03 15:20:00 +09:00
Dean Herbert
a298a93070 Remove redundant storage of blueprint's related item 2021-05-03 15:18:18 +09:00
Dean Herbert
51f4077b27 Reorder methods in SkinSelectionHandler to follow standards 2021-05-03 15:15:00 +09:00
Dean Herbert
a2faa0b74c Remove dead code 2021-05-03 15:13:53 +09:00
Dean Herbert
01984de9c7 Use existing GetStateFromSelection helper function 2021-05-03 15:13:32 +09:00
Dean Herbert
f3b305bbe6 Rename and improve xmldoc of SkinEditorOverlay 2021-05-03 14:58:25 +09:00
Dean Herbert
e663629bc6 Match button appearance to that of the beatmap editor 2021-04-30 15:22:51 +09:00
Dean Herbert
a1e64f4e3c Use the existing toolbox design 2021-04-30 14:41:06 +09:00
Dean Herbert
bde72faa7c Limit components list height to better align with actual viewport 2021-04-30 13:10:42 +09:00
Dean Herbert
8b82a07914 Move skin-related interfaces out of HUD namespace 2021-04-30 13:10:42 +09:00
Dean Herbert
5585a7d438 Add basic interfaces for skinnable target containers 2021-04-30 13:10:42 +09:00
Dean Herbert
ae9d1dc40b Add component list to main editor interface and enable basic placement 2021-04-30 13:10:42 +09:00
Dean Herbert
6442fb819f Split out component from test scene and fix SongProgress 2021-04-30 13:10:42 +09:00
Dean Herbert
cdef07b2ee Fix blueprints not hiding when deleting elements 2021-04-30 13:09:57 +09:00
Dean Herbert
8d056ff38f Remove redundant parenthesis 2021-04-29 18:23:22 +09:00
Dean Herbert
fb64f6faf2 Add ability to exit using game "back" binding 2021-04-29 17:40:58 +09:00
Dean Herbert
a7982787d4 Add basic header text 2021-04-29 17:40:48 +09:00
Dean Herbert
b936043956 Add the skin editor to the game 2021-04-29 17:20:22 +09:00
Dean Herbert
b460181f15 Add note about rotation not working as expected 2021-04-29 16:16:52 +09:00
Dean Herbert
1516e2ffef Update blueprint implementation in line with #12625. 2021-04-29 16:12:31 +09:00
Dean Herbert
3c84b0d8c6 Fix selection screen point being wrong since recent refactors 2021-04-29 16:12:15 +09:00
Dean Herbert
de73ac7cec Allow skin editor to be invoked from any context
This is kind of how I see things working going forward, where the editor
can be applied to anything in the game which supports it (ie. a results
screen, gameplay screen, etc.) and it will immediately allow changing
the interface.

This adds a test scene which shows this working with gameplay.
2021-04-29 16:12:15 +09:00
Dean Herbert
4f9e1e4945 Check for new components every one second to handle late loaders 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
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
smoogipoo
281c2041b2 Add failing test 2021-04-20 16:51:00 +09:00
Salman Ahmed
1b6e08b3eb Fix incorrect default font overlap for score and combo 2021-03-26 10:35:46 +03:00
Salman Ahmed
6aa0c9d8fd Merge branch 'master' into legacy-sprite-text-fonts 2021-03-25 14:52:01 +03:00
Dan Balasescu
41cf261286
Merge pull request #12177 from peppy/fix-comment-parsing-regression
Don't strip comments from metadata during parsing
2021-03-25 15:02:10 +09:00
Dean Herbert
0324bfa857 Change checks back to Contains 2021-03-25 14:14:38 +09:00
Dean Herbert
e22650293d Remove unnecessary second call to StripComments in skin parsing logic 2021-03-25 13:35:42 +09:00
Salman Ahmed
fc5719e445 Fix SkinManager not handling extensions casing comparsion properly 2021-03-24 21:31:53 +03:00
Dean Herbert
073dba5330 Remove local workarounds to attempt to avoid crashes on skin change 2021-03-22 14:05:37 +09:00
Bartłomiej Dach
a16c0641b2 Revert EF Core to version 2.2
This reverts commit f3faad74d5, reversing
changes made to 712e7bc7bf.

Several issues arose after migrating to 5.0, including, but possibly not
limited to, performance regressions in song select, as well as failures
when attempting to save beatmaps after metadata changes in the editor.
2021-03-21 11:05:15 +01:00
Dean Herbert
ca943a897a Fix back to front initialisation order 2021-03-20 10:51:58 +09:00
Dean Herbert
68aaf90702 Fix disposal rather than performing some weird hack 2021-03-19 20:30:52 +09:00
Dean Herbert
f59327cc3e Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-19 20:29:44 +09:00
Dean Herbert
b2d8db3a92 Rename incorrect variable 2021-03-19 20:25:21 +09:00
Dean Herbert
c0c8b3e46c Fix regression meaning SkinnableSound initialisation may never happen 2021-03-19 19:22:50 +09:00
Dean Herbert
9491e6394a Include the bundled skins when selecting a random skin 2021-03-19 15:46:43 +09:00
Dean Herbert
bf4317d3f0 Ensure looping is disabled on old samples when switching skins 2021-03-19 15:34:21 +09:00
Dean Herbert
0e821e857e Remove unnecessary duplicated skin changed handling
For some reason we were handling this both in `DrawableSkinnableSound`
and `PoolableSkinnableSample` in very similar ways. Only one seems
required.
2021-03-19 15:23:32 +09:00
Bartłomiej Dach
b419d2c2e2 Fix invalid xmldoc indent 2021-03-18 19:52:38 +01:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
Dean Herbert
5b0d75ee56 Only trim trailing spaces to avoid breakage in storyboard parsing 2021-03-18 16:30:30 +09:00
Dean Herbert
2bdffd1004 Move skin requery logic into extension methods 2021-03-15 13:11:58 +09:00
Roman Kapustin
0a1e325fc7 Extract requerying of navigational properties from DbContext 2021-03-14 19:34:53 +03:00
Salman Ahmed
43c1e1d217 Update existing usages
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Salman Ahmed
2a2ee3fa5e Update legacy sprite text constructor 2021-03-13 06:05:36 +03:00
Salman Ahmed
64d1cb5193 Remove text skin components in favour of plain LegacySpriteTexts 2021-03-13 06:05:36 +03:00
Salman Ahmed
91741564e8 Add legacy font enum and extensions 2021-03-13 06:05:36 +03:00
Salman Ahmed
115c186cb7 Move hit circle font from osu! ruleset 2021-03-13 06:05:36 +03:00
Roman Kapustin
47b80d2474 Workaround InvalidOperation exceptions 2021-03-11 20:51:54 +03:00
Dean Herbert
b1cd01ceb8 Apply ConfigureAwait changes to game side 2021-03-08 14:36:35 +09:00
Dean Herbert
c4ba045df1 Add note about finalizers required for audio store clean-up 2021-03-02 16:07:51 +09:00
Dean Herbert
1fd76ea3fb Apply changes to UI components overriding functions with changing signatures 2021-02-22 19:01:42 +09:00
smoogipoo
f48e017ac9 Move nested class to bottom of file 2021-02-22 18:34:05 +09:00
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
Dean Herbert
e87f515a4f
Merge pull request #10522 from Morilli/legacyskin-fixes
Add support for ScorePrefix and ScoreOverlap values in legacy skins
2020-10-16 20:54:03 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dean Herbert
2ba8bc45fd Also add slight adjustment to score display 2020-10-16 18:37:24 +09:00
Dean Herbert
cbaad4eb56 Adjust accuracy display to match stable 2020-10-16 18:34:14 +09:00
Dean Herbert
a774de2270 Also add support in LegacyComboCounter 2020-10-16 17:52:22 +09:00
Dean Herbert
24b0a1b84b Switch to direct casts (we can be sure LegacySpriteText is present at this point) 2020-10-16 17:40:07 +09:00
Dean Herbert
3ce6d1fea1 Remove unnecessary AccuracyText enum
All elements use "score" regardless.
2020-10-16 17:36:54 +09:00
Dean Herbert
e9c4b67cf4 Inline variable 2020-10-16 17:35:35 +09:00
Dean Herbert
05f1017c28 Fix lookup check not being updated to use prefix 2020-10-16 17:35:21 +09:00
Dean Herbert
a1892aa0a7 Only additive flash explosions over the epic cutoff 2020-10-16 17:25:55 +09:00
Dean Herbert
9572260e6d Add bulge and explode support 2020-10-16 17:09:00 +09:00
Dean Herbert
8104bd0f74 Add fill colour changes 2020-10-16 17:08:46 +09:00
Dean Herbert
5803c72b4c Add support for old marker style danger textures 2020-10-16 17:08:46 +09:00
Dean Herbert
f0b15813e2 Add support for both legacy styles 2020-10-16 17:08:46 +09:00
Dean Herbert
6d3a106a86 Simplify texture lookups 2020-10-16 17:08:46 +09:00
Dean Herbert
f28bcabae7 Avoid transforms per hp change 2020-10-16 17:08:46 +09:00
Dean Herbert
5be9e30cd0 Add legacy implementation 2020-10-16 17:08:46 +09:00
Dean Herbert
e89c5c3b3c Add dynamic compile exceptions to fix skin test scenes 2020-10-16 17:08:46 +09:00
Dean Herbert
c0a1f2158c Add basic component structure for skinnable health displays 2020-10-16 17:08:46 +09:00
Morilli
df1db8611c move skin-specific config retrieval to GetDrawableComponent 2020-10-16 08:36:20 +02:00
Morilli
085d8d0ecb Add support for ScorePrefix and ScoreOverlap values in legacy skins 2020-10-16 06:16:20 +02:00
Dean Herbert
88ffcb9234 Update EndsWith usages 2020-10-16 12:58:34 +09:00
Dean Herbert
cc41845f56 Add missing string function ordinal specifications 2020-10-16 12:49:31 +09:00
Dean Herbert
ca74cf824c Add padding 2020-10-15 18:24:28 +09:00
Dean Herbert
b31a3fbabb Add test 2020-10-15 18:11:30 +09:00
Dean Herbert
4f6dd15869 Add legacy font lookup support for comma/percent 2020-10-15 17:56:37 +09:00
Dean Herbert
254eba9008 Add and consume skinnable accuracy counter 2020-10-15 17:53:16 +09:00
Dean Herbert
90ff8ff050 Merge branch 'skinnable-combo-counter' into skinnable-score-display 2020-10-15 17:52:06 +09:00
Dean Herbert
37e9f331ad Simplify score font lookup 2020-10-15 17:49:55 +09:00
Dean Herbert
950c47287c Fix positioning of score display in HUD overlay 2020-10-15 17:14:42 +09:00
Dean Herbert
e1da64398e Add and consume skinnable score counter 2020-10-15 17:14:42 +09:00
Dean Herbert
9bb8a43bce Combine LegacyComboCounter and ComboCounter classes 2020-10-14 19:16:34 +09:00
Dean Herbert
fbbea48c8c Add score text skinnability 2020-10-14 19:16:34 +09:00
Dean Herbert
2fce064e32 Add basic legacy combo counter and updating positioning logic 2020-10-14 19:16:34 +09:00
Dean Herbert
6a6718ebab Allow bypassing origin/anchor setting of skinnable components
It makes little sense to set these when using RelativeSizeAxes.Both
2020-10-14 19:16:34 +09:00
Dean Herbert
60603d2918 Add skin components and interfaces 2020-10-14 19:16:34 +09:00
Dean Herbert
2ed43c14f8
Merge branch 'master' into editor-file-drop-support 2020-10-05 17:48:06 +09:00
Dean Herbert
758088672c Don't stop non-looping samples immediately when pausing 2020-10-05 15:07:46 +09:00
Dean Herbert
50eca202f4 User IEnumerable for HandledExtensions 2020-10-02 16:17:10 +09:00
Dan Balasescu
df07ca445f
Merge branch 'master' into legacy-SpinnerNoBlink 2020-10-01 20:34:23 +09:00
Dan Balasescu
3a81602d0c
Merge pull request #10286 from peppy/fix-hitobject-sample-stuck-on-future-seek
Fix HitObject samples getting stuck in a playing state on seeking far into the future
2020-10-01 18:08:17 +09:00
Dean Herbert
482c23901b Check RequestedPlaying state before allowing scheduled resume of looped sample 2020-10-01 16:54:58 +09:00
smoogipoo
7890319802 Merge branch 'master' into adjust-hit-result-types 2020-10-01 16:19:07 +09:00
Dean Herbert
4b70fe8585 Merge branch 'fix-storyboard-sample-pausing' into fix-hitobject-sample-stuck-on-future-seek 2020-09-30 22:46:09 +09:00
Dean Herbert
367b35bb10 Merge branch 'master' into fix-storyboard-sample-pausing 2020-09-30 22:42:26 +09:00
Dean Herbert
414c40d298 Reverse inheritance order of SkinnableSound's pause logic 2020-09-30 15:45:14 +09:00
smoogipoo
f439c1afbc Make osu/taiko/catch use Ok+Great 2020-09-29 17:16:55 +09:00
Dean Herbert
5d1c377379 Fix HitObject samples getting stuck in a playing state on seeking far into the future 2020-09-29 15:07:55 +09:00
Dean Herbert
136843c8e4 Make DrawableStoryboardSample a SkinnableSound
Allows sharing pause logic with gameplay samples.
2020-09-29 14:25:39 +09:00
Dean Herbert
74e74e1c31 Fix pause loop sound not working because paused 2020-09-29 14:20:41 +09:00
Dean Herbert
d6f3beffb6 Use existing bindable flow instead 2020-09-29 12:50:17 +09:00
Max Hübner
54852991f3 Move SpinnerNoBlink to OsuSkinConfiguration 2020-09-28 12:24:30 +02:00
Max Hübner
e7d0456454 Add SpinnerNoBlink to LegacySettings 2020-09-26 16:25:17 +02:00
Dean Herbert
c38cd50723 Fix editor not using beatmap combo colours initially on load 2020-09-23 13:16:50 +09:00
Dean Herbert
0e01ac2d90
Merge branch 'master' into fix-new-samples-starting-while-gameplay-paused 2020-09-22 16:16:54 +09:00
Dean Herbert
1e09d8fd1a
Merge branch 'master' into catch-combo-counter 2020-09-21 17:53:00 +09:00
Salman Ahmed
735b6b0d6f Remove a pointless portion of the inline comment 2020-09-19 05:54:40 +03:00
Salman Ahmed
6aa84424e4 Merge remote-tracking branch 'upstream/master' into fix-new-samples-starting-while-gameplay-paused 2020-09-19 05:53:04 +03:00
Salman Ahmed
35c7677d0a Fix gameplay samples potentially start playing while player is paused 2020-09-16 01:59:07 +03:00
Dan Balasescu
0761aab42f
Merge branch 'master' into catch-combo-counter 2020-09-15 17:20:31 +09:00
Dean Herbert
1884e0167b Eagerly populate skin metadata to allow usage in hashing computation 2020-09-14 23:31:03 +09:00
Dean Herbert
91d37e0459 Fix typo in comment 2020-09-14 20:17:00 +09:00
Bartłomiej Dach
3db0e7cd75 Generalise LegacyRollingCounter 2020-09-12 22:40:32 +02:00
Dean Herbert
ef77658311 Add coverage of case where skin.ini doesn't specify name/author 2020-09-11 16:29:14 +09:00
Dean Herbert
15b533f2a4 Hash skins based on name, not skin.ini contents
It is feasible that a user may be changing the contents of skin.ini
without changing the skin name / author. Such changes should not create
a new skin if already imported.
2020-09-11 16:20:54 +09:00
Salman Ahmed
a0a4501008 Merge remote-tracking branch 'upstream/master' into catch-combo-counter 2020-09-01 20:17:25 +03:00
Craftplacer
9835d98942 Merge remote-tracking branch 'upstream/master' into combo-colors 2020-09-01 17:39:35 +02:00
Craftplacer
9b3a48ee5e
Revert "Add marker interface for beatmap skins" 2020-08-31 18:29:46 +02:00
Craftplacer
3cc169c933 Remove set from properties in SkinConfiguration classes
I don't get why this wasn't resolved in the first place when this file was originally written.

*sigh*
2020-08-31 17:48:36 +02:00
Craftplacer
a290f7eeec Revert left-over type change in SkinConfiguration 2020-08-31 17:34:18 +02:00
Craftplacer
eafa97af17 Revert changes done to SkinConfiguration and IHasCustomColours 2020-08-31 17:23:42 +02:00
Craftplacer
7e57af3ca4 Return true if both ComboColours are null 2020-08-30 16:07:46 +02:00
Craftplacer
08321d8dec Safe checking against ComboColours instead of CustomColours 2020-08-30 11:37:43 +02:00
Craftplacer
00b68b050c Merge remote-tracking branch 'upstream/master' into combo-colors 2020-08-30 10:16:38 +02:00
Dean Herbert
814655770d
Merge branch 'master' into beatmapskin-interface 2020-08-30 12:22:55 +09:00
Dean Herbert
cd0a73883d
Merge pull request #9945 from smoogipoo/skin-colour-fix-2
Exactly reproduce osu!stable skin colour alphas
2020-08-29 20:06:26 +09:00
Craftplacer
82acb3506c Add and change xmldocs 2020-08-29 11:07:28 +02:00
Craftplacer
4cb9e1d443 Initial commit 2020-08-29 10:33:43 +02:00
Dean Herbert
da34544fdc
Merge branch 'master' into hold-note-lighting 2020-08-28 18:27:29 +09:00
Bartłomiej Dach
a1f731d455
Merge branch 'master' into mania-keys-under-notes 2020-08-27 14:06:43 +02:00
smoogipoo
c0c67c11b1 Add parsing for hold note light/scale 2020-08-26 20:21:41 +09:00
smoogipoo
d057f5f4bc Implement mania "KeysUnderNotes" skin config 2020-08-26 15:37:16 +09:00
smoogipoo
7a70d06342 Add support for custom LightingN paths 2020-08-25 15:35:37 +09:00
smoogipoo
ab8d9be095 Move out into a separate method 2020-08-25 15:16:41 +09:00
Craftplacer
8f9e090f4c Remove Indent 2020-08-23 15:39:48 +02:00
Craftplacer
492be0e016 Fix formatting 2020-08-23 15:23:10 +02:00
Craftplacer
e6646b9877 Resolve review comments 2020-08-23 15:08:02 +02:00
smoogipoo
08078b9513 Rename method to remove "InitialColour" namings 2020-08-22 00:56:29 +09:00
smoogipoo
f89b6f4465 Add xmldocs 2020-08-22 00:52:53 +09:00
smoogipoo
2424fa0802 Add helper methods 2020-08-22 00:15:58 +09:00
Salman Ahmed
deb5cc752b Merge remote-tracking branch 'upstream/master' into catch-combo-counter 2020-08-19 08:39:58 +03:00
Salman Ahmed
422100192c Move HasFont to legacy skin extensions class instead 2020-08-19 07:58:23 +03:00
Craftplacer
cfd82104db Minor changes and improvements 2020-08-16 01:00:28 +02:00
Craftplacer
434354c44c Properly implement SkinConfiguration equality 2020-08-16 00:21:26 +02:00
Dean Herbert
365aae799e
Merge branch 'master' into fix-skinnable-sound-mute 2020-08-10 23:55:51 +09:00
Dean Herbert
ffb2e56a8d Reverse direction of bool to make mental parsing easier 2020-08-08 23:25:52 +09:00
Dean Herbert
0d1f273603 Merge branch 'master' into fix-skinnable-sound-mute 2020-08-08 23:24:03 +09:00
Dean Herbert
1090137da3
Adjust comment to read better
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-08-08 23:23:02 +09:00
Dean Herbert
c84452cfbf Update usages 2020-08-06 21:53:20 +09:00
Dean Herbert
e3105fd4c8 Add more resilient logic for whether to avoid playing SkinnableSound on no volume 2020-08-06 19:16:26 +09:00
smoogipoo
641279ec3e Make SkinnableSound an IAdjustableAudioComponent 2020-08-06 14:43:48 +09:00
Salman Ahmed
29053048ff Add support to use legacy combo fonts for the counter on legacy skins 2020-08-03 21:40:20 +03:00
Dan Balasescu
b448ca3efe
Merge branch 'master' into merge-global-to-legacy 2020-08-03 16:00:52 +09:00
Bartłomiej Dach
ca7545917c Extract method for performing legacy lookups 2020-08-02 19:55:18 +02:00
Bartłomiej Dach
3e5c3e256d Extract method for performing generic config lookup 2020-08-02 19:54:38 +02:00
Bartłomiej Dach
971eafde2b Move fallback to non-bank samples to centralise hackery 2020-07-30 22:20:36 +02:00
Bartłomiej Dach
2bb436fd3c Do not use custom sample banks outside of beatmap skin 2020-07-30 22:07:26 +02:00
Salman Ahmed
6473bf503b Remove use of case when 2020-07-30 07:09:40 +03:00
Salman Ahmed
5439099b7c Merge GlobalSkinConfiguration settings into the LegacySetting enum 2020-07-29 10:35:51 +03:00
Dean Herbert
91c2afe9f1 Merge branch 'master' into fix-gameplay-sample-pausing 2020-07-28 15:10:37 +09:00
Dean Herbert
cc0d5d74d7
Merge branch 'master' into Issue#9170 2020-07-28 13:36:42 +09:00
Dean Herbert
9889bfa0f3 Stop playing samples on pause, resume looping on unpause 2020-07-27 16:15:49 +09:00
Dean Herbert
3257c1e9f2 Move interface exposing into region 2020-07-27 16:02:52 +09:00
Bartłomiej Dach
648f9204f5 Add sample lifetime constraints for taiko 2020-07-26 17:50:25 +02:00
Dean Herbert
3ed40d3a6b Fix SkinnableSounds not continuing playback on skin change 2020-07-22 16:37:58 +09:00
Dean Herbert
a39c4236c7 Fix multiple issues and standardise transforms 2020-07-17 19:08:50 +09:00
smoogipoo
afca535abe Add texture wrapping support to GetAnimation() 2020-07-17 17:08:17 +09:00
smoogipoo
9f7750e615 Add texture wrapping support to skins 2020-07-17 16:54:30 +09:00
smoogipoo
8a3cadc111 Fix judgement animations not resetting on use 2020-07-13 21:21:59 +09:00
mcendu
5c2959eeb6
allow lookup of stage decoration paths and add test images 2020-07-05 13:02:50 +08:00
mcendu
ec689ce824
add support for custom mania skin paths for stage decorations 2020-07-05 12:31:16 +08:00
Dean Herbert
5f577797a7 Expose transform helpers in SkinnableSound 2020-07-01 18:41:00 +09:00
Bartłomiej Dach
8233f5fbc4 Check skin option in skin transformers 2020-06-22 20:08:32 +02:00
Bartłomiej Dach
e827b14abf Add LayeredHitSamples skin config lookup 2020-06-22 19:42:42 +02:00
Bartłomiej Dach
ad85c5f538 Add base legacy skin transformer 2020-06-21 23:06:55 +02:00
Dean Herbert
b9e247da8f Simplify lookup code 2020-06-13 21:19:06 +09:00
mcendu
c6e087b994 remove incorrectly added key 2020-06-12 23:11:50 +08:00
mcendu
586e3d405c add proper decoding support? 2020-06-12 22:48:18 +08:00
mcendu
7c3e7b65a8 add custom file path support for osu\!mania judgement sprite 2020-06-12 21:22:22 +08:00
Dean Herbert
f277b0c99f Use better formatting for skin display (matching BeatmapMetadata) 2020-05-24 22:30:56 +09:00
Dean Herbert
c2697d3907 Use DrawableSample in SkinnableSound class 2020-05-20 20:49:01 +09:00
Dean Herbert
052ad79fc6 Convert dangerous events to IBindables 2020-05-19 16:44:22 +09:00
Dean Herbert
bf719f98d5 Fix beatmap skins providing fallback version lookup, preceding user skins 2020-05-12 11:08:30 +09:00
smoogipoo
a41ac50e2f Line widths should not receive scale factor 2020-04-21 17:15:06 +09:00
smoogipoo
b8a1831d98 Read line widths from skin 2020-04-21 17:14:04 +09:00
Dean Herbert
48cf7becd1
Merge branch 'master' into catch-hyperdash-fruit-colouring 2020-04-19 21:48:41 +09:00
smoogipoo
44981431c5 Remove suffix hackery 2020-04-14 21:33:32 +09:00
Dean Herbert
081a02f748
Merge branch 'master' into catch-hyperdash-fruit-colouring 2020-04-14 10:01:15 +09:00
smoogipoo
cee4b005e6 Fix custom sample set 0 not falling back to default samples 2020-04-13 20:00:06 +09:00
Dean Herbert
cb6372acac
Merge branch 'master' into mania-stage-background-skinning 2020-04-09 15:37:48 +09:00
Dean Herbert
9bdc881b3c
Merge pull request #8677 from smoogipoo/fix-minwidth-override
Fix hidden notes due to 0 minimum width
2020-04-08 23:32:25 +09:00
Dean Herbert
4b16b2e720 Bump legacy skin version 2020-04-08 19:42:31 +09:00
smoogipoo
7d787dde89 Move comparison to decoder 2020-04-08 18:17:45 +09:00
smoogipoo
2ddea018cf Fix hidden notes due to 0 minimum width 2020-04-08 17:15:59 +09:00
smoogipoo
83db6cebb6 Implement bottom stage image 2020-04-08 16:20:54 +09:00
smoogipoo
cd15b672eb Implement left and right stage images 2020-04-08 16:20:47 +09:00
Bartłomiej Dach
f5f0b94944 Fix incorrect fallback logic
The recently-modified skin texture fallback logic was very subtly
incorrect. If at the end of the first loop no texture was found, it
would be checked for null to avoid setting scale adjust on a null
texture, but then returned anyway, bypassing the fallback logic for
subsequent possible paths entirely.

Invert the check and explicitly continue to the next fallback path
if neither a 2x, nor 1x texture with the given name is found in the
store.
2020-04-07 22:50:25 +02:00
Dan Balasescu
35d66c3c1d
Fix missing comma 2020-04-07 23:37:30 +09:00
Dean Herbert
2062087155
Merge branch 'master' into more-mania-colours 2020-04-07 23:36:42 +09:00
Dean Herbert
9ff4458fd6
Merge branch 'master' into mania-skin-note-images 2020-04-07 22:41:22 +09:00
Dean Herbert
780784217d
Merge pull request #8652 from smoogipoo/mania-multiple-columnwidth
Make note height scale by minimum column width
2020-04-07 22:38:12 +09:00
Dean Herbert
f0443bca3c
Merge pull request #8643 from smoogipoo/fix-legacy-version
Make version-less skins fallback to version 1.0
2020-04-07 21:28:06 +09:00
smoogipoo
2568f3f588 Fix off-by-one indexing 2020-04-07 17:11:32 +09:00
smoogipoo
11d58fb7f6 Implement column background and light colours 2020-04-07 16:53:55 +09:00
smoogipoo
9fd73492ca Implement judgement line colour 2020-04-07 16:53:55 +09:00
smoogipoo
3ecb99462f Make note height scale by minimum column width 2020-04-07 16:07:18 +09:00
Dan Balasescu
6dbe8cd575
Merge branch 'master' into animate-judgements 2020-04-07 11:29:07 +09:00
smoogipoo
a4208f35c4 Make versionless skins fallback to version 1.0 2020-04-06 19:36:17 +09:00
smoogipoo
db6db861c0 Implement mania note + key image configs 2020-04-06 19:04:02 +09:00
smoogipoo
eff17c2da5 Allow legacy skin textures from subpaths 2020-04-06 19:03:15 +09:00
smoogipoo
0182448262 Fix performance when parsing mania skins 2020-04-06 18:35:39 +09:00
Dean Herbert
33c64428a8 Fix playback position being set incorrectly for IAnimationTimeReference 2020-04-06 13:04:32 +09:00
Salman Ahmed
1b76a53d32 Move CatchTheBeat section handling to LegacySkinDecoder
Best place to reside at
2020-04-05 22:10:35 +03:00
Endrik Tombak
6700ef910f use startAtCurrentTime 2020-04-04 11:35:15 +03:00
Dean Herbert
51db361c32 Update usages of Animation and Video in line with framework changes 2020-04-03 16:00:06 +09:00
smoogipoo
24a7b5f0d6 Fix missing comma 2020-04-02 23:59:53 +09:00
Dean Herbert
f919a2f267
Merge branch 'master' into mania-hitexplosion-skinning 2020-04-02 23:57:03 +09:00
smoogipoo
2a6c0de225 Add frameLength parameter to GetAnimation 2020-04-02 22:56:30 +09:00
smoogipoo
62f1bc276d Add skinning support for column line colour 2020-04-02 18:10:17 +09:00
smoogipoo
a77933f5e0 Add support for parsing mania skin colours 2020-04-02 17:56:12 +09:00
smoogipoo
fa3a449c3b Implement legacy normal hit explosions 2020-04-02 14:37:29 +09:00
smoogipoo
b375a02cff Cleanup positioning factor definition 2020-04-02 14:37:29 +09:00
smoogipoo
beb1f037e9 Add startAtCurrentTime parameter to GetAnimation() 2020-04-02 14:33:15 +09:00
Dean Herbert
a76428f965 Move lookup to own function 2020-04-01 23:46:50 +09:00
Dean Herbert
c2c7ff7334 Add temporary logic to LegacySkin 2020-04-01 23:32:48 +09:00
smoogipoo
ff2c5b446e Fix column lights positioned incorrectly 2020-04-01 16:06:09 +09:00
smoogipoo
2d6d1a8cc6 Implement column width and column spacing 2020-04-01 13:38:03 +09:00
杜Nate
9d9780707d
Merge branch 'master' into mania-skinning-refactor 2020-04-01 10:27:40 +08:00
Dean Herbert
3454983d7a
Merge branch 'master' into mania-hold-note-skinning 2020-04-01 00:04:49 +09:00
Dean Herbert
1e88d3c17a Merge conflict "resolution" 2020-03-31 23:36:06 +09:00
mcendu
c0f8c1dc28
rename variable used for mania lookup key storage 2020-03-31 17:22:46 +08:00
smoogipoo
1952fcc0ce Implement mania hold note skinning 2020-03-31 16:42:35 +09:00
smoogipoo
c4f76ffdaf Implement mania note skinning 2020-03-31 15:29:25 +09:00
smoogipoo
b926d570ee Allow skinnabledrawable to be auto-sized 2020-03-31 15:28:50 +09:00
smoogipoo
211a8db4c5 Merge branch 'mania-key-area-skinning' into mania-note-skinning 2020-03-31 15:23:59 +09:00
smoogipoo
538dc0c558 Merge branch 'mania-hitobject-area-skinning' into mania-note-skinning 2020-03-31 15:20:56 +09:00
smoogipoo
71387016b2 Add missing judgement line 2020-03-31 12:26:31 +09:00
smoogipoo
02237133cb Implement mania hit target skinning 2020-03-31 12:17:44 +09:00
smoogipoo
cb1513b374 Add mania key area skinning 2020-03-31 11:23:33 +09:00
smoogipoo
44727eb2b8 Implement column background skinning 2020-03-31 10:57:56 +09:00
smoogipoo
2b5e9885f6 Implement mania skin reading functionality 2020-03-31 10:55:58 +09:00
smoogipoo
a8f7d7ea42 Add structure for mania configuration lookups 2020-03-30 23:21:40 +09:00
smoogipoo
881ec146af Ignore duplicate configs 2020-03-30 17:36:57 +09:00
smoogipoo
4719aac235 Add basic mania skin parsing 2020-03-30 17:18:09 +09:00
Dean Herbert
d8041a0dcb Increase sample concurrency to better match stable 2020-03-22 02:16:28 +09:00
Kelvin
c8ea922577
Update osu.Game/Skinning/LegacySkinExtensions.cs
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2020-03-12 04:18:57 -07:00
Kelvin
317bb5d0a4 Fallback on invalid AnimationFramerate for legacy skins 2020-03-12 03:55:45 -07:00
smoogipoo
ee13632375 Fix ogg beatmap/skin samples not loading 2020-02-18 13:21:55 +09:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
Dean Herbert
9181bb41c6 Remove unused using 2020-02-07 15:11:09 +09:00
Dean Herbert
544685be48 Add support for reading skin frame rate from configuration file 2020-02-07 14:58:29 +09:00
Dean Herbert
7460018cd3 Move combo colours to GlobalSkinColours 2020-02-07 14:58:07 +09:00
smoogipoo
09cd66adb0 Fix storyboard samples not loading from subfolders 2020-01-02 14:07:22 +09:00
Dean Herbert
783159f7a0 Remove redundant logic 2019-12-25 14:55:22 +09:00
Dean Herbert
145ac8e0b5 Remove redundant setter 2019-12-25 14:55:05 +09:00
Salman Ahmed
ff5e6c0dcf Make DefaultComboColours a property 2019-12-21 12:36:34 +03:00
Salman Ahmed
55be4478aa Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-21 12:36:09 +03:00
Dean Herbert
4443d2196b
Merge branch 'master' into legacy-slider-body 2019-12-17 23:42:31 +09:00
smoogipoo
527ab1a72f Fix traceable mod not working on skin change 2019-12-17 19:49:13 +09:00
Huo Yaoyuan
caf3f774ba CA1309: compare strings correctly. 2019-12-17 13:00:15 +08:00
Dean Herbert
272d7d0ca9
Merge branch 'master' into fallback-to-skin-combo-colours 2019-12-17 12:36:20 +09:00
Dean Herbert
befb78f83b Simplify LegacySkinResourceStore by deriving from ResourceStore 2019-12-16 14:01:08 +09:00
Dean Herbert
9062fe1935 Fix crashes on custom skins due to extension-less file lookups 2019-12-16 13:32:53 +09:00
Salman Ahmed
bf8caee53f Inherit SkinConfiguration directly 2019-12-12 14:05:24 +03:00
Salman Ahmed
a9125f6544 Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-12 12:37:51 +03:00
Huo Yaoyuan
04b3297a05 Constrain configuration lookup as enum. 2019-12-09 17:45:26 +08:00
Dean Herbert
21ceb7f85d Always display skins at native sizes for now 2019-12-06 14:40:45 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
iiSaLMaN
b58afa3eb6 Remove unnecessary mentioning in xmldoc 2019-11-24 04:36:34 +03:00
iiSaLMaN
20a8a653c2 Change LegacySkin.Configuration accessibility 2019-11-24 04:10:04 +03:00
iiSaLMaN
5bf6e57eb0 Remove unnecessary usage 2019-11-24 02:16:43 +03:00
iiSaLMaN
0f9978b34a Use AddRange instead 2019-11-24 02:08:36 +03:00
iiSaLMaN
1e24ee7956 Remove ClearComboColours() 2019-11-24 02:07:56 +03:00
Dean Herbert
bcb1504110 Fix naming 2019-11-20 15:40:35 +09:00
iiSaLMaN
08b8cedfdf Add setter to legacy skin configuration access 2019-11-20 01:15:40 +03:00
iiSaLMaN
0407d2248c Merge remote-tracking branch 'refs/remotes/upstream/master' into add-access-to-skin-legacy-version 2019-11-20 01:10:32 +03:00
Huo Yaoyuan
dcfa98414f Use ??=. 2019-11-12 19:56:51 +08:00
Huo Yaoyuan
0d81b96c5f Use deconstruction declaration. 2019-11-12 19:55:22 +08:00
Huo Yaoyuan
bbeab6fa76 Use auto property. 2019-11-12 19:53:25 +08:00
Dean Herbert
758c304d92
Merge branch 'master' into fallback-to-skin-combo-colours 2019-11-12 19:00:05 +09:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
iiSaLMaN
9874ce49ce Move fallback allowance to the skin configuration only. 2019-11-07 15:55:34 +03:00
iiSaLMaN
808543885f Change ComboColours type to IReadOnlyList<Color4>
Also exposes functions to modify the internal list (AddComboColours, ClearComboColours)
2019-11-07 15:54:30 +03:00
iiSaLMaN
61778232d8 Rewrite inline comment 2019-11-06 23:24:54 +03:00
iiSaLMaN
cef6e2a26b Move colours fallback logic to SkinConfiguration.ComboColours getter 2019-11-06 23:20:36 +03:00
iiSaLMaN
198a1750c3 Use is pattern matching 2019-11-06 20:46:02 +03:00
iiSaLMaN
69d9a0ae1a Use null check and pattern matching 2019-11-06 20:30:26 +03:00
iiSaLMaN
ba14345107 Specify culture and number style 2019-11-06 20:27:55 +03:00
iiSaLMaN
947602f70a Specify why legacy version is nullable 2019-11-06 20:24:19 +03:00
iiSaLMaN
502dcc5669 Fix incorrect skin version case 2019-11-06 20:23:22 +03:00
iiSaLMaN
55230a36dd Set correct legacy version 2019-11-06 19:58:07 +03:00
iiSaLMaN
2cf17e0bf3 Use decimal data type instead 2019-10-09 23:33:25 +03:00
iiSaLMaN
01ac19fdbb Set legacy version of osu!classic skin to 2.0 2019-10-09 23:06:32 +03:00
iiSaLMaN
7f6541672c Parse legacy version of decoded skin to numerical 2019-10-09 23:05:50 +03:00
iiSaLMaN
003af19e3f Introduce legacy skin configuration 2019-10-09 23:04:34 +03:00
iiSaLMaN
5e3f0f6c95 Return default combo colours if none provided 2019-10-09 21:08:07 +03:00
iiSaLMaN
281671a213 Remove default combo colours usage from skins 2019-10-09 21:04:26 +03:00
Dean Herbert
24269c0384 Fix skins not being displayed correctly in the editor 2019-10-08 12:52:34 +09:00
Dan Balasescu
dc984d0d81
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-04 13:51:56 +09:00
Dean Herbert
925615320e Update lazer default combo colours to match stable 2019-10-04 10:46:48 +08:00
Dean Herbert
6268bbcfc8
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-10-03 15:12:21 +08:00
smoogipoo
706e884cc0 Update accent colour on combo index change 2019-09-26 17:13:13 +09:00
Dean Herbert
a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2 2019-09-20 15:28:08 +09:00
Dean Herbert
3fa1b53b2a Add back combo colours for osu!classic 2019-09-19 12:39:15 +09:00
Bartłomiej Dach
11eda44d34 Migrate decoding to line-buffered reader
Migrate all usages of StreamReader in the context of decoding beatmaps,
storyboards or skins to the new LineBufferedReader.
2019-09-15 01:28:07 +02:00