Skip to content

Conversation

@idlechild
Copy link
Collaborator

It's an optimization we don't need quite yet, but I'd like to get ahead of it.

mm2 wanted a spazer variant of the mapo presets, and I didn't really want a full copy of those presets (even though we did have room for them). With this optimization, instead of using about a half of bank more preset data, we freed up about two banks of preset data.

The original preset data format is still supported. Whenever you make changes to preset data, you must run the build_presets script to create the combined files. The script is separate because it does take a bit to run; about seven seconds for my computer. I think making a fully optimal combined data set would be an NP complete problem, so the script does take some shortcuts and best guesses. Preset logic was also adjusted to support presets spanning more than two banks, which happens because the combined data is interleaved.

Performance-wise on the SNES it's probably negligible; if anything it might be faster since the combined data can cut out jumps. Previously the last preset was built on top of each and every preset above it, but the combined logic allows for some skips.

There are some other changes in the PR, like a possible fix for the audio popping issue. I'll post more about that in discord.

@idlechild idlechild merged commit 3c45480 into tewtal:master Jul 24, 2025
1 check passed
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.

1 participant