Interface Helper

v1.1.0·Updated 2025-10-18

A library mod that exposes more data in Interface functions.

About this mod Author’s original text

Majora's Mask: Recompiled Interface Helper

This is a library mod that exposes more data inside interface functions so mods can change interface drawing functionality in a simpler and more precise manner.

Usage

  • Download interface_helper.h from the example folder in this repo.
  • Place that header in your mod's src folder.
  • Add #include "interface_helper.h" to the top of your source file.
  • Scan the function patches in this repo and find the variables you want to change and then use their respective DECLARE and REGISTER macros in your source file.
  • The DECLARE macro must be placed outside of any scope.
  • The REGISTER macro should be ran once after the game has initalised, for example in a recomp_after_play_init callback.
  • Modify that variable by accessing it with the declared pointer - the pointer's name will be the same as the variable but with a 'p' instead of an 'm' prefix.

Extras

The library contains some improved optional bug fixes and inconsistency corrections from Modern Controller Overhaul:

  • Items equipped to the Attack button can be slightly scaled down to actually fit the button and to be more consistent with items equipped to the C-buttons.
  • There is an option for the Attack button to no longer be disabled when empty, matching the other buttons.
  • Deku Link's empty C-buttons being disabled while other forms aren't can been fixed.
  • The green ammo bug before obtaining the magic meter can been fixed.

Dev Recommendations

  • The library contains some "extra variables" that are unneeded for vanilla functionality but should be updated if your mod changes something they relate to. These variables are all stored in extra_vars.c.
  • As an example, if you move the A or B button positions, you should also change the m(A/B)ItemEquipPosition(X/Y) variables.
  • If your mod completely disables a specific UI element, you shouldn't just rely on its alpha being set to 0 or its position being moved off screen. You should use the available...Enabled variable to completely disable the code (and any callbacks) being run.

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

File & checksum

Filename
Interface_Helper-1.1.0.zip
File size
449.1 KiB