Merge pull request #19467 from frenzibyte/taiko-samples-priority

Allow osu!taiko hitsounds to fall back to classic skin rather than use non-taiko samples
This commit is contained in:
Dean Herbert
2022-08-01 17:10:50 +09:00
committed by GitHub
2 changed files with 2 additions and 12 deletions

View File

@ -1,8 +1,6 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
using System.Reflection; using System.Reflection;
using NUnit.Framework; using NUnit.Framework;
using osu.Framework.IO.Stores; using osu.Framework.IO.Stores;
@ -17,7 +15,6 @@ namespace osu.Game.Rulesets.Taiko.Tests
protected override IResourceStore<byte[]> RulesetResources => new DllResourceStore(Assembly.GetAssembly(typeof(TestSceneTaikoHitObjectSamples))); protected override IResourceStore<byte[]> RulesetResources => new DllResourceStore(Assembly.GetAssembly(typeof(TestSceneTaikoHitObjectSamples)));
[TestCase("taiko-normal-hitnormal")] [TestCase("taiko-normal-hitnormal")]
[TestCase("normal-hitnormal")]
[TestCase("hitnormal")] [TestCase("hitnormal")]
public void TestDefaultCustomSampleFromBeatmap(string expectedSample) public void TestDefaultCustomSampleFromBeatmap(string expectedSample)
{ {
@ -29,7 +26,6 @@ namespace osu.Game.Rulesets.Taiko.Tests
} }
[TestCase("taiko-normal-hitnormal")] [TestCase("taiko-normal-hitnormal")]
[TestCase("normal-hitnormal")]
[TestCase("hitnormal")] [TestCase("hitnormal")]
public void TestDefaultCustomSampleFromUserSkinFallback(string expectedSample) public void TestDefaultCustomSampleFromUserSkinFallback(string expectedSample)
{ {
@ -41,7 +37,6 @@ namespace osu.Game.Rulesets.Taiko.Tests
} }
[TestCase("taiko-normal-hitnormal2")] [TestCase("taiko-normal-hitnormal2")]
[TestCase("normal-hitnormal2")]
public void TestUserSkinLookupIgnoresSampleBank(string unwantedSample) public void TestUserSkinLookupIgnoresSampleBank(string unwantedSample)
{ {
SetupSkins(string.Empty, unwantedSample); SetupSkins(string.Empty, unwantedSample);

View File

@ -1,8 +1,6 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using osu.Framework.Audio.Sample; using osu.Framework.Audio.Sample;
@ -24,7 +22,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
hasExplosion = new Lazy<bool>(() => GetTexture(getHitName(TaikoSkinComponents.TaikoExplosionGreat)) != null); hasExplosion = new Lazy<bool>(() => GetTexture(getHitName(TaikoSkinComponents.TaikoExplosionGreat)) != null);
} }
public override Drawable GetDrawableComponent(ISkinComponent component) public override Drawable? GetDrawableComponent(ISkinComponent component)
{ {
if (component is GameplaySkinComponent<HitResult>) if (component is GameplaySkinComponent<HitResult>)
{ {
@ -151,7 +149,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
throw new ArgumentOutOfRangeException(nameof(component), $"Invalid component type: {component}"); throw new ArgumentOutOfRangeException(nameof(component), $"Invalid component type: {component}");
} }
public override ISample GetSample(ISampleInfo sampleInfo) public override ISample? GetSample(ISampleInfo sampleInfo)
{ {
if (sampleInfo is HitSampleInfo hitSampleInfo) if (sampleInfo is HitSampleInfo hitSampleInfo)
return base.GetSample(new LegacyTaikoSampleInfo(hitSampleInfo)); return base.GetSample(new LegacyTaikoSampleInfo(hitSampleInfo));
@ -173,9 +171,6 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
{ {
foreach (string name in base.LookupNames) foreach (string name in base.LookupNames)
yield return name.Insert(name.LastIndexOf('/') + 1, "taiko-"); yield return name.Insert(name.LastIndexOf('/') + 1, "taiko-");
foreach (string name in base.LookupNames)
yield return name;
} }
} }
} }