Project Restoration

A Majora's Mask 3D patch to get the best of MM and MM3D

Project Restoration is a patch for Majora's Mask 3D that restores some mechanics from the original game and adds quality-of-life improvements and fixes to make it more enjoyable.

Features

Mikau playing his guitar. Wait, no, that's Link!

Fixed Zora Link

Swim gracefully like a Zora without having to use magic

  • Fast swim is the default way of swimming and no longer requires magic.
  • Slow swim is still available. Press Up/Down on the D-Pad or ZL to toggle between fast swim and slow swim. You can also hold ZR to swim slowly.
Deku Link

Fixed Deku Link

Fixed water hopping

  • Deku Link's acceleration reduction is reverted to fix the water hopping mechanic.
  • As a side effect of the acceleration change, hopping was very slow in the unpatched game.
Transformation masks usable with the D-Pad

Fast Transform

Transform without having to equip items for a more streamlined gameplay

  • Use the D-Pad to transform (Left: Zora, Up: Goron, Down: Deku, ZR+Up: Fierce Deity)
  • This frees up as many as 4 buttons!
Bomber's Notebook

More Fluid Bomber's Notebook

Less annoyingly slow popups and transitions

The Bomber's Notebook screen updates instantly when it is opened instead of waiting for 1.8 seconds just before starting the "new" text animation, followed by another 1.18s pause and yet another 1.56s delay until the main text box appears. It all adds up.

Ocarina of Time

Optional Song of Time Saving

For the classic Majora's Mask experience

You can optionally save the game after playing the Song of Time. Players will be greeted with the iconic Dawn of the First Day screen after loading a Song of Time save, just like in the original game.

Ocarina of Time

More Potent Inverted Song of Time

Slow time to 1/3 speed (just like the original)

In MM3D, the ISoT only slows time to 1/2 speed rather than 1/3 — likely an oversight. This patch fixes the regression, making some glitchless challenge runs possible again and giving the player more time in a three-day cycle.

Gyorg

Improved Bosses

Tweaks

  • Removes the newly added giant eyeballs from Odolwa, Goht and Gyorg. They don't add much.
  • Balances Odolwa's AI and attacks to improve gameplay.
  • Fixes a game bug that caused Odolwa to be invulnerable to attacks and block excessively.

More fun with Twinmold

  • Reduces the number of cycles to make it less repetitive.
  • Red Twinmold no longer resets its hit counter every time it burrows back into the sand. This makes the boss battle much less confusing.
A magnificent Ice Arrow

Restored Ice Arrows

Ice arrows that work in more locations

  • Ice arrows work everywhere in Great Bay Temple, not just in Gyorg's room. This gives the player more freedom to experiment with ice arrows. They also work in several other areas outside the temple, just like in the original game.
  • Removes the sparkling water effects as they are an insult to the player's intelligence.
A Fire Arrow, Ice Arrow and Light Arrow

Button Tweaks for Controller Players

Additional, optional bindings to make the game easier to play on a controller

  • Switch between arrow types: ZL
  • Ocarina of Time: ZR+A or D-Pad Right
  • Pictograph Box: ZL
  • I item: ZR+X
  • II item: ZR+Y
  • You can now assign items to I and II with a single press.
  • Items: SELECT
  • Bomber's Notebook: START
  • Gears: ZR+START
  • Map: ZR+SELECT
  • Switch between the instrument screen and the song list: START/SELECT

...and plenty of other improvements

Streamlined gameplay

  • Link no longer plays the Elegy of Emptiness a second time after it's been played once. Considering it needs to be played 10+ times to beat Stone Tower Temple normally, this makes the dungeon a lot less tedious.
  • For similar reasons, the Song of Soaring is only repeated once during a play session.
  • The speed of Stone Tower blocks is adjusted for a more pleasant climbing experience.
  • Free camera mode can be used more often, notably when targeting, talking or playing the ocarina.

Less handholding

  • The moving platforms in Deku Palace and Woodfall Temple now actually always move.
  • Captain Keeta now walks as fast as in the original game, which restores the challenge of the chasing mini-game.
  • Link can now leave the Swordman's School during training if necessary to avoid wasting time.
  • The Bombers will no longer distract the player from a particular cutscene just to ensure you get their hints.
  • The new Sheikah hint stone will also no longer distract the player during an important cutscene in the Clock Tower.

For the classic experience

  • Owl statues can be activated by striking them with a sword.
  • It is possible to control Goron Link rolling just like in the Nintendo 64 version: hold A and move to roll, release A to stop. The classic control scheme co-exists with the new one.

Bug fixes

  • Fixes a game bug that caused the "heart container get" sound not to play after getting four heart pieces.
  • Fixes a game bug that prevented the player from leaving free camera mode by targeting when Zora swimming or Goron rolling.
  • Fixes a possible softlock during the Twinmold boss intro.
  • Fixes a possible softlock when fighting Gyorg during phase 1.
  • Fixes 2 other possible softlocks when fighting Gyorg during phase 2.

Setup

Project Restoration is compatible with the 3DS and Citra and existing save files.

Patches are provided for all versions of Majora's Mask 3D, though all versions other than v1.0 (v100) will be temporarily downgraded to ensure everything works fine.

  Download Project Restoration 1.5.8

After downloading the archive, open one of the folders without extracting it:

For Citra users

This guide assumes that you know how to use Citra. If this is not the case, refer to the official website for help.

  1. Right click on the game in the game list and select Open Mods Location.
  2. Copy code.bps to that directory.
  3. Copy exheader.bin to that directory.

If you are playing at high resolutions, you might also want to check out the HD HUD mod.

For 3DS users

This guide assumes that you have a homebrewed 3DS with Luma3DS. If this is not the case, follow this guide for help.
Make sure that you have Luma3DS v10.1 (or a newer version). You can download the latest Luma3DS here.

  1. Create the /luma/titles/TITLE_ID/ directory on your SD card (if it doesn't already exist). Replace TITLE_ID with:
    • For the European release: 0004000000125600
    • For the American release: 0004000000125500
    • For the Japanese release: 00040000000D6E00
  2. Copy code.bps to that directory.
  3. Copy exheader_legacy.bin to that directory and rename the file to exheader.bin.
  4. Enable game patching in Luma's menu.

That's it!

Troubleshooting

My 3DS crashes

Delete any file you copied while following this guide and follow the instructions carefully again.

In particular, make sure that you have renamed exheader_legacy.bin to exheader.bin.

If you are absolutely sure you have followed the instructions correctly, try all three patch variants (v100/v101/v110) until one of them works.

Citra crashes

Delete any file you copied while following this guide and follow the instructions carefully again.

If you are absolutely sure you have followed the instructions correctly, try all three patch variants (v100/v101/v110) until one of them works.

You may also need to set the console region in Citra's settings manually.

The patch isn't applied

Make sure that you put the patch files (code.bps and exheader.bin) into the right folder. Ensure that you are using the correct title ID for your game.

If you are playing on a 3DS console, check whether game patching is enabled.

[Citra] After I press ZR, the button stays pressed permanently

That is caused by an incorrect controller mapping in Citra. It is not a Project Restoration issue. When mapping the controller, hold the trigger on your controller before attempting to map the button in Citra.

Frequently Asked Questions

Is such a patch available for Ocarina of Time 3D?

As of March 2020, no. While I am interested in making a QoL patch for OoT3D, unfortunately I have no time to work on such a project at the moment. But unlike its sequel, OoT3D does not urgently need a Project Restoration-style mod anyway :)

Hero mode?

Currently, I have no time to work on hero mode either. And hero mode is somewhat out of the scope of this project anyway.

Restored lighting? The bright colours ruin the atmosphere!

Project Restoration attempts to fix what regressed in MM3D by restoring original mechanics and adding QoL improvements. I do not consider the graphical changes a regression. Even colourful games can be dark, and I'd argue that in Majora's Mask the unique atmosphere mostly comes from the stunning storytelling and narrative.

How do I update Project Restoration?

Simply follow the setup instructions again.

For 3DS console users, you do not need to set up Luma3DS from scratch again.

How was this made?

By reverse engineering the game to understand how it works (at least partially). No, I don't work at Grezzo! For more details, you're encouraged to look at the source code.

Contributing

Project Restoration is an open-source project. For more information about the project, including development details and rationale for some of the changes, refer to the GitHub repository. Contributions are welcome!

Star Issue

© 2020 leoetlino | Website repository