Dean Herbert
485728ca4e
Merge pull request #12866 from peppy/refactor-selection-scale-logic
...
Add proper scaling support to skin editor
2021-05-22 20:07:03 +09:00
Dean Herbert
bb2fae55ce
Merge branch 'master' into refactor-selection-rotate-logic
2021-05-21 19:19:54 +09:00
Dean Herbert
0d575f5728
Remove incorrect (and unintended) modulus logic
2021-05-21 15:06:53 +09:00
Dean Herbert
f9d51656b6
Fix scaling of rotated items not behaving in an understandable way
2021-05-21 15:02:36 +09:00
Dan Balasescu
7845d07dd5
Merge pull request #12886 from peppy/fix-skin-editor-context-menu-sticking
...
Fix skin editor context menus not dismissing when clicking away
2021-05-20 21:03:35 +09:00
Dean Herbert
1848bd902d
Fix skin editor context menus not dismissing when clicking away
2021-05-20 19:51:07 +09:00
Dean Herbert
df5970fab4
Create base implementations of the two most common TernaryStateMenuItem
s
2021-05-20 19:34:53 +09:00
Dean Herbert
20f1ef4318
Extract common implementation of updating drawable position from screen space pos
2021-05-20 18:35:13 +09:00
Dean Herbert
6f75c59760
Fix flip logic not using the full selection quad
2021-05-20 18:31:51 +09:00
Dean Herbert
95c78b9185
Split out common selection quad logic
2021-05-20 18:24:25 +09:00
Dean Herbert
27e81d6504
Implement proper rotation algorithm for skin editor
2021-05-20 18:21:16 +09:00
Salman Ahmed
43094425e2
Merge branch 'legacy-beatmap-skin-hud-fallback' into catch-hide-combo-workaround
2021-05-19 23:18:27 +03:00
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 ArgumentException
s
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 Drawable
s
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 LegacySpriteText
s
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