Commit Graph

1079 Commits

Author SHA1 Message Date
smoogipoo
1e9211c00b Use explicit type 2021-11-02 15:41:25 +09:00
Dean Herbert
5d784b2ef8 Perform a consistency check by decoding the newly written skin.ini during ComputeHash
As this has regressed twice now, let's play it safe and bail rather than
stack overflowing. Note that as all the underlying issues that could
trigger this have been fixed, no additional tests have been added. To
test, comment out `SkinManager.cs` line 228-229 to cause a failure. The
new logic will kick in and show a log output message, but all tests will
still (correctly) pass.
2021-11-02 14:11:25 +09:00
Dean Herbert
2e66ab453d Always write automated changes to skin metadata at the end of the file
Apart from being cleaner (and allowing removal at the point of export,
if that is ever requires), this also gives us a better guarantee that
the metadata is going to take effect.

By writing the `[General]` section ourselves, we avoid any issues that
may be present from a user constructing the file (incorrectly)
themselves, such as multiple `Title:` entries or a malformed `[General]`
marker.

The main goal is to ensure that the name is updated to what we expect it
to be.
2021-11-02 14:11:25 +09:00
Dean Herbert
6b250955d7 Add missing verbatim string markers 2021-11-01 14:24:38 +09:00
Dean Herbert
5bfb16efe2 Ignore case when searching for existing skin.ini 2021-11-01 14:24:38 +09:00
Dean Herbert
add39fbd4f Merge branch 'master' into fix-skin-layout-editor-crash 2021-10-28 06:24:24 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
26cf5370c3 Remove unused reader parameter 2021-10-24 23:48:46 +09:00
Dean Herbert
5303cae044 Add mention of stream close logic 2021-10-24 23:43:37 +09:00
Bartłomiej Dach
051cc2cd92
Update reference to configuration population process in comment 2021-10-24 12:47:17 +02:00
Dean Herbert
93482414d6 Remove SkinConfiguration subclasses and allow configuration parsing for all skin types 2021-10-22 14:42:23 +09:00
Dean Herbert
82d0a6515f Fix incorrect conditional for checking whether import (would fail for default skin) 2021-10-22 14:08:12 +09:00
Dean Herbert
9cdc1ba592 Fix default legacy skin not being able to read from stored skin.ini 2021-10-22 13:43:45 +09:00
Dean Herbert
e5b73f25cd Ensure newly created skin.ini files are set to latest version 2021-10-22 12:56:05 +09:00
Dean Herbert
a5088cac27 Fix default metadata propagation when no files are present 2021-10-21 13:43:42 +09:00
Dean Herbert
59b7210efa Revert disallowing imports with no files
While it is logical that we want this, from a testing perspective this is a bit of a nightmare to fix. Let's revisit at a later point in time.
2021-10-21 13:43:42 +09:00
Dean Herbert
68c01fc204 Fix infinite loop on default skin (it can't have a skin.ini) 2021-10-20 17:56:45 +09:00
Dean Herbert
9e6e41d7c0 Add migration to reset and repopulate existing skin hashes 2021-10-20 17:56:45 +09:00
Dean Herbert
602303e947 Add test coverage for skin.ini contents 2021-10-20 17:56:45 +09:00
Dean Herbert
a95c754fd3 Fix multiple issues and make metadata fallback process more logical 2021-10-20 17:56:45 +09:00
Dean Herbert
fa542f2547 Include json files in skin hashing
This covers the new layout storage we are doing.
2021-10-20 17:45:06 +09:00
Dean Herbert
789c715f13 Add skin.ini write support to allow for more correct hashing 2021-10-20 17:45:06 +09:00
Dean Herbert
d7cbacc5a0 Rename OnSourceChanged and expand on xmldoc to mention that it doesn't fire SourceChanged 2021-10-12 13:04:48 +09:00
Dean Herbert
a849e7343e Add lock to ensure no threading shenanigans 2021-10-12 13:04:24 +09:00
Dean Herbert
077dcf5cd9 Add missing documentation for SourceChanged 2021-10-12 12:50:28 +09:00
Dean Herbert
39a3482458 Replace Add/Reset methods with single Set method 2021-10-12 11:55:07 +09:00
Dean Herbert
df83f0db08 Fix cross-thread list manipulation in SkinProvidingContainer 2021-10-12 11:28:11 +09:00
Dean Herbert
43aacb3831 Fix two different skins displaying at the same time when rapidly switching 2021-10-11 16:11:15 +09:00
Dean Herbert
06cce0119c Use localisable format string for comma separator mode 2021-10-10 17:41:16 +09:00
Dean Herbert
81a13566bc Adjust default location slightly, fix alignment of "pp" subtext 2021-10-05 15:28:03 +09:00
smoogipoo
221cc1747c Drop "default" prefix 2021-10-04 20:34:28 +09:00
smoogipoo
031c5a441e Merge branch 'master' into realtime-pp-display 2021-10-04 20:19:37 +09:00
smoogipoo
4871db2f86 Merge branch 'master' into importer-returns-live 2021-10-04 19:42:36 +09:00
Dean Herbert
916342c837 Merge branch 'master' into importer-returns-live 2021-10-04 16:24:26 +09:00
smoogipoo
69c2b7dc59 Merge branch 'master' into rename-beatmap-info-beatmap-fields 2021-10-04 16:03:22 +09:00
Dean Herbert
ec61c3c5ee Rename all remaining cases 2021-10-03 00:55:29 +09:00
smoogipoo
adff418fd2 Guard against exception in skin deserialisation 2021-10-01 22:17:38 +09:00
Dean Herbert
a2e61883e3 Initial push to use ILive in import process 2021-09-30 22:55:25 +09:00
smoogipoo
fab0d531be Add counter to HUD 2021-09-30 17:55:00 +09:00
Dean Herbert
4fd19cbb0d Use null check instead of assert in Hide() due to public exposure 2021-09-29 18:58:43 +09:00
Dean Herbert
c5b7e97bd9 Fix skin editor potentially crashing during close process
As reported at
https://github.com/ppy/osu/discussions/14850#discussioncomment-1399382.
2021-09-29 18:53:49 +09:00
Dean Herbert
1b13b74740 Fix skin editor potentially leaving game-wide masking in the wrong state
Just going with the simplest way to solve this.

Closes https://github.com/ppy/osu/issues/14769.
2021-09-17 13:48:20 +09:00
smoogipoo
4b5857c876 Merge branch 'baseline-changes-update' into update-framework 2021-09-16 18:34:22 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
6f2d818b64
Merge pull request #14740 from smoogipoo/mania-note-animations
Add animation support for mania notes
2021-09-16 16:34:53 +09:00
Dean Herbert
15e3f95c87 Remove remnants of DatabasedSetting from SkinInfo
This was never used
2021-09-15 17:12:04 +09:00
Salman Ahmed
8217b90b1c Consider legacy glyph texture heights as the baselines for simplicity
Mixing `LegacySpriteText` with legitment fonts should never be the case,
so it's fine to consuder the height as the baseline, since there's
really no other way around it.
2021-09-15 09:14:47 +03:00
smoogipoo
63aa3ddcba Add animation support for mania notes 2021-09-14 17:45:23 +09:00
Dean Herbert
568a8ee97e
Merge branch 'master' into fix-hud-test-failure-2 2021-08-24 16:54:48 +09:00
Dean Herbert
3f0f820653 Add comment explaining reasoning for override 2021-08-24 16:54:19 +09:00