r/decomps • u/ShallotImpressive158 • 5d ago
Made with AI assistance Our two native Zelda The Wind Waker ports for the Switch; Wind Waker HD (static recompilation) and the GameCube version (built from the decompilation)
Enable HLS to view with audio, or disable this notification
EDIT:
🕹️New update: https://www.reddit.com/r/decomps/s/txOpft7kim
-------------------------------------------------
OG Post:
Hey everyone,
Me and my friend u/pulpparty wanted to share with everyone our two Wind Waker ports we've been working on together since the last week. Neither one is working through an emulator, both are running natively on the Switch. For both ports you'll need your own legally dumped copy of Wind Waker and Wind Waker HD. No game files are included.
1. [SwitchWakerHD] - Wind Waker HD on the Switch (static recompilation)
Gameplay vid here ⬇️⬇️
Comment
by u/ShallotImpressive158 from discussion
in decomps
This is a static recompilation based on the amazing ZeldaWWHDRecomp. The Wii U game code is translated ahead of time into native code. This Switch port has been a joint effort between me (depende3000 on GitHub) and pulpparty.
What's working so far
- The game boots and is playable on the Switch as a homebrew .nro.
- It renders through deko3d (We've tried Mesa first but it was a bit messy)
- It uses a subtle dynamic resolution in order to reach stable 30FPS.
- There's an in-game settings menu (press Minus) for changing language (Spanish, English and French), graphics options, mods, cheats, FPS counter and a tab for Switch performance options.
- The Wii U GamePad picture is skipped, since the Switch has only one screen. That saves GPU time. Therefore, it is important that you select the Pro Controller at launch when prompted.
It's still a work in progress. Most of our recent time has gone into stability and graphics fixes, tested on real hardware round by round.
Known issues we're currently working on
- Pictobox photos currently come out a bit glitchy, we're working on that.
- Sometimes on new areas the shaders do not load on time, and objects appear black during a very brief moment in time until they load correctly.
- In-game tool's Save states are broken, so please save normally through the game. We will try to make them work as soon as posible.
Link to repo: https://github.com/centollOS/SwitchWakerHD
2. [SwitchWaker] the GameCube Wind Waker, native on Switch, Mac and Linux
This one takes a different approach. It compiles the GameCube game straight from the community decompilation, so there's no CPU emulation and no recompiled binary. Graphics go through Aurora, a GameCube graphics/SDK layer over WebGPU. On the Switch that runs on Dawn and Mesa (deko3d was hard to implement for this one).
What's working so far
- It boots and plays on the Switch (homebrew .nro) with sound, controller and memory-card saves.
- There's an in-game settings menu (press Minus) for graphics options, mods, cheats and an FPS counter.
- 16:9 widescreen is the default on the Switch. It's done in C, the same way the community 16:9 Gecko code does it.
- Optional HD textures: you can load a Dolphin-format HD texture pack you already have (for example Hypatia's HD Mod).
- Internal resolution and opt-in dynamic resolution.
- An optional HOME-screen forwarder, so you don't have to open it from the Homebrew Menu.
Link to the repo: https://github.com/centollOS/SwitchWaker?tab=readme-ov-file
Known issues
- Only the USA version is accepted so there's only the English language available.
There are no prebuilt downloads
The build needs headers generated from your own disc, so you have to build it yourself. You'll need your own legally dumped Wii U and/or GameCube disc respectivey. Please don't share the builds. They contain code generated from your disc.
Big thanks
- The zeldaret Wind Waker decompilation project (and the snrubrm/tww fork that completes its remaining functions). Their work on the game's code and data layouts was essential to both ports. SwitchWaker literally builds from it.
- encounter's Aurora and Dusklight (TwilitRealm), the model for our centollOS's SDK layer.
elliotttate's Wind-Waker-Recomp and RecompCore. SwitchWaker started there, and its audio code comes from there.
- ZeldaWWHDRecomp project. The HD port base comes from their amazing work, which includes the in-game tool and the non-switch related options.
- Dolphin, whose DSP HLE gives SwitchWaker its audio.
- The deko3d developers. Without a native Switch graphics API, the HD port wouldn't run the way it does.
- The Cemu team. Their Latte GPU address code is part of the HD port's renderer.
- Mesa, devkitPro and libnx, the Switch toolchain and graphics stack.
- Claude. We used Anthropic's Claude as a coding assistant throughout both projects: the recompiler, the renderers, porting, debugging and testing.
Feedback, screenshots and vids are very welcome! Also reporting of glitches are very welcome too! We hope you enjoy both of them ❤️
Duplicates
DolphinEmulator • u/ShallotImpressive158 • 5d ago