A downloadable tool for Windows

Download NowName your own price

CURRENT VERSION: v45

WHAT IS MERROW?

Merrow is a Quest 64 randomizer: a tool for randomizing 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 toward the project are very welcome through itch PWYW purchases, but the project is an educational/experimental project and not for profit in any way.


CAN I JUST GET STARTED?

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

  1. Open Merrow, and select the Quest 64 Randomizer button at the top.
    • Want a better vanilla game? Enable FRENCH VANILLA.
    • Know the base game well and want to play a fun randomizer? Enable LOST KEYS 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:

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

RULESETS

FRENCH VANILLA is a ruleset that maintains the feel and approximate difficulty of the base game, but implements many subtle Quality-of-Life changes and improvements to make it more fun.
It's compatible with LOST KEYS, and vice versa.

LOST KEYS is a special randomizer ruleset designed for for original pathing, experimental routing, and risky choices. In LOST KEYS, the Elemental Gems and Wings appear only *once* each, scattered around the world. Shannons will give you hints on where to find them.
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 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 Water can also appear on Nepty or in the few chests in Blue Cave and Skye. 
    • Crystal Valley Postern is enabled: an invisible warp to the Crystal Valley outside the Larapool inn back door when the town is not drained. It requires the Water Jewel to activate.
    • Black Wings can be found in Fire region (Limelin/Dindom), along with 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. 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 gem/book is available in a random Lost Keys region, as described above.  
    •  All four Elemental Gems are required to traverse Brannoch Castle roof to reach Mammon's World. One of each wing is scattered among all locations with no logic, including Ivory Wings. 
    •  Crystal Valley Postern enabled (and unlocked). Spells are shuffled.
    • Some randomizations and options cannot be disabled.

SPELLS

  • Override 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, that replaces Soul Search Lv1.
    • 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, for testing purposes.
  • Base spells unlock at Level 2: Basic level 1 spells will not be available until you have put at least one spirit into an 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

  • Randomize Chests: Alter the contents of all chests. 
    • Optional: guarantee at least one of each item.
  • Randomize Drops: Alter the items dropped by every non-Boss enemy.
    • 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

  • Randomize monster stats: Randomizes enemy stats within regions. All enemies in an area will receive new stat values based on the range of vanilla stats.
    • 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.
  • 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).
  • Randomize Guilty's element: Randomizes Guilty's element, so they no longer resist all elements equally.

PLAYER STATS

  • 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.

PROGRESSION

  • 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.)

FUN

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

COLOURS

  • 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

  • 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

  • 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.
  • Seed: Auto-generated pseudorandom seed. Can be edited.


ADDITIONAL FEATURES:

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:

  • 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.

Download

Download NowName your own price

Click download now to get access to the following files:

Merrow v45 11 MB
Merrow PDF Guide (standalone) 11 MB
Merrow v44 (Major Release) 7 MB

Development log

Comments

Log in with itch.io to leave a comment.

(+1)

Yessssssss