Skip to content

MM-Randomizer v1.15.0.21

Compare
Choose a tag to compare
@ZoeyZolotova ZoeyZolotova released this 04 Jul 15:48
· 724 commits to dev since this release

The windows application requires .NET Desktop Runtime 5.0.7

New Features

  • Added Boss Remains to the randomized item pool (Boss Remains / Boss Fights).
    The item floating in the boss warp is now the boss remains again, instead of the Oath to Order. The Oath to Order check is now granted right before the warp transition.
  • Added Ocarina of Time and Song of Time to the randomized item pool (Time Travel / Boss Fights).
    Vanilla Layout mode always starts with both of them.
    Theoretically, the logic should ensure that they're both obtainable in one cycle.
    When either Ocarina of Time or Song of Time aren't present in the Extra Starting Items list or either of the checks are randomized:
    • The cutscene on the clock tower roof plays and shows the Skull Kid holding the Ocarina. After picking up the item dropped by the Skull Kid, you are also granted the Song of Time check immediately.
    • The clock speed does not get sped up due to lack of Ocarina.
    • Termina Field does not enter "first cycle mode" due to lack of Ocarina. (This makes it possible to use glitches to play Oath to Order on the roof and go to the moon, despite the lack of Ocarina)
  • Add 'Royal Wallet' to the randomized item pool.
    The Royal Wallet has a capacity of 999. Add it by checking the checkbox at the bottom of the Item Pool tab labelled 'Royal Wallet'. A random junk item will be removed in its place as if it's a permanently 'enforced junk' location.
  • New Main Settings tab - Randomize Prices
    The following categories can be selected:
    • Purchases (Bomb Shop Powder Keg, Smithy 1, Goron Village Powder Keg, Trade Scrub Purchases, Telescope Scrub Purchases, Tingle Maps, Milk Bar, Gorman Milk, Bomb Shop, Trading Post Main Guy, Trading Post Part Timer, Witch Shop, Goron Shop (Winter), Goron Shop (Spring), Zora Shop, Curiosity Shop (including stolen items))
    • Minigames (Honey and Darling, Town Archery, Swamp Archery, Boat Archery, Treasure Chest Game, Fisherman Game, Swordsman's School, Postman Game, Deku Playground, Lottery, Gorman Race, Poe Hut (+Healed))
    • Misc (Night Bank Withdraw, Swamp Boat Ride)
      Items purchasable in multiple locations can have different prices, and logic will account for it.
  • If Update Shops is enabled, ordinary shops (Trading Post, Bomb Shop, Goron Shop, Zora Shop, Potion Shop, Curiosity Shop) now check if you are able to carry the item you are trying to purchase. Some purchases are also made instantly and skip Link's animation.
    Instant purchases includes:
    • Known ammo. Buying magic beans, deku nuts, deku sticks, bombchu or powder keg for the first time will still play the animation.
    • Items that require an empty bottle.
    • Magic Jars
    • Recovery Hearts
    • Rupees
  • New Small Key and Boss Key mode - Keep Through Time
    Any used keys will return to Link's inventory after playing Song of Time.
  • Added search bar to Custom Item List, Starting Items, and Junk Location editors. (Thanks thedrummonger)
  • New gimmick - Hookshot Any Surface
    Be careful not to softlock by going places you aren't meant to be, or hookshotting unusual surfaces such as some of the walls in the Majora boss fight.
  • New gimmick - Climb Most Surfaces
    Be careful not to softlock by climbing to places you aren't meant to be, such as the infamous softlock near the Zora Cape owl statue.
  • New gimmick - Free Scarecrow
    Pulling out the Ocarina while in range of a scarecrow will automatically summon it.
  • New gimmick - Auto-invert
    Auto-invert time at the start of a cycle. Choose either First Cycle or Always.
  • New comfort option - Lenient Goron Spikes
    Goron Spikes can charge even when rolling slowly, the charge amount is kept when going off a ledge, and minimum speed for keeping goron spikes is removed.
  • New comfort option - Target Health Bar
  • The crash debug screen will now show on emulators and N64 without needing to enter the button combination.
  • Added new "Boss Remains Mode" options including "Great Fairy Rewards" which forces them to be on their corresponding great fairy fountain, and "Keep Within Dungeon".
  • New Speed Up - Double Archery Rewards
    Grant both archery rewards with a sufficient score.
  • New comfort Option - Fill wallet on upgrade
    Fills wallet with max rupees upon finding a wallet upgrade.
  • New comfort setting 'Hidden Rupees Sparkle'.
    This makes invisible rupees and hit tags emit a sparkle.
  • New Comfort setting 'Garo Hints'
    Garo Hints have the same hint distribution options as for Gossip Stone Hints. The Relevant hints are currently fairly closely matched with the vanilla text, as so they are quite powerful.
    The default Way of the Hero / Foolish distribution for Competitive Garo Hints is 2 Way of the Hero and 2 Foolish. They are also forbidden from hinting a Clock Town region.
    No 'Free Hint' option is available for Garo Hints.
    When any setting other then 'Default' is used, the behavior of the Garos changes very slightly; usually if you have Elegy of Emptiness they all give the same unique hint, but now they will all give the same unique hint if you've defeated Igos du Ikana this cycle.
  • New Hint setting 'Indicate Importance'.
    This makes it so when a hint is given for a specific item or items, the hint also indicates whether the item is required or not required.
    Only available if either Gossip Stone Hints or Garo Hints are using the Competitive setting.
  • New Hint setting 'Mix Gossip and Garo Hints'.
    Only available if both Gossip Stone Hints and Garo Hints are set to Competitive.
    If enabled, all of the hints will be spread among Gossip Stone and Garo Hints, so you could have a hint on a Gossip Stone and a copy of that hint on a Garo. If disabled, copies of hints will only appear on the same type of hint giver.
  • New setting for Gossip Stone Hints and Garo Hints that allow customization of the number of Way of the Hero / Foolish hints, and the maximum number of those hints that can be for Clock Town regions.
  • New Hint setting 'Customize Hint Priorities'.
    This setting allows you to override the default hint priorities with your own lists of locations. If any number of locations are added, hint priorities will be pulled exclusively from the list. Settings are not taken into account, but non-randomized locations and junked locations will not be hinted. The higher a location appears in the list, the higher its priority. Locations with the same priority will be chosen randomly. Similar locations will be combined as per the default behavior (e.g. Ranch Sisters Defense if both Aliens Defense or Cremia are in the hint priority list and both are randomized).
  • Added 'Free Hints' option for garo hints. Garo fights are triggered by speaking to Tatl instead of wearing the Garo Mask. Added Mask of Truth to logic for gossip hints. If free hints are enabled, the required masks are removed from the logic for the affected hints.
  • Added checkbox in custom hint priority UI to indicate that that tier of hints should indicate importance. Location hints are now only combined with locations that are included in the custom priority list.
  • New Shorten Cutscenes Options:
    • Goron Village Owl - The owl in Goron Village will no longer trigger dialog when you approach. You must target it and talk to it if you want it to reveal the path.
    • Automatic Credits - The dialog of the credits will proceed automatically.
  • Items are now capable of counting toward multiple regions. This includes in the spoiler log and for Competitive Hints.
    Affected items:
    • Keaton Quiz HP (North Clock Town, Milk Road, Mountain Village)
    • Postbox HP (South Clock Town, North Clock Town, East Clock Town)
    • Boss Blue Warp (Woodfall Temple, Snowhead Temple, Great Bay Temple, Stone Tower Temple)
    • Tingle Maps (North Clock Town, Road to Southern Swamp, Twin Islands, Milk Road, Great Bay Coast, Ikana Canyon as appropriate)
    • Relocatable Scrubs (South Clock Town, Southern Swamp, Mountain Village, Zora Hall, Ikana Canyon as appropriate)
    • Clock Town Stray Fairy (East Clock Town, Laundry Pool)
  • Custom music tracks now have the capability to play specific channels based on the player's current form / state. "Form" refers to the four basic forms of Link: Human, Deku, Goron, Zora. Also the form "All" can be used to mean all four basic forms of Link. "State" refers to the following game states: Swim, Combat, Epona, SpikeRolling.
    This is configured by a "XX.formmask" file within the track's mmrs file. The file contents should be a JSON formatted array with 17 elements. The first 16 elements determine the forms/states that allow each of the 16 channels to play. The 17th element determines which states count as "cumulative" states. When a state is cumulative, that means that the specified channels will be added to the channels already playing. When a state is non-cumulative, that only the specified channels will play when in that state.
    When on the file select screen, you can use D-Pad Up/Down to cycle through non-cumulative states, and D-Pad Left/Right to cycle through cumulative states.
    This functionality does not currently work for fanfares or combat music, so don't use it for those. If you do, it will just ignore the formmask file and play all the channels available.
    Examples:
    • ["All", "All", "All", "All", "All", "All", "All", "Swim", "Swim", "All", "Combat", "Combat", "Combat", "Swim", "All", "All", "Epona, SpikeRolling"] means Epona and SpikeRolling are cumulative (meaning existing channels will continue playing when in those states, no new channels will be added) and Swim and Combat are non-cumulative. Channels 0, 1, 2, 3, 4, 5, 6, 9, 14 and 15 will play for all forms. When swimming, channels 7, 8 and 13 will play and since Swim is non-cumulative all other channels will be muted. When in combat, channels 10, 11 and 12 will play, and since Combat is non-cumulative all other channels will be muted.
    • ["All","All","All","All","All","All","All","All","All","All","All","All","Swim","All, Combat","All","All","Epona, SpikeRolling, Combat"] means Epona, SpikeRolling and Combat are cumulative. Channels 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14 and 15 will play in all forms. When in combat, channel 13 will also play in all forms. When swimming, channel 12 will play and all other channels will be muted.
  • Added button to randomize tunic colors and energy colors. Press once to randomize and hide the colors. Press again to reveal what they were randomized to.
  • Made milk and chateau refills have a distinct model.
  • Added ability to add categories to logic tricks. (Thanks thedrummonger)
  • Passing multiple reward thresholds when depositing rupees into the bank will now grant the reward for each threshold.
  • Renamed 'Item Pool' tab to 'Item Randomization'.
  • The default Item Randomization view is now the 'classic' categories from version 1.13.
    The first category is 'Base Item Pool', which used to be always enabled.
    The 'Exclude Song of Soaring' category is now just 'Song of Soaring'.
    The 'Pre-Clocktown Deku Nut' category is now 'Glitches Required'.
    The following categories have been added to account for checks added since 1.14: Freestanding Rupees, Fixed Minor Item Drops, Hidden Rupees, Soft Soil, Boss Remains, Royal Wallet, Ocarina And Song Of Time.
    Zora Cape Jar Game and Ikana Graveyard Day 2 Bats are part of the 'Mundane Rewards' category.
  • Added custom models for boss keys.
  • Added custom models for small keys.
  • Added custom model for Spin Attack by Rebbacus.
  • Added functionality by Rebbacus to relocate and expand the audiobank table, which allows us to use as many custom audiobanks as required for randomized music.
  • Added UI option to set the chance of a "luck" roll when randomizing music.
  • Changed progress message after initial pass of item importance to "verifying item importance". When verifying item importance, a button in the UI appears which allows the user to skip this process and accept potentially inaccurate item importance. Added a command line argument to the CLI "maxImportanceWait" which sets the maximum amount of time (in seconds) that the randomizer should wait for item importance verification before skipping it.
  • Added new Main Setting - "Bespoke Item Placement Order". When enabled, items will be placed in a specific order designed to widen the variety in the generated seeds. When disabled, items will be placed in the default order.

Updates

  • Reformatted logic files into JSON format for better change tracking, merging and parsing.
  • Witch Shop Blue Potion now requires a mushroom even when it or other shop items are randomized. This means the first mushroom you bring will allow you to purchase the Blue Potion check (and you'll get a free sample of it), and subsequent mushrooms award the Kotake Mushroom Sale check.
  • Various shop hacks are now only applied when the specific item they affect is randomized.
    • Blue Potion free sample does not check for a bottle if it's randomized.
    • Milk Bar Milk/Chateau do not check for a bottle if either of them are randomized.
    • Business Scrub Green Potion does not check for a bottle if it's randomized.
    • Business Scrub Blue Potion does not check for a bottle if it's randomized.
    • Gorman Milk Purchase does not check for a bottle if it's randomized.
  • When the swamp scrub bean purchase is not randomized, it now once again requires the player to "know" what magic beans are.
  • Competitive Hints can now include a "foolish except for the song" type of hint among the pool of foolish hints. This means that the region is foolish, but the song check within it is in some way important.
  • When picking up a randomized drop, made is so that when you pick up a minor item that's new to you, the game treats it like a major item. For example picking up Bombchu for the first time will pause and tell you how many.
  • When combat music is enabled, the randomizer will now attempt to keep combat+bgm music size to a budget that will prevent them from killing each other.
  • The item list at the bottom of the html tracker is now better organized, and more junk is removed.
  • Ice traps no longer appear as items that aren't randomized.
  • Updated Keg Challenge goron's text to say what item he is selling, and therefore what item is the reward for the challenge.
  • When night time BGM is enabled, Kamaro no longer plays his music so as to not break the BGM.
  • Replace mute combat music implementation with a more broad implementation that guarantees never to play combat music.
  • You no longer keep magic capacity after moon crashing.
  • All music included with the randomizer has been changed to .mmrs files. Any entry in SEQS.txt that does not start with "mm-" can be removed.
  • Changed Item Pool label to say "X items randomized" instead of "X items selected".
  • Made the default settings for the randomizer the Standard settings.
  • Minor items in Butler Race, Goron Race, Deku Playground, Swamp Spider House (including the skulltula tokens) and Ocean Spider House (including the skulltula tokens) are now part of separate regions.
  • The items found in Path to Mountain Village are now part of a new "Path to Mountain Village" region rather than being part of "Mountain Village".
  • The items found on the Clock Tower Roof are now part of a new "Clock Tower Roof" region rather than being part of "The Moon".
  • Added Region column to the item log of the html item tracker. Also combined duplicate items.
  • Hopefully made item importance algorithm a little smarter. Items should no longer be considered important if there's a strictly better alternative available.
  • Further reduced poe hut health requirement from "more than 2 current health" to "at least 1 current health". Further reduced secret shrine health requirement from "more than 2 max health" to "at least 1 max health". If you die during the poe hut fight, your health is now set to 1 heart.
  • Renamed stray fairy location 'Stone Tower Boss Warp' to 'Stone Tower Entrance Sun Switch' to avoid confusion with the twinmold remains location.
  • Debug crasher: removed 'H' from end of registers, changed hex values to upper case, enabled VPC look up for stack trace.
  • The tricks menu is now ordered by the same order as in the logic file. Categories are in the order they're first used in the logic file.
  • The Skull Kid background music is now only pointerized if the cutscene is actually being skipped.
  • Pieces of Heart, Tingle Maps, Dungeon Maps and Compasses are no longer considered junk. This affects ice trap settings, and Enforced Junk Locations setting.
  • Allowed No Logic mode to use the Enforce Junk Locations setting, with junk items now consistently defined between this setting and ice traps. Consequently, Royal Wallet can no longer replace non-junk items in No Logic mode.
  • Made it so you can enforce junk on starting item slots.
  • Added more sound effects to the SFX randomizer.
  • Updated grammar for some items.
    the Deku Mask instead of a Deku Mask.
    the Hero's Bow instead of a Hero's Bow.
    the Fire Arrow instead of a Fire Arrow.
    the Ice Arrow instead of an Ice Arrow.
    the Light Arrow instead of a Light Arrow.
    the Lens of Truth instead of a Lens of Truth.
    a Mask of Scents instead of the Mask of Scents.
    the Couple's Mask instead of a Couple's Mask.
    the Gibdo Mask instead of a Gibdo Mask.
    the Garo's Mask instead of a Garo's Mask.
    the Giant's Mask instead of a Giant's Mask.
    the Goron Mask instead of a Goron Mask.
    the Zora Mask instead of a Zora Mask.
    the {Dungeon} Map/Compass/Boss Key instead of a {Dungeon} Map/Compass/Boss Key.
  • Renamed Pictobox to Pictograph Box.
  • Renamed Bottle with Red Potion to Bottle of Red Potion.
  • Renamed Bottle with Milk to Milk Bottle.
  • Renamed Bottle with Gold Dust to Bottle of Gold Dust.
  • Renamed Bottle with Chateau Romani to Bottle of Chateau Romani.
  • Renamed "[the] Spin Attack" to "Spin Attack Mastery".
  • Hopefully fixed audio issues causing the audio thread to crash on Dolphin resulting in potential softlocks.
  • When generating a WAD, the randomizer program will now wait for the wadpacker to finishing instead of immediately saying "Done!" while the wadpacker continues in the background. After the wadpacker is done, the randomizer program now deletes the 00000005.app file that it generated during the process.
  • The probability of a region being hinted foolish is now weighted directly by how many checks are in the region.
  • Improved calculation of item importance by recursively discarding all conditionals when one of the conditionals is free.
  • Verifying Item Importances calculation now happens in parallel in order to speed up the process.
  • Sped up hint location logic calculation by reusing cached importance info from item importance calculation.
  • When songs aren't mixed with items, the starting song is now randomized alongside other songs, instead of at the beginning.
  • To prevent items sometimes being unplaceable when combining various item placement restriction settings, the order that those items are placed has changed from "small keys within dungeons, boss keys within dungeons, stray fairies within dungeons, boss remains on great fairies, boss remains within dungeons" to "boss remains on great fairies, stray fairies within dungeons, boss keys within dungeons, small keys within dungeons, boss remains within dungeons".
  • Improved speed of ROM compression.
  • Added UI to enable an entire category of tricks.
  • Switching between Casual and Glitched logic modes now resets the enabled tricks to a predefined list, instead of no tricks.
  • Added a label above logic mode indicating how many tricks are enabled.
  • Changed Toggle Tricks button and window title to Edit Tricks.
  • Updated the manual.

Casual Logic

  • Updated to account for new randomized items.
  • Remastered logic by bcguppy.

Glitched Logic

  • Updated to account for new randomized items.
  • Remastered logic by bcguppy.

Bug Fixes

  • Fixed fanfares and combat music sometimes killing the background music.
  • Made ItemCategoriesRandomized and LocationCategoriesRandomized work with the CLI.
  • Powder keg goron now properly skips checking keg in your inventory instead of also skipping checking if a keg-challenge-keg has been spawned.
  • Fixed Termina Field red rupees from the tree and the red rupee on the pillar crashing when using Vanilla Layout.
  • Fixed Quest Item Extra Storage not being reloaded after moon crash.
  • Fixed ranch soil behind house having wrong item categories.
  • Disabling combat music no longer causes issues with targeting enemies.
  • Fixed DrawHash being disabled if you disable the png checkbox then enable the patch checkbox.
  • Fixed night BGM option not working for Woodfall.
  • Fixed issue with some important items not being considered important.
  • Fixed competitive hints giving extra duplicates of item hints if it runs out of hints. It now gives junk hints as intended.
  • Fixed songs sometimes not being considered two star importance, despite locking a required item.
  • Fixed issue that can occur if you select high upgrades as extra starting items without selecting the lower upgrades and having progressive upgrades enabled.
  • Fixed unrandomized snowballs in snowhead still showing 3d models.
  • Fixed issue causing softlock when picking up an item that pauses the game at the same time as entering a grotto.
  • Fixed withdrawing from the bank giving a reward if you stay at or above 1000 rupees.
  • Fixed Sakon killing night music in NCT on night 1.
  • Fixed the crash in the doggy racetrack that was caused by the message table file end address not being updated.
  • Fixed html item tracker logic not accounting for items removed via various settings.
  • Fixed html item tracker state not working when trying to load it.
  • Fixed sound effects not being replaced in messages.
  • Fixed junk bombchu sometimes appearing in gold chests.
  • Fixed issue in HTML Tracker in chrome.
  • Fixed Free Hint setting crashing on Switch.
  • Fixed text wrap that results in more than 4 lines not being displayed in-game.
  • Fixed music sometimes being used in inappropriate categories when placed via APROX or LUCK.
  • Fixed songs that were using the inst24-swap-guitar hack to actually work. Removed the hack and instead added a custom audiobank to each of the songs. This also fixes the pitch of the guitar in the credits.
  • Fixed non-skulltula soft soil crashing on vanilla layout.
  • Fixed some item locations not resetting after moon crash.
  • Fixed actors that spawn stray fairies causing the stray fairy mask to shimmer even in Chests Only stray fairy mode.
  • Fixed jinx and cooling hot spring water preventing the player from picking up randomized minor items.
  • Fixed issue causing the item placement algorithm to be overly restrictive in some circumstances when it came to conditionals.
  • Fixed bug which occurs when using Lens while cycling to elemental arrow.