Skip to content

Fix taiko drum sampleset for legacy skins#433

Open
zbiotr0 wants to merge 1 commit into
ppy:masterfrom
zbiotr0:master
Open

Fix taiko drum sampleset for legacy skins#433
zbiotr0 wants to merge 1 commit into
ppy:masterfrom
zbiotr0:master

Conversation

@zbiotr0

@zbiotr0 zbiotr0 commented Jun 19, 2026

Copy link
Copy Markdown

Red notes were using the finisher sample instead of the normal one. Fixed this by swapping both of their names.

Red notes were using the finisher sample instead of the normal one. Fixed this by swapping both of their names.
@zbiotr0 zbiotr0 changed the title Fix taiko drum sampleset Fix taiko drum sampleset for legacy skins Jun 19, 2026
@bdach

bdach commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Please explain how you arrived at the conclusion that this is the correct thing to do.

@zbiotr0

zbiotr0 commented Jun 19, 2026

Copy link
Copy Markdown
Author

To match how it sounds in stable, as I playtested a map that makes use of the drum sampleset both on stable and lazer, the latter sounding different due to what I previously explained. Also, the other samplesets (soft and normal) sound as intended and are named correctly, except for this one in particular.

@bdach

bdach commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Please provide the full reproduction scenario that you are using to test this perceived discrepancy, including all details like which beatmap is being used and whether any user skins are active.

Videos would be appreciated.

@zbiotr0

zbiotr0 commented Jun 19, 2026

Copy link
Copy Markdown
Author

The first example is from stable, how it normally sounds; the second is from lazer, where the red notes sound different; and the third is from a dev build with my changes applied, and how it should actually sound in lazer.

taiko.drum.mp4

Beatmap reference: https://osu.ppy.sh/beatmapsets/2572056
The skin is just the classic one, but this also affects other legacy skins that don't have custom hitsounds for the drum sampleset.

@bdach

bdach commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Looking at stable source, it actually does appear to be the case that for whatever reason, only in taiko, only the taiko-drum-hitfinish and taiko-drum-hitnormal samples are swapped relative to other rulesets and only on the default skin to boot:

            //Check for sample available in the beatmap's folder
            if ((source & SkinSource.Beatmap) > 0 && !IgnoreBeatmapSamples && (universal || (!universal && CurrentCustomSampleSet != CustomSampleSet.Default)) && BeatmapManager.Current != null)
            {
                // ...
            }

            //Check for sample available in skin's folder.
            if ((source & SkinSource.Skin) > 0 && !SkinManager.IsDefault && ConfigManager.sSkinSamples)
            {
                // ...
            }

            if (sample != -1) return sample;

            if ((source & SkinSource.Osu) == 0) return -1;

            // for whatever reason, there's no taiko overrides for drum samples.
            // use the normal ones instead of playing sweet nothing.
            if (defaultFile.StartsWith("taiko-drum"))
            {
                switch (defaultFile)
                {
                    case "taiko-drum-hitnormal":
                        defaultFile = "drum-hitfinish"; // <-- NOT hitnormal!
                        break;
                    case "taiko-drum-hitclap":
                        defaultFile = "drum-hitclap";
                        break;
                    case "taiko-drum-hitfinish":
                        defaultFile = "drum-hitnormal"; // <-- NOT hitfinish!
                        break;
                    case "taiko-drum-hitwhistle":
                        defaultFile = "drum-hitwhistle";
                        break;
                }
            }

To that end, this PR does represent a solution to the issue, with the caveat that it is not signposted very well, as in it is not very transparent for someone looking at resources without context to divine why hitnormal and hitfinish are swapped like this only in taiko.

That said, I do not think this can be easily resolved game-side either; there are no easy paths to redirect this mapping only for default legacy skin, only for two selected drum samples, only in taiko.

So I'm somewhat inclined to just accept this. @peppy please advise whether you agree with this assessment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants