Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements for cassette music maps #402

Merged
merged 1 commit into from
Dec 20, 2021

Conversation

Vexatos
Copy link
Contributor

@Vexatos Vexatos commented Dec 3, 2021

This adjusts two things in CassetteBlockManager:

  • BeatIndexOffset can now be set in map metadata instead of being forced to 5 for levels where the cassette track is the main music event (it's set to 5 in Awake)
  • the beatIndex adjustment is no longer hardcoded to 8 but will adjust to always use the second-to-last cassette colour if the beat is within the second half of a swap and the last colour if it's within the first half.

BeatIndexOffset should probably default to 0 for all non-vanilla levels. I believe this is what it should be, since it starting at 5 for levels with the cassette track as the main track is somewhat arbitrary (I believe only Farewell uses that in Vanilla). I wonder whether changing this default will break something; Is the offset of 5 beats compensated for within the FMOD project? Cassette swap cycles are usually eight beats, so that doesn't align with 5 at all.

@Vexatos Vexatos force-pushed the cassette-block-fixes branch from c82a415 to 24adfde Compare December 3, 2021 19:21
@0x0ade
Copy link
Member

0x0ade commented Dec 13, 2021

It would be great if the Everest-side default value preserves old behavior as not to risk messing with existing maps. Map editors can use a different default value for newly created maps though.

@Vexatos
Copy link
Contributor Author

Vexatos commented Dec 13, 2021

Right now, the default value is being used unless the map has CassetteModifier set in its .meta.yaml. Is that enough? If the CassetteModifier group is present, checking whether or not to use default might be difficult since it has to happen in each room while the metadata is parsed on map load. Do you have any suggestion for doing that?

@0x0ade
Copy link
Member

0x0ade commented Dec 20, 2021

Right now, the default value is being used unless the map has CassetteModifier set in its .meta.yaml. Is that enough?

This behavior sounds good enough to me, I simply forgot about how it behaves in the absence of the cassette modifier group 😅

@0x0ade 0x0ade merged commit a5c21f3 into EverestAPI:dev Dec 20, 2021
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