A downloadable tool for Windows

Download NowName your own price

CURRENT VERSION: v49

KNOWN ISSUES IN v49:

  • Some spell override rules may still be overlapping unintentionally (early/extra healing, distributed powerful spells, visual fixes). A solution is in place, but may not have 100% resolved all issues.
  • Depending on your custom item configuration, there may be odd sequencing with the final two Shannon items. Make sure to enable Wings Anywhere if you do substantial item randomization.
  • If you are installing Merrow within the Itch app, it may be unable to automatically open the Patches folder after creating a patch. You can get to it easily by right-clicking on the Merrow game banner in the Library view and selecting 'Open folder in Explorer'.


WHAT IS MERROW?

Merrow is a Quest 64 "randomizer": a tool for remixing/improving/updating the NA/U dotZ64 version of Quest 64, offering many randomization, difficulty modification, and quality-of-life options. The full feature list can be found below.

NOTE: This project will likely have a lot of major-bug-fixing updates. If you want to ensure it's up to date, consider downloading the itch app. To see what's new, scroll down to the VERSION HISTORY section below.

Merrow is developed by Hangedman (Jonah Davidson), with the aid and support of many people. Credits are available in the program itself. If you would like to contribute to Merrow's development, please visit the Eletale Monsters Discord, or the repository on Github. Merrow is made freely available under the MIT License.


DISCLAIMER - PLEASE READ!

Merrow is experimental and therefore offered without warranty. Merrow patches are confirmed to work on the NA/U dotZ64 version, but may still cause unknown errors and crashes. Patches will not work on the NA/U dotN64 version or any other region. Always back up files before applying. Merrow contains no copyrighted game data or files.

Donations towards Merrow's production are very welcome through itch's Pay-What-You-Want payments, but the project is a free educational/experimental project and not for profit in any way. Merrow is open source and not for sale.


CAN I JUST GET STARTED?

Sure. Grab the newest version, and follow these steps:

  1. Open Merrow, and select Quest 64 Randomizer from the top menu.
    • Want a better vanilla game? Enable the FRENCH VANILLA ruleset.
    • Want just a bit of randomization? Enable SHUFFLED SPELLS.
    • Know the base game well and want to play a fun randomizer? Enable LOST KEYS ruleset too.
  2. Switch to the FILE EXPORT/CHECKSUM tab.
  3. Click the big SELECT Z64 FILE TO PATCH button, and select a clean Quest file.
  4. Enter a filename if you want, and click GENERATE FILE.
  5. The Patches folder will open, with your file and spoiler log. 
  6. Load it up, and get going!

If you want a quick overview of the features and changes (especially in LOST KEYS), take a quick look over the Merrow PDF Guide, included with the Merrow download, or available to download separately.


QUEST 64 RANDOMIZER OPTIONS:

Click to expand...

For more detailed descriptions, read the in-app tooltips on each option's title.

RULESETS

Click to expand...

RULESETS are single-click options that will instantly enable/disable a set of options that we think is optimal for play, allowing you to get started without any prior knowledge. They can be further customized after being enabled.

FRENCH VANILLA is a Quality-of-Life ruleset that maintains the feel and approximate difficulty of the base game, but implements many subtle changes and improvements to make it more fun and less frustrating. If you've never played before, just enabling this will give you a solid play experience.
It's also compatible with LOST KEYS (and vice versa).

LOST KEYS is a randomizing ruleset designed for unique pathing, experimental routing, and risky choices. In LOST KEYS, the Key Items (Gems/Book) and Wings appear only *once* each, scattered around the world. Shannons (an NPC in every inn) will give you hints on where they are.
It has two modes to choose from: PROGRESSIVE, and OPEN WORLD.

  • PROGRESSIVE: Search each region, and gamble on when to move on. 
    • Each Gem and a single Wing is available in its region (the area up to the point where vanilla progression requires it). It will either be held by a chest, a gifter (any non-Wingsmith NPC that grants items), or the boss.
    • Wind and Water share an area for both Gems and Wings, but the Water Jewel can also appear in chests in Blue Cave and Skye, or on Nepty.
    • Fire and Book share an area for both Gems and Wings, but the Book can also appear anywhere from the chest behind Fargo to Brannoch Castle Roof.
    • Crystal Valley Postern is enabled: an invisible shortcut warp to the Crystal Valley, hidden outside the Larapool inn back door when the town is not drained. It requires the Water Jewel to activate.
    • In the Fire region (Limelin/Dindom), along with Red/Black Wings, there are new "Ivory Wings". Ivory Wings replace White Wings, and teleport to Shamwood. Lavaar is considered the Ivory Wingsmith by all options. 
    • Fire Ruby is required to enter Brannoch Castle's outer gate. 
    • Spells are shuffled.
    • Some randomizations and options cannot be disabled. 
  •  OPEN WORLD: Search each region, and rush the endgame as soon as you feel brave enough.  
    • All progression locks are unlocked, except for final Shannons. 
    • Each Key Item (Gems/Book) is available in a random Lost Keys region (like PROGRESSIVE, but with key items shuffled between the default region slots.) All four Elemental Gems are required to traverse Brannoch Castle roof and the Book is still required to enter Mammon's World.
    • One of each Wing is scattered among all possible item locations with no logic
    • Crystal Valley Postern enabled (and unlocked).
    • Spells are shuffled.
    • Some randomizations and options cannot be disabled.

SPELLS

Click to expand...
  • Shuffle spell properties: Shuffle the properties of all spells, except for unlock level, element, and menu position.
    • Optional: give the new spells new procedural hinted names.
    • Optional: guarantee Healing Lv1 appears early.
    • Optional: add a second Healing Lv1 in a different element, which replaces Soul Search Lv1. If "Guarantee early Healing" is also enabled, this option will also guarantee Vampire's Touch appears early in a third element.
    • Optional: force the four most powerful spells (Avalanche, Magic Barrier, Water Pillar Lv3, Large Cutter) to each be distributed into different elements.
    • Optional: update the descriptions of spell items to describe their new function, and their names to reflect their new element.
    • Optional: add special fixes for specific spell combinations, allowing them to be added to the randomization pool.
  • Raise element level cap to 99: Spirits can be assigned to elements up to level 99, instead of only 50. 
  • Maximum accuracy: Normalizes accuracy values to 100. This does not mean no misses, but it means the same hit rate based on Agi as any default spell.
  • All spells Soul Search: All spells have a chance to trigger the Soul Search effect on hit. Has a side effect of increasing MP experience gain.
  • Base spells unlock at Level 2: Basic level 1 spells will not be available until you have put at least one spirit into that element.
  • Rebalance spell damage: Generally tweak many spells' damage values to make them more viable overall, especially when shuffled.
  • All spells unlocked at Level 1: Set all spell unlock levels to 1, for testing purposes.

ITEMS

Click to expand...

For each category (Chests/Drops/Gifters/Wingsmiths), there is a checklist of items below, and every item that is checked will have an equal chance to appear in those category's item slots. The dropdown menus to the right of each category have premade easy item sets, which will overwrite the table if selected. 
If LOST KEYS is enabled, it will distribute its required Key Items and Wings before filling in the rest with the specified item tables.

  • Randomize Chests: Alter the contents of all chests.
    • Optional: "Weighted" - guarantee a minimum of one/two of each item.
  • Randomize Drops: Alter the items dropped by every non-Boss enemy.
    • Optional: "Weighted" - guarantee a minimum of one/two of each item.
    • Optional: disable the item drop limit check.
  • Randomize Gifters: Alter the items granted by every item Gifter.
    • Optional: ensure final Shannons carry default items.
    • Optional: update Gifter/Wingsmith text to new items.
  • Randomize Wingsmiths: Alter the items granted by every Wingsmith.
  • Unlock Wing use: Unlock the use of wings in interiors (buildings, towns, dungeons), on the Isle of Skye, or both.
  • Make Dew Drop useful: Dew Drops heal an additional 20 HP.

MONSTERS

Click to expand...
  • Randomize monster stats: Randomizes enemy stats within regions. All enemies in a region will receive new stat values based on the range of vanilla stats in that region.
    • Optional: increase the range's variance beyond normal limits.
  • Enemy stat scaling: Multiplies all enemy stats.
  • Recalculate monster experience: Recalculates EXP based on new stats, to make higher scaling/variance possible. Highly recommended if stats have been altered.
  • Shuffle boss order: Shuffles and scales all bosses but Beigis and Mammon. Item progression is maintained.
  • Remove Boss spell debuff: Boss spells no longer debuff the player with passive Invalidity effect (which removes buff effects, making them mostly useless in the vanilla game).
  • Randomize Guilty's element: Randomizes Guilty's element, so they no longer resist all elements equally.
  • Encounter Rate: Set the encounter rate, between halved/reduced/default/increased/doubled.
  • Combat Experience: Set a multiplier on combat experience, from 0x - 3x, in 0.25 increments. Does not affect HP/MP/Def/Agi experience.

STATS

Click to expand...
  • Modify starting stats: Customize Brian's starting HP, MP, Agi, and Def.
  • Modify walking MP regain rate: Set MP regain rate from 1/3x to 3x, or OFF.
  • Modify staff hit MP regain rate: Set MP regain per hit from from 0 to 5.
  • Numerical combat experience: Change the Pause menu EXP display from percentage to amount remaining.

PROGRESSION

Click to expand...
  • Fast Monastery: Speeds up the Monastery, by causing the Grand Abbott's exit door to teleport you into the long hallway by the courtyard and church.
  • Fast Mammon's World: Speeds up the Monastery, by skipping the checkerboard dark passages with no enemies.
  • Fast Shamwood: Speeds up Shamwood by warping you back to the Baragoon Tunnel exit when you leave.
  • Crystal Valley Postern: Creates a warp behind the inn in lower flooded Larapool that leads back to the Crystal Valley if the Water Jewel is obtained. [NOTE - There is a known issue with the door data for this warp: if you find yourself stuck or unable to open menus after warping, press Z to fix it.]
  • Replace White Wings with Ivory Wings: Replaces the White Wings with Ivory Wings, which warp the player to Shamwood. The Melrode Wingsmith will not grant an item, and instead Lavaar in Shamwood will grant the Ivory Wings upon interacting. SHUFFLED Wingsmiths treat Lavaar as the granter of the Ivory Wings and shuffle accordingly.
  • Unlock all progression locks: Unlocks all progression-related locks. Gems, Book, and Key are no longer required to progress.
  • Lock Mammon's World with Gems: Locks the four final doorways leading to the shrine on Brannoch Castle roof, with each Elemental Gem in order. Overrides 'Unlock all progression locks'.
  • Brannoch Blue House warp to Shamwood: Creates a warp back to Shamwood. 
    The warp is the door of Jannat's house in Brannoch, a squat blue house near the inn.
  • Shannon Hints: One Shannon in each region will now give a hint to the location of that region's progression item. Requires LOST KEYS to be enabled.
  • Reveal hidden spirits: Makes two previously-invisible spirits visible (Ferry and Library.)
  • Put Book in Fire Region: A major change to LOST KEYS item logic that is now enabled by default. Causes Book region to overlap with Fire, like Water overlaps with Wind. Requires LOST KEYS, can be optionally disabled.

FUN

Click to expand...
  • Vowel play: Monster names may be... strange.
  • Music shuffle: Randomizes BGM everywhere but the title screen and boss battles.
  • Restless NPCs: All NPCs have the 'wandering' byte flag.
  • Randomize textboxes: Redistribute all textbox content.
  • Celtland Drift: Brian's got places to go, collisions be damned.
  • Gravity Disaster: All enemies have a randomized 'flying' byte flag.

COLOURS

Click to expand...
  • Set text palette: Changes the default text colour palette. 
    • Optional: Reveal the palette, or enter a custom hue shift value.
  • Set staff palette: Changes the palette for Brian's staff.
    • Optional: Reveal the palette, or enter a custom hue shift value.
  • Set cloak palette: Changes the palette for Brian's cloak.
    • Optional: Reveal the palette, or enter a custom hex colour value.
  • Random spell palettes: Randomizes spell palettes among a decent colour range.
  • Random Brian's palettes: Randomizes some of Brian's clothing palette.

GRAPHICS

Click to expand...
  • Increase zoom range: Changes maximum zoom distance. Can range from 1 (default) to 12 (maximum).
  • Maximum message speed: Changes default textbox message speed to maximum, for convenience.
  • Lock HUD onscreen: Prevents the HUD from sliding out once it appears.
  • Minor text improvements: Adds explanatory dialogue about LOST KEYS to the Abbott and Melrode Shannon, if LK is enabled. Corrects a couple of unclear localizations.

EXPORT

Click to expand...
  • Mode: Choose whether to directly patch your Z64 files, or to create IPS patches. Z64 files will auto-repair checksums.
  • Filename: IPS patch filename. Default is 'merrowpatch_(seed)'. It will also create a 'filename + Spoiler.txt' file in the same directory.
  • Verbose Spoiler Log: List all randomizations at the bottom of the log output.
  • Add Seed to Title Screen: Adds the Seed to the title screen as series of icons, for comparing/verifying race files, etc.
  • Seed: Auto-generated pseudorandom seed. Can be edited.


ADDITIONAL FEATURES:

Click to expand...

Merrow can also output randomizer options as IPS patches. You'll need an IPS-capable patching tool (ex. Lunar or Ninja) to use them.

Along with the randomizer, Merrow has three advanced data tools that may be handy to coders and romhackers and aren't necessarily specific to Quest:

  • A Z64 file checksum repair tool, because some randomizer features will modify the checksum.
  • A universal IPS patch generator, for those who know what they're doing and just want to test some specific hex address patching. 
  • A binary file reader, that allows you to specify a series of addresses and lengths and easily export hexadecimal data from any binary file.

For more detailed tool explanations, see below.

CRC REPAIR TOOL

A CRC (N64 file checksum) Repair Tool.

The checksum is a value calculated based on a certain portion of a Z64 file, that is used to verify that the file is legitimate. Making modifications (with tools or patches) to that portion of a file will cause the checksum to be incorrect, which causes certain hardware and emulation to fail on boot.

This tool can be used to automatically recalculate and update the checksum of a Z64 file, allowing hardware to recognize it as legitimate without errors or issues. It uses a DLL compiled from existing checksum calculation code in C. Full details of the algorithm and the license information for the C script are available in the repo, under the CRC64 subfolder.

This tool is restricted to Z64 files, to prevent possible memory errors and other problems, but it is experimental software. Please ensure you back up any files before attempting any checksum repairs.

GENERIC PATCH GENERATOR

A generic IPS patch generator. 

Handy for quick hacks and tests, it will generate a clean IPS patch for whatever use you may need. Enter the PATCH CONTENT you want to write (in hexadecimal 2-character bytes), and the ADDRESS to start writing that content at (as a 6-character hex string 000000-FFFFFF). 

Always make backups of your files before patching. This tool will generate properly formatted patches, but it is your responsibility to know what you are patching, and why. 

BINARY FILE READER

A binary file data extractor.

Handy for quick reference and grabbing bulk info, it will read the input file at specified locations and fetch the specified values, and optionally, create a text file containing the read bytes in hexadecimal format.

Populate the EXTRACTION LIST with as many entries as needed, in comma-separated hexadecimal or decimal strings in the following format: (Byte_Address,Byte_Length) 
with no brackets and another comma before the next entry. 

Ensure you specify whether all addresses/lengths are written as hexadecimal or decimal, using the lower left options. If you would like the exported data to be output to file, check the box at the bottom.

This tool can currently only access values in the following ranges:
Address: 000000-FFFFFF (DEC: 0-16777215)
Length: 0000-FFFF (DEC: 0-65535)
If the ranges are too restrictive for your uses, please get in touch. 
This is a first attempt but it can be adjusted in future versions.

This tool is as restrictive as possible, to prevent possible memory errors and other problems, but it is experimental software. It is your responsibility to know what you are reading from files, and why.


VERSION HISTORY:

Click to expand...
  • V49: Combat Experience, Add Seed To Title Screen, Extra Healing now includes Vampire's Touch, adjustments and fixes to defaults and UI.
  • V48: Encounter Rate, Numerical combat experience, Gravity Disaster. Adjusted default settings to improve LOST KEYS and improve shortcodes. UI fixes.
  • V47: LOST KEYS BOOK/FIRE major logic change, Shuffled Spell item descriptions in Reference, many fixes, PDF Guide Rev3 with new LK logic.
  • V46: LOST KEYS hint fixes (both rulesets), re-patching consistency improvements.
  • V45: Healing Shuffle fixes, post-release UI cleanup, PDF Guide Rev2 with Chest/Gifter checklists.
  • V44: MAJOR RELEASE. Added a Top Menu and Help page, cleaned up a lot of the Merrow UI, finalized some features and the LOST KEYS ruleset.
  • V43: Added Spell Combination Fixes, Minor Text Improvements, and fixed issues with Useful Dew Drop.
  • V42: Added 'Update Gifter/Wingsmith text', improved Shannon Hints, added FRENCH VANILLA ruleset, and added new Elemental Names for shuffled spell items. Added LOST KEYS Guide PDF.
  • V41: Added Useful Dew Drop, Random Brian Palettes, Reveal Hidden Spirits, and a ton of bug fixes.
  • V40: Many bug fixes and minor updates.
  • V39: Added first attempt at Shannon Hints, Rebalance Spell Damage, and Update Spell Item Descriptions. Also various fixes.
  • V38: Added Extra Healing Lv1, Distribute Powerful Spells, Cloak colour randomization, seed reroll, and fixes.
  • V37: Added colour entry fields for Text and Staff, added Spell Colour randomization, BGM randomization, and fixed the last few lingering issues with Lost Keys.
  • V36: Fixed many Lost-Keys-related issues, added Staff Colour shift.
  • V35: Added 'Lost Keys' ruleset, and many related options.
  • V34: Added 'Base Spells Unlock at Lv2' and Progression Unlock. Also fixed a couple of bugs with existing features.
  • V33: Added Staff Hit MP Regain, colour palette fixes and other minor changes.
  • V32: Fixed item usage rule inheritance, added EXP reference tables.
  • V31: Fixed boss shuffle, improved reference, many other minor fixes, backend reorg and cleanup.
  • V30: Boss shuffle (with stat readjustment and item redistribution), Crystal Valley re-entry warp, Guaranteed early Healing, Non-elemental boss element shuffle, Celtland Drift. Also added Quest Reference, and many minor fixes.
  • V29: Enemy EXP recalculation, boss stat randomization, Fast Mammon's World, walking MP Regain rate modification, initial shortcode system.
  • V28: Fixed softlock protection to work 100% of the time instead of 80. Added element level cap increase. Fixed a bunch of other bugs.
  • V27: Added softlock protections - spell items inherit usage rules from modifier spells, and crashsets now include Escape/Exit/Return. Customizable starting stats.
  • V26: Added direct Z64 patching. Added new checksum-reliant options: Wing unlock, item drop limit unlock, HUD onscreen lock. Added RISK warning. Fixed bugs.
  • V25: Overhauled interface. Added granular new item selection interface with Gifters and Wingsmiths. Added Vowel Play and Fast Monastery options.
  • V24: Added monster stat randomization and enemy stat scaling. Fixed bugs, general cleanup.
  • V23: Added CRC repair tool, using crc.c-derived DLL. Added default maximum message speed option. Fixed many small bugs. Added CRC64 DLL project to github.
  • V22: Added preliminary colour modification functions. Added text colour palette randomization. Fixed error in inn text data. Added crash protection modification to Blue Cave Skelebat groups, when shuffled spells are enabled.
  • V21: Added Textbox output to Binary File Reader, text file output is now optional. Fixed error in Chaos item shuffle handling caused by initial shuffle.
  • V20: Interface overhaul. Added Generic Patch Generator and Binary File Reader tools, and added weighted chest shuffle, and 'restless NPCs' options to the randomizer. Many minor fixes and adjustments.
  • V19: Added hinted name generation for shuffled spells, resolved internal issues with shuffling logic.
  • V18: Dropped decimalization of version numbers. Added textbox content shuffle. Added enemy drop randomization.
  • V1.7: Migrated project to Windows Forms, bringing the file size and dependencies down. Added 'Standard + Gems' option to chest content randomization.
  • V1.6.1: Added seed to spoiler log file. Fixed Magma Ball crash data hopefully for the last time.
  • V1.6: Added chest content shuffling. Updated Magma Ball crash data.
  • V1.5.2: Added verbose spoiler log file.
  • V1.5.1: Added preliminary anti-crash logic for spell shuffling.
  • V1.5: Added Soul Search byte option to all spells. Proof of concept CI8 texture replacement for Soul Search icon. Preliminary checksum repair investigation.
  • V1.4.1: Fixed incorrect Magma Ball data again because apparently it didn't take the first time.
  • V1.4: Added text colour choice/shuffle. Added advanced patch generator.
  • V1.3: Added accuracy normalization. Added zoom out option.
  • V1.2: Added removal of boss spell passive invalidity. Fixed incorrect Magma Ball data.
  • V1.1: Exposed customizable seed. New override option, shuffled or specific. Export folder moved to program folder.
  • V1.0: Initial proof of concept release. Spell shuffler and level normalizer. Spoiler.
Updated 13 days ago
StatusReleased
CategoryTool
PlatformsWindows
Rating
Rated 4.8 out of 5 stars
(6 total ratings)
AuthorHangedman
GenreRole Playing
TagsHomebrew, n64, nintendo-64, patcher, quest, quest-64, randomizer, romhack
Code licenseMIT License
Average sessionA few hours
LanguagesEnglish

Download

Download NowName your own price

Click download now to get access to the following files:

MerrowV49.zip 11 MB
Merrow PDF Guide (standalone) 11 MB
MerrowV48.zip 11 MB

Development log

Comments

Log in with itch.io to leave a comment.

I knew I wasn't the only one whom loved this game!  lol thanks!

how have i not found this until now? thank you for caring about this game and fixing some of its issues! it deserved so much better.

I'm glad you found it, and thanks for the support! I appreciate what the game tried to do, so my only goal was to make it a bit more fun and approachable for more folks.

(+1)

Yessssssss