forked from AmazingAmpharos/OoT-Randomizer
-
Notifications
You must be signed in to change notification settings - Fork 232
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
Cosmetic Plando: Music Groups, Favorites, Excludes #1760
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fca29c9
to
7ddca41
Compare
I love this! Thanks Cuphat! |
Adds `bgm_groups` to cosmetic logs containing the following: `favorites`: A list of sequence names that will be prioritized and will always be included unless there are more favorite sequences than tracks to shuffle them to. `exclude`: A list of sequences that will be excluded. When randomizing music during patch file generation, these could still be included unless the number of target tracks is reduced somehow (such as assigning one sequence to multiple tracks or disabling tracks). `groups`: A dictionary containing a name and a list of sequences. Inside of `bgm`, you can now substitute the name of a group (preceeded by a `#`, i.e. `#group_name`) and a random sequence from the list will be chosen. Once a sequence is chosen, it is removed from the list and won't be chosen again. If all sequences on the list are exhausted, the list will be refilled and the process continues. Also allows direct list assignments in music plando.
With the removal of `shuffle_pointers_table`, old versions of rando need two small hacks to allow the current method of randomizing music to work.
eb9efc1
to
45ba99e
Compare
Adds `rebuild_pointers_table` which is a cut-down version of the old `shuffle_pointers_table` that does the same ROM patching but on an already shuffled set of sequences instead of duplicating the actual shuffling part.
4439273
to
bef41e3
Compare
cjohnson57
approved these changes
Nov 16, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Component: Cosmetics
Affects the patching of cosmetics
Status: Needs Testing
Probably should be tested
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds
bgm_groups
to cosmetic logs containing the following:favorites
: A list of sequence names that will be prioritized and will always be included unless there are more favorite sequences than tracks to shuffle them to.exclude
: A list of sequences that will be excluded. When randomizing music during patch file generation, these could still be included unless the number of target tracks is reduced somehow (such as assigning one sequence to multiple tracks or disabling tracks).groups
: A dictionary containing a name and a list of sequences. Inside ofbgm
, you can now substitute the name of a group (preceeded by a#
, i.e.#group_name
) and a random sequence from the list will be chosen. Once a sequence is chosen, it is removed from the list and won't be chosen again. If all sequences on the list are exhausted, the list will be refilled and the process continues.Groups are can also be created by the .meta files for custom sequences. These will be parsed from line 4 of the .meta file. Use a comma to separate multiple groups.
This is a draft with minimal testing, but I hope anyone interested will give it a whirl and let me know if it breaks.