Implementing hitsound custom samplesets in Lazer #29280
Replies: 1 comment 5 replies
-
samples, banks, and behavior of custom sample indexes are as much a skinning feature as a mapping one, and I think that consideration is kind of missing from your open PRs regarding forcing sampleIndex=1 (#29311) and saving custom bank names (#29566). in stable (and lazer gameplay afaik):
I agree with what you've implied about the first case being unnecessary. if the mapper wants to strictly use the skin's samples, then they can pick I don't agree with your further changes as-is that rely on custom bank names though. currently a my suggestions for how to implement this feature instead: (crossed out 2 and 3 because olibomby's suggestion is overall better imo)
|
Beta Was this translation helpful? Give feedback.
-
Currently in Lazer, new timing points get created with the legacy attribute
sampleIndex
set to 0. This causes custom hitsounds to not persist to the map. (See #29028)sampleIndex
is the .osu file representation of the Custom Sampleset menu in Stable:The existing legacy decoder/encoder does support this attribute when importing beatmaps made in Stable, and creates those timing points with the legacy attribute set via the
Suffix
member ofHitSampleInfo
. This allows legacy maps' custom hitsounds to function properly.For implementing this attribute in Lazer, I see three options:
SamplePointPiece
sampleIndex
of 1, and don't bother with values above thatPersonally, I like the third option. From what I know the primary use case of the custom samplesets in Stable was to get more than 12 custom hitsounds into a map. With Lazer's implementation of custom sample bank names, that's no longer an issue, and I don't know how many mappers would miss the functionality outside of that use case.
Beta Was this translation helpful? Give feedback.
All reactions