Repository navigation
Releases
Ocarina of Time 3D Recompiled for Switch - 0.2.2
Fourth public release of the English Switch fork, from commit 727684f1c2. Update in the game (L3+R3 → Updates → Check for updates) or copy the files from the zip.
This is GustavoHenriqueRocha/TriAevum-Switch's Switch port of
coccofresco/TriAevum (deko3d renderer), translated into English and extended.
What's new since 0.2.1
Translations made for the American 3DS game
With 0.2.1, a 3DS translation made for the American version of the game (for example the Brazilian Portuguese one)
stopped the game with an error right after "Applying the mods...". It works now:
- Text: the port always runs the European version of the game, which reads its text from the European language
slots. A translation's American text file is now converted to them, as the port already does with the game's own
American text. - Menus: the translation's menu images (file select, pause menu pages) now show. 0.2.1 put them in the American
menu folders, which the European game never reads. - Keep the game on the language the translation replaces (its readme says which; English for the Portuguese one):
L3+R3 → Game → Language, then close the game and start it again. - The first start after updating applies your mods again, which takes a moment.
Recommended settings
- Resolution at 60 FPS Dynamic (the default). With Full, some big rooms drop below 60 at stock clocks.
Known issues
- Mods: a mod's new materials can draw a little slower until their shaders are added to the shader pack; send
logs/deko3d_shaders/after playing with a mod. Save states made with other mods (or none) don't load. - Translations: if a translation replaces
menu_top_parts00in itsmenufolders, the single-screen HUD can
lose its button frames and D-pad cross; leave those files out of the mod folder. - Busiest moments in Kokiri Forest: cutting many bushes with enemies nearby can still dip below 60.
- Closing the game returns to the HOME menu, not to hbmenu.
- After an update: the game can't restart itself. Choose Close game and start it again.
- Tested on a Switch Lite in handheld mode.
Updating
In the game: L3+R3 > Updates > Check for updates > Download and install, then Close game and start it again.
Saves, settings and your game files are kept. The previous version stays on the SD card as
switch/oot3dre/oot3d_native_game.nro.old: rename it back to oot3d_native_game.nro to roll back.
Updating by hand: copy the files over your install, keeping config/, savedata/, savedata-backups/, mods/ and
game/. Copy files, not the whole oot3dre folder: replacing the folder would delete your saves and backups.
First install
- Extract
oot3dre-0.2.2-switch.zipto the root of the SD card (it createsswitch/oot3dre/).
Only for a first install: copying it over an existing one replaces your settings inconfig/. - Copy a decrypted dump of your own Ocarina of Time 3D cartridge (
.3dsor.cci) into
switch/oot3dre/. Supported: USA Rev 1 (En, Fr, Es) and European (original or Rev 1). GodMode9 on a
modded 3DS can dump and decrypt a cartridge. eShop copies (.cia) are not supported. - Start the game with a game's memory (hold R while starting a game, then pick it in the
homebrew menu). Applet mode does not have enough memory. The first start imports your dump, then
asks whether to keep (A) or delete (Y) it. - Next, the HUD art screen: A downloads it (internet needed, 56 MB), B asks again next time, X never.
Optional HD textures and mods: see the README.
Credits
All credit for the recompilation, runtime and renderer goes to coccofresco's TriAevum (Echoes of Time)
and to GustavoHenriqueRocha's Switch port, and to the projects they credit: TopScreen (Single Screen Experience by M-1),
Azahar, Ship of Harkinian, libultraship, devkitPro, libnx, deko3d and SDL.
- From GustavoHenriqueRocha's port: the safer saves and the lighting-table skip.
- From coccofresco's TriAevum: the HUD fixes, Roll Dash (from Single Screen Experience 3.0/3.1) and the RomFS mods
overlay. - Followed from other projects: the 2 MB code pages, the PGO setup and the inlining limits follow sa2-nx and nfsmw-nx. The GPU clock request follows masseffect-nx's findings.
- Adapted: the toon and per-pixel lighting adapt TriAevum's PC shaders. The draw distance rule follows Ship of Harkinian's.
- Texture pack: the optional pack is HenrikoMagnifico's.
Ocarina of Time 3D is by Nintendo and Grezzo.
Licensed GPL-3.0-or-later; the source is this repository at the release's tag, and the notices for every
third-party library are in switch/oot3dre/licenses/.
This release contains the runtime and the translated title code only: no ROM, no
code.bin, ExHeader or RomFS, no extracted assets, no mod files or anything built from them, no keys
and no saves. Check downloads against SHA256SUMS.txt.
Ocarina of Time 3D Recompiled for Switch - 0.2.1
Third public release of the English Switch fork, from commit 2ff6c5c73a. Update in the game (L3+R3 → Updates → Check for updates) or copy the files from the zip.
This is GustavoHenriqueRocha/TriAevum-Switch's Switch port of
coccofresco/TriAevum (deko3d renderer), translated into English and extended.
What's new since 0.2.0
Mods: Link models, other game files and translations
3DS mods that replace the game's files now work. The port includes and downloads no mods; get them from their pages.
Adding a mod:
- Download the mod and extract it on a PC.
- Find its
romfsfolder. For 3DS consoles it is usually inluma/titles/<title id>/romfs, for emulators in
load/mods/<title id>/romfs. If the mod has a folder per region, take your game's region. - Copy that
romfsfolder into a folder of its own underswitch/oot3dre/mods/on the SD card, e.g.
switch/oot3dre/mods/vanilla_plus_link/romfs/for the
Vanilla+ Link remodel. There must be exactly one folder betweenmods/and
romfs/. - Start the game. The first start with a new or changed mod takes a moment.
logs/oot3d_native_game.loglists
the files that were applied, and anything ignored with the reason.
- Several mods: they apply in folder name order; when two replace the same file, the later folder wins. Keep
one Link model at a time. - Turn mods off: L3+R3 → Game → Gameplay → Mods (RomFS). It applies at the next start.
- Translations (language mods): a 3DS translation that replaces the game's text files installs the same way.
It takes the place of one of the game's own languages (its readme says which): choose that language in
L3+R3 → Game → Language, then close the game and start it again. - Texture-only mods (PNG files for Citra/Azahar) are texture packs: they go in
switch/oot3dre/textures/instead. - N64 models (ModLoader64
.pak, e.g. TP Link): convert them with
Ocarina ReTuned's PAK Importer on a PC,
then copy itsconverted.zarinto a mod folder. The
README
has the steps. - What doesn't work: code patches (
code.ips, anexefsfolder), mods that add files the game doesn't have,
and Luma plugins (.3gx). These are skipped and the log says why.
Gameplay
- Roll dash (L3+R3 → Game → Gameplay, off by default; issue #6): keep A held after a roll and Link dashes, as in
Single Screen Experience. Ported from upstream TriAevum. It uses Link's dash animations from the Single Screen
Experience download: if you installed 0.2.0, the next start after turning it on offers that download again. - Free camera smoothing (L3+R3 → Controls → Camera → Free camera → Smoothing; issue #7): off stops the camera as
soon as you release the right stick.
Looks and speed
- Draw distance: Farther and Maximum draw more far-away objects at once (48 and 64 instead of 32), so the Kokiri
Forest bushes no longer wait until you're close. - Fewer slowdowns from effects: some glowing effects and a boss's attacks dropped the frame rate because 22
shaders were missing from the shader pack. They're in it now. - Per-pixel lighting: a draw still waiting for its shader keeps the game's own lighting instead of the slower
per-pixel path. - Pause menu at 60 FPS: the single-screen pause pages now animate at the game's own pace, as on the 3DS, instead
of mixing 60 and 30 FPS motion and stuttering as they open. The FPS counter shows about 30 while a page is open;
1inconfig/interp_menubrings back the old behaviour. - Save and Quit: no piece of the previous page's button at the left edge any more.
- Shaders: two more that the console asked for in a session with the Vanilla+ Link mod are in the pack.
- HD texture size: with HD textures off, the size menu already lists only the sizes your pack has (from the
last time the game measured it), instead of every size until HD textures are turned on.
Logs
- How the game was started:
boot-status.txtnow records the loader, the launch mode and the arguments before
anything else, and launch arguments the game doesn't understand show an error instead of closing it (issue #5,
forwarders).
Recommended settings
- Resolution at 60 FPS Dynamic (the default). With Full, some big rooms drop below 60 at stock clocks.
Known issues
- Mods: a mod's new materials can draw a little slower until their shaders are added to the shader pack; send
logs/deko3d_shaders/after playing with a mod. Save states made with other mods (or none) don't load. - Translations: if a translation replaces
menu_top_parts00in itsmenufolders, the single-screen HUD can
lose its button frames and D-pad cross; leave those files out of the mod folder. - Busiest moments in Kokiri Forest: cutting many bushes with enemies nearby can still dip below 60.
- Closing the game returns to the HOME menu, not to hbmenu.
- After an update: the game can't restart itself. Choose Close game and start it again.
- Tested on a Switch Lite in handheld mode.
Updating
In the game: L3+R3 > Updates > Check for updates > Download and install, then Close game and start it again.
Saves, settings and your game files are kept. The previous version stays on the SD card as
switch/oot3dre/oot3d_native_game.nro.old: rename it back to oot3d_native_game.nro to roll back.
Updating by hand: copy the files over your install, keeping config/, savedata/, savedata-backups/, mods/ and
game/. Copy files, not the whole oot3dre folder: replacing the folder would delete your saves and backups.
First install
- Extract
oot3dre-0.2.1-switch.zipto the root of the SD card (it createsswitch/oot3dre/).
Only for a first install: copying it over an existing one replaces your settings inconfig/. - Copy a decrypted dump of your own Ocarina of Time 3D cartridge (
.3dsor.cci) into
switch/oot3dre/. Supported: USA Rev 1 (En, Fr, Es) and European (original or Rev 1). GodMode9 on a
modded 3DS can dump and decrypt a cartridge. eShop copies (.cia) are not supported. - Start the game with a game's memory (hold R while starting a game, then pick it in the
homebrew menu). Applet mode does not have enough memory. The first start imports your dump, then
asks whether to keep (A) or delete (Y) it. - Next, the HUD art screen: A downloads it (internet needed, 56 MB), B asks again next time, X never.
Optional HD textures: see the README.
Credits
All credit for the recompilation, runtime and renderer goes to coccofresco's TriAevum (Echoes of Time)
and to GustavoHenriqueRocha's Switch port, and to the projects they credit: TopScreen (Single Screen Experience by M-1),
Azahar, Ship of Harkinian, libultraship, devkitPro, libnx, deko3d and SDL.
- From GustavoHenriqueRocha's port: the safer saves and the lighting-table skip.
- From coccofresco's TriAevum: the HUD fixes, Roll Dash (from Single Screen Experience 3.0/3.1) and the RomFS mods
overlay. - Followed from other projects: the 2 MB code pages, the PGO setup and the inlining limits follow sa2-nx and nfsmw-nx. The GPU clock request follows masseffect-nx's findings.
- Adapted: the toon and per-pixel lighting adapt TriAevum's PC shaders. The draw distance rule follows Ship of Harkinian's.
- Texture pack: the optional pack is HenrikoMagnifico's.
Ocarina of Time 3D is by Nintendo and Grezzo.
Licensed GPL-3.0-or-later; the source is this repository at the release's tag, and the notices for every
third-party library are in switch/oot3dre/licenses/.
This release contains the runtime and the translated title code only: no ROM, no
code.bin, ExHeader or RomFS, no extracted assets, no mod files or anything built from them, no keys
and no saves. Check downloads against SHA256SUMS.txt.
Ocarina of Time 3D Recompiled for Switch - 0.2.0
Second public release of the English Switch fork, from commit 33f53633b2. Update in the game (L3+R3 → Updates → Check for updates) or copy the files from the zip.
This is GustavoHenriqueRocha/TriAevum-Switch's Switch port of
coccofresco/TriAevum (deko3d renderer), translated into English and extended.
What's new since 0.1.0
Faster
- Game code: compiled with a profile of real play (PGO), with fewer checks between code blocks and cheaper constant loads. It runs from 2 MB memory pages with a faster memory window, and five hot game loops are rewritten natively.
- Graphics work on the main thread: the command-list walk, vertex and texture capture and HUD submission are all cheaper.
- Sound mixing runs on its own core and no longer blocks the game.
- Performance mode (L3+R3 → Video, off by default):
- Clocks: sets the CPU to 1224 MHz, the GPU to 460.8 MHz and the memory to 1600 MHz. Each also has its own row, and the mode reads "Custom" when they differ.
- Effect: the busiest spot in Kokiri Forest runs at about 53–60 FPS with it, against about 40 without.
- Which clocks are official: GPU and memory High are official Nintendo handheld settings. CPU High is above the clock Nintendo uses for games.
- Battery: it uses more.
- HOME, sleep and exit: the CPU goes back to normal, and is set again when you return. sys-clk still takes precedence.
- 60 FPS:
- 30/60 FPS switches at once.
- Resolution at 60 FPS is Dynamic (default) or Full.
- The frame rate gets back to 60 sooner after entering an area or leaving a heavy view.
- The FPS overlay counts real frames.
- The small stutter every 10 seconds is gone.
Looks
- HUD in HD: the TopScreen mod's full HD art, with no pop-in.
- The Restoration HUD is laid out like the controller, and button labels sit above the item icons.
- The pause menu tabs are in HD from the first frame.
- HUD fixes from upstream TriAevum: the A button's size and text, the B icon above its circle, D-pad dimming, and the HUD hidden during cutscenes.
- Grass (L3+R3 → Video → Grass, off by default): animated grass.
- Grass detail: levels.
- Grass distance: Near, or Whole area for distant slopes in open fields.
- It no longer grows in around Link.
- It's ready when you enter an area.
- It's drawn under the HUD, so it no longer covers the minimap or the area name.
- Lighting: Toon and Per-pixel (Modern model) options, flicker fixes, and floors that no longer shimmer.
- Draw distance (L3+R3 → Video): Original, Far, Farther or Maximum. Trees, signs and enemies far away are drawn instead of popping in when you get closer. It costs some CPU time in Kokiri Forest. Mido and the Kokiri still fade in by distance: the same fade decides when you can target them, so it stays as in the original game.
- HD texture packs:
- Turning them on or off, or changing the size, applies at once without a stutter.
- The size menu offers only the sizes your pack has.
- Menu textures are in HD.
- Less pop-in.
- Picture: sharper at 60 FPS, and the top screen is drawn at the number of lines it shows.
Safer
- Saves (from GustavoHenriqueRocha's port):
- Writing: each save is written to a temporary copy and replaces the old file only once complete.
- Backups: before the first save of each session, the previous save is copied to
switch/oot3dre/savedata-backups/<date-time>/. The last 20 sessions are kept. To restore one, copy a file from a backup folder back intosavedata/.
- Settings save correctly: the "Cannot replace … File exists" error is gone.
- File select: erasing a file no longer closes the game.
- Updates: the in-game updater never touches saves or backups.
Logs
- Slow frames:
logs/perf.txtandlogs/hitches.txtname the area of every slow frame. - Game log: the start-up and clock lines reach
logs/oot3d_native_game.log. - Actor profile: create an empty
config/actor_profileto see which enemies and characters cost the most. - Draw distance: the setting and how many far-away objects were drawn are logged.
Recommended settings
- 60 FPS, Resolution at 60 FPS Dynamic, Grass detail Levels.
- Performance mode for the busiest areas, if you don't mind the battery use.
- With Resolution Full, turn on GPU High (or Performance mode), or heavy views drop to 30.
Known issues
- Busiest moments in Kokiri Forest: cutting many bushes with enemies nearby can still dip below 60, even with Performance mode.
- Possible Prelude of Light bug: reported in GustavoHenriqueRocha's port. After the Prelude of Light lesson, the HUD may disappear and the pause menu may not open. Not seen in this fork yet; if it happens, don't save, and send the logs.
- Crashes at start, after a save state or when changing areas: put
offinconfig/fastmem_windowand send the logs. - Closing the game returns to the HOME menu, not to hbmenu.
- Touch and gyro: the minimap can't be tapped. A single Joy-Con held sideways has no gyro.
- After an update: the game can't restart itself. Choose Close game and start it again.
- Tested on a Switch Lite in handheld mode.
Updating
In the game: L3+R3 > Updates > Check for updates > Download and install, then Close game and start it again.
Saves, settings and your game files are kept. The previous version stays on the SD card as
switch/oot3dre/oot3d_native_game.nro.old: rename it back to oot3d_native_game.nro to roll back.
Updating by hand: copy the files over your install, keeping config/, savedata/, savedata-backups/ and
game/. Copy files, not the whole oot3dre folder: replacing the folder would delete your saves and backups.
First install
- Extract
oot3dre-0.2.0-switch.zipto the root of the SD card (it createsswitch/oot3dre/).
Only for a first install: copying it over an existing one replaces your settings inconfig/. - Copy a decrypted dump of your own Ocarina of Time 3D cartridge (
.3dsor.cci) into
switch/oot3dre/. Supported: USA Rev 1 (En, Fr, Es) and European (original or Rev 1). GodMode9 on a
modded 3DS can dump and decrypt a cartridge. eShop copies (.cia) are not supported. - Start the game with a game's memory (hold R while starting a game, then pick it in the
homebrew menu). Applet mode does not have enough memory. The first start imports your dump, then
asks whether to keep (A) or delete (Y) it. - Next, the HUD art screen: A downloads it (internet needed, 56 MB), B asks again next time, X never.
Optional HD textures: see the README.
Credits
All credit for the recompilation, runtime and renderer goes to coccofresco's TriAevum (Echoes of Time)
and to GustavoHenriqueRocha's Switch port, and to the projects they credit: TopScreen (Single Screen Experience by M-1),
Azahar, Ship of Harkinian, libultraship, devkitPro, libnx, deko3d and SDL.
- From GustavoHenriqueRocha's port: the safer saves and the lighting-table skip.
- From coccofresco's TriAevum: the HUD fixes.
- Followed from other projects: the 2 MB code pages, the PGO setup and the inlining limits follow sa2-nx and nfsmw-nx. The GPU clock request follows masseffect-nx's findings.
- Adapted: the toon and per-pixel lighting adapt TriAevum's PC shaders. The draw distance rule follows Ship of Harkinian's.
- Texture pack: the optional pack is HenrikoMagnifico's.
Ocarina of Time 3D is by Nintendo and Grezzo.
Licensed GPL-3.0-or-later; the source is this repository at the release's tag, and the notices for every
third-party library are in switch/oot3dre/licenses/.
This release contains the runtime and the translated title code only: no ROM, no
code.bin, ExHeader or RomFS, no extracted assets, no mod files or anything built from them, no keys
and no saves. Check downloads against SHA256SUMS.txt.
Ocarina of Time 3D Recompiled for Switch - 0.1.0
First EXPERIMENTAL release of the English Switch fork, from commit 9694b6e9d2.
This is GustavoHenriqueRocha/TriAevum-Switch's Switch port of
coccofresco/TriAevum (deko3d renderer), translated into English and extended.
What's new
- English: the port's menus, messages, logs and documentation are in English. The original Brazilian
Portuguese documents are kept next to the English ones as.pt-BR.md. - Your own dump, no PC tools: put a decrypted
.3dsor.cciof your cartridge inswitch/oot3dre/
and the first start turns it into the game files (about a minute on a Switch Lite). - Single-screen HUD art, downloaded on the console: the first start offers to download the TopScreen
mod (Single Screen Experience by M-1, 56 MB) from GameBanana and
builds the HUD art, its HD version and an HD text font from your game files. Its license allows
downloading and installing it but not sharing it, so it is not in this zip. Without it the game runs
with the game's own HUD art. - HD texture packs: HenrikoMagnifico's Ocarina of Time 3D texture pack works, HUD included; turn it
on and off at any time in L3+R3 → Video → HD textures. A PC script shrinks the 1.9 GB 1080p pack to
about 350 MB at the sizes the Switch draws. Step-by-step instructions are in the
README. - Two HUD layouts: Normal, or Restoration (Project Restoration style: ZR+X and ZR+Y use Items I and
II), in L3+R3 → HUD. - Gyro aiming with the console, a Pro Controller or a pair of Joy-Cons, together with the right stick.
Calibration and axis inversion are in L3+R3 → Controls. - Touchscreen: tap the on-screen item buttons, X/Y, B and the D-pad icons (Navi, ocarina, boots);
tap items in the inventory and keys on file select and name entry; drag a finger on empty screen to
aim (L3+R3 → Controls → Aiming to turn it off or change its speed); the L3+R3 menu works by touch,
including its close button. - Performance overlay: fps, slowest frame, game speed and CPU/GPU/memory clocks (L3+R3 → Video).
Clocks come from sys-clk when it runs, otherwise they are the console's stock values. - In-game updates: L3+R3 → Updates, with a Stable and a Test channel.
- Exit game in the L3+R3 menu. If the game ever stops on an error, it shows the reason and closes
normally.
Known issues
- At stock clocks lighter areas run at full speed but busy ones slow down: the CPU is the limit.
A higher CPU clock with sys-clk helps. HD textures add some GPU load. - The minimap can't be tapped.
- A single Joy-Con held sideways has no gyro.
- After installing an update, the game can't restart itself: choose Close game and start it again.
- Tested on a Switch Lite in handheld mode.
Updating
In the game: L3+R3 > Updates > Check for updates > Download and install, then Close game and start it again.
Saves, settings and your game files are kept. The previous version stays on the SD card as
switch/oot3dre/oot3d_native_game.nro.old: rename it back to oot3d_native_game.nro to roll back.
First install
- Extract
oot3dre-0.1.0-switch.zipto the root of the SD card (it createsswitch/oot3dre/).
Only for a first install: copying it over an existing one replaces your settings inconfig/. - Copy a decrypted dump of your own Ocarina of Time 3D cartridge (
.3dsor.cci) into
switch/oot3dre/. Supported: USA Rev 1 (En, Fr, Es) and European (original or Rev 1). GodMode9 on a
modded 3DS can dump and decrypt a cartridge. eShop copies (.cia) are not supported. - Start the game with a game's memory (hold R while starting a game, then pick it in the
homebrew menu). Applet mode does not have enough memory. The first start imports your dump, then
asks whether to keep (A) or delete (Y) it. - Next, the HUD art screen: A downloads it (internet needed, 56 MB), B asks again next time, X never.
L3+R3 → Updates → HUD textures brings the offer back.
Defaults: 60 fps interpolation (delete config/fps60 for 30 fps) and Master Quest unlocked from the
start (delete config/unlock_master_quest).
Credits
All credit for the recompilation, runtime and renderer goes to coccofresco's TriAevum (Echoes of Time)
and to GustavoHenriqueRocha's Switch port, and to the projects they credit: TopScreen (Single Screen Experience by M-1),
Azahar, Ship of Harkinian, libultraship, devkitPro, libnx, deko3d and SDL. The optional texture pack is
HenrikoMagnifico's. Ocarina of Time 3D is by Nintendo and Grezzo. Licensed GPL-3.0-or-later; the source
is this repository at the release's tag, and the notices are in switch/oot3dre/licenses/.
This release contains the runtime and the translated title code only: no ROM, no
code.bin, ExHeader or RomFS, no extracted assets, no mod files or anything built from them, no keys
and no saves. Check downloads against SHA256SUMS.txt.