Repository navigation
Releases
v0.1.9: faster frames, optional game logic thread
Performance:
Faster
- Each frame costs less CPU: the game's floating-point math, per-draw work and shader lookups take faster paths. The game itself behaves exactly the same: every change was checked against recorded runs that must match byte for byte.
- F1 → Renderer → Display → Game logic on its own thread (experimental): the game's logic runs ahead on another CPU core, so the frame that runs it no longer stalls. Same game (same timing, drops and saves), fewer frame-time spikes. It's most visible with VSync off. It's off by default and switches on or off immediately, with no restart. If something looks wrong with it on, turn it off and tell us.
Updating: extract this release into a new folder and run Setup again with your ROM (Setup rebuilds the game module; the new option needs it). Then copy data/savedata (your saves), data/textures (an HD pack) and data/config (your settings) from the old folder. Save states from v0.1.8 may not load.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
v0.1.8: save states and cheats
Save states and cheats:
New
- Save states: 10 slots. F5 saves, F8 loads, F6 / F7 change slot. F1 → Save states lists them with Save / Load / Delete. Each state takes about 450 MB, and states may not load after an update (your in-game saves always carry over).
- F1 → Cheats: fly, moon jump, infinite health / magic / rupees / ammo, give any item or mask, complete the quest, freeze or set the time, fight any boss again, spawn enemies and NPCs. They change your save, so save a state first.
- Setup shows the time each step started in its log.
Updating: extract this release into a new folder and run Setup again with your ROM. Then copy data/savedata (your saves), data/textures (an HD pack) and data/config (your settings) from the old folder.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
v0.1.7: crash fix, smoother camera, new F1 options
Crash fix, smoother camera and new F1 options:
Fixes
- No more out-of-video-memory crash. Every change of the button style kept a whole extra copy of the textures (about 250 MB each time with a 4K pack), and textures of areas you had left were never freed (about 60 MB per area). A long session, or switching styles a few times, could run out of video memory and crash. Now the old copies are freed right away, and textures the game hasn't used for 2 minutes are freed too.
- The ground no longer shakes when you turn the camera slowly or nudge it a little at a time (it only happened with interpolation on, not at 30 fps).
- Particles and fire glow stay put when Deku Link spins, instead of being flung around him between frames. This also fixes dust and effect particles in many other areas.
- Far models no longer snap when the camera turns a few degrees, and scenery follows the camera exactly between frames.
- Bushes and grass no longer jump when the game reuses them for other spots.
- F1 grass stays on the ground while the camera moves (thanks to aoiacee, #7) and no longer floats or shows through walls.
- The Lens of Truth's mask works, and Pictograph Box photos show the picture instead of black.
- A rare case where the game closed by itself when a game thread ended is fixed.
New
- F1 → Game: game language (English, French or Spanish). It applies the next time the game starts.
- F1 → Warp: go to any area of the game (search by name, pick where you arrive and, optionally, a form).
- F1 → Buttons: move and resize each item button's letter, with sliders or by dragging it on screen.
- With an HD texture pack, the item buttons in the top right now use the pack's sharp button ring, and the pack's HD hearts, rupees and item icons stay HD under any button style.
- A one-time message from me on the first launch.
Updating: extract this release into a new folder and run Setup again with your ROM. Then copy data/savedata (your saves), data/textures (an HD pack) and data/config (your settings) from the old folder.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
v0.1.6: more interpolation fixes
More interpolation fixes:
- Characters and objects now move on the game's own skeleton in the in-between frames: every model is rebuilt bone by bone from its real bone hierarchy, so joints never come apart on fast moves (no more stretched or detached arms when swinging, spinning or putting the sword away).
- Meshes the game swaps from one frame to the next (shield from the back into the hand, sword into the sheath, open hand to fist) swap at the right moment instead of showing up in the wrong place for a frame.
- Items held as separate models stay locked to the hand holding them.
- Characters, NPCs and scenery no longer vanish for a moment the first time something new is drawn (they used to be skipped while their shader was being built). The first time a new effect appears there may be a very short pause instead.
- Setup warns if the ROM's game data is not a clean USA v1.1 dump.
Updating: extract this release into a new folder and run Setup again with your ROM. Then copy data/savedata (your saves), data/textures (an HD pack) and data/config (your settings) from the old folder.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
v0.1.5 - Interpolation fixes for animated models
Frame interpolation fixes for animated models:
- Fast turns no longer tear models apart in the in-between frames (a hand coming off the wrist, legs spreading, a stretched arm). Each model now moves as one body, and what it carries (sword, shield) moves with it.
- Link reversing direction snaps round instantly, like the original game, instead of showing a made-up turn through the side.
- Models that switch meshes mid-animation (open hand and fist, drawing or putting away the sword) keep their parts attached instead of leaving a hand in the air or a part snapping on its own.
Updating: extract this release into a new folder and run Setup again with your ROM. Then copy data/savedata (your saves), data/textures (an HD pack) and data/config (your settings) from the old folder.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
v0.1.4 - Camera speed and menu size
Two new options, both in F1 → Controls:
- Camera speed (right stick), 0.5x to 3x. It scales the stick input the game's camera turns by, so the camera turns faster and reaches full speed sooner. The game's own camera logic is unchanged; 1x is the original.
- Menu size: Automatic (1x up to 1440p, 2x at 4K) or 0.5x to 3x, for the F1 menu, which was tiny at 4K.
Updating: extract this release into a new folder and run Setup again with your ROM. It rebuilds the game module for this version, so copying the new files over an old folder does not work. Then copy data/savedata (your saves), data/textures (an HD pack) and, to keep your settings, data/config from the old folder. Coming from v0.1.2 or older with your old settings? Turn VSync on in F1: the smoothness fix of v0.1.3 needs it.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
v0.1.3 - Smoothness and framerate improvement
Extract it to a new folder and run Setup again. Your saves are in data/savedata (copy that folder over).
Already installed? Press F1 and turn VSync on (and set the window mode to Borderless if you use fullscreen). Earlier packages shipped with VSync off and exclusive fullscreen at 2560x1440 60 Hz by mistake, and the new smoothness fix needs VSync.
Smoothness
- Motion is even at high refresh rates. Each in-between frame used to show the moment it was computed instead of the moment it reaches the screen, and the frame that runs the game takes longer than the others, so with VSync the picture jerked 30 times a second (most visible turning the camera, as if distant walls moved at a lower frame rate). Measured at 144 Hz: the per-refresh error went from 8 ms to under 0.5 ms.
- Frame interpolation now knows which model each draw belongs to, read from the game itself: identical objects that the game draws in a different order every frame (crowds, the Song of Time clocks, repeated props) can no longer blend into one another.
- HD texture preloading runs at the lowest priority, so it no longer makes the first seconds after starting stutter as much.
Fixes
- The bells before a new day: the shrinking screen (a real effect of the game) ran at about 3 fps, at low resolution and mirrored. It now stays on the GPU in HD at full frame rate.
- Tatl's "wants to talk" prompt sits below the minimap instead of covering the hearts and magic.
- Linux (AMD/Mesa on Fedora, Arch, CachyOS, Hyprland...): the game crashed or reported a missing
VK_KHR_surface. The package's own libwayland was loaded instead of the system's newer one; it is now used only when the system's is missing or older. - Windows: the shader tour at the end of Setup opens and closes small game windows many times. That is expected; the windows no longer take the focus and Setup says so clearly.
- New installs default to borderless fullscreen with VSync.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
MM3D PC v0.1.2
Fixes since v0.1.1. Extract it to a new folder and run Setup again. Your saves are in data/savedata (copy that folder over).
Song of Time
- The clocks around Link during the return to the first day no longer turn into a mess in the in-between frames. 128 identical clocks are drawn in a different order every frame, and the frame interpolation was blending each clock into another one. When no static scenery is visible, the port now works out the camera motion from the clocks themselves and pairs each clock with itself.
- The "Return to the Dawn of the First Day?" question no longer shows the inventory over its box, and the fall no longer shows pieces of it in the corners.
HD texture packs
- HD textures get mipmaps: no more shimmering ("boiling") at a distance.
- Quick save (F5) works with an HD pack. It failed (and froze the game for a moment) when large HD textures were loaded. Loading a state brings the HD textures back.
Windows note: the v0.1.1 Windows package was built with an older game runtime by mistake, so it missed v0.1.1's HD texture loading changes and the roll dust fix. This version has all of them.
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
MM3D PC v0.1.1
Fixes and improvements since v0.1.0. Extract it to a new folder and run Setup again. Your saves are in data/savedata (copy that folder over).
Bombers' Notebook
- The Schedule view is laid out properly on one screen: the three days on the left, and on the right the hours where Tatl sets the alarm, the character/event card and the buttons.
- Controller buttons, as in Project Restoration (and as the Omni UI prompts show). Xbox names: X = Schedule/Events, Y = set the alarm (D-pad to pick the time, A to confirm), Back = show the event's place on the map, B = return.
- Fixed a crash when opening an event's map.
- Fixed the one-frame glitch when moving between characters.
Translation
- 27 game functions that are only reached through pointers (callbacks and C++ virtual functions) were missing from the translation. One of them caused the map crash. All are included now, found by scanning the whole game code instead of waiting for crashes.
HD texture packs
- Textures are decoded on all CPU cores. A new area waits a moment and appears with its HD textures, instead of showing the low-resolution ones for about half a second (F1 → Textures → Wait for custom textures).
- New Texture memory setting and Preload custom textures option. With enough RAM (the 4K pack needs about 6.5 GB), the whole pack is decoded in the background and areas appear without any wait.
Other
- Link's roll dust no longer turns into squares outside normal gameplay (cutscenes, test warps).
- Linux:
./Setup.shpasses options through (--no-shader-tour,--jobs N).
As before: no Nintendo code or data is included. Setup builds everything from your own decrypted USA v1.1 ROM.
MM3D PC v0.1.0
First build. A personal project shared so others can pick it up: performance may be bad for now, and I may not keep working on it. No game data inside: you need your own decrypted Majora's Mask 3D (USA v1.1) .3ds/.cci.
Windows: extract MM3D-PC-Windows.zip to a short folder (e.g. C:\Games\MM3D), put the ROM in it, run Setup.bat once (10–40 min), then Play.bat.
Linux: extract MM3D-PC-Linux.tar.xz, put the ROM in it, run ./Setup.sh once, then ./Play.sh.
Problems? Attach the logs folder (setup.log, setup_download.log, last_run.log).