Skip to content

Releases: SSunnKing/ZeldaWWHDRecompAndroid---ENHANCED

v1.3.1 Enhanced — Performance at high resolutions restored

Choose a tag to compare

@SSunnKing SSunnKing released this 09 Oct 19:21

v1.3.1 Enhanced — Performance at high resolutions restored

A fix for the frame rate drop some of you saw in v1.3 at internal resolutions above 1x (for example
60 → 54 fps on an Adreno 830 and 30 → 21 fps on an Adreno 725 at 3x).

The APK contains no game files, no game code and no keys. It installs over any earlier version
and keeps your saves and settings.

Fixes

  • Frame rate drop at 2x and 3x resolution. v1.3 made the game's blur of shadows, ambient
    occlusion and bloom match the console at higher resolutions, which removes a fine grid around
    everything standing on the ground. It read up to 9 times more texels at 3x, and that cost a lot of
    GPU time. It is now off by default, so performance is back to v1.2's.

New setting

  • Console-accurate blur (Options → Graphics, off by default): turns that blur back on, if your
    device has GPU time to spare at your resolution. It now takes 4 reads per tap at 2x to 4x instead of
    up to 16, so it costs much less than in v1.3. It applies at once; at 1x it changes nothing.

Everything else is as in v1.3: see the v1.3 notes.

Installing

Install the APK over v1.0, v1.1, v1.2 or v1.3. Requirements: Android 11 or newer, 64-bit ARM,
Vulkan 1.1, about 2 GB of free storage and memory.

If the app crashes, share the log it offers at the next start (or from About) with your report.

v1.3 Enhanced — Picto Box fixed, fast forward, .wua archives, crash reports from the app, smoother 60 fps

Choose a tag to compare

@SSunnKing SSunnKing released this 09 Oct 16:51

v1.3 Enhanced — Picto Box fixed, fast forward, .wua archives, crash reports from the app, smoother 60 fps

An update to the Enhanced fork of the Android port of The Legend of Zelda: The Wind Waker HD. It
brings in upstream Android port v0.6 and v0.7 and a set of fixes from the original ZeldaWWHDRecomp
project.

The APK contains no game files, no game code and no keys. It installs over v1.0, v1.1 or v1.2
and keeps your saves and settings. After updating, the first start compiles the game code on your
device again (a few minutes, once).

Highlights

  • Picto Box pictures are no longer black. The pictures the game saves and shows in the Picto
    Box now hold the actual picture.
  • Fast forward cutscenes and dialogues (new). Options → Mods → Fast forward cutscenes /
    dialogues
    : hold ZR (R2) during a cutscene or a conversation and it plays up to 4× as fast, as
    fast as your device can draw it. Every frame is still played, so nothing is skipped; text boxes
    still wait for your button. Each one is switched on separately.
  • Cemu .wua archives as a game source (new). Put your .wua file in the folder you choose
    and the app extracts the game from it, with no keys needed.
  • Crash reports from the app. After a crash, the next start offers the log in Android's share
    menu; About shares the latest logs. They now include the GPU, driver, settings and the game
    function that crashed, and game halts write a log too. No personal data.
  • Bloom strength (new). Options → Graphics → Bloom strength: from Off to 200%; 100% is the
    original game.

Smoother 60 fps (from the original project)

  • Flags and sails no longer turn into stretched polygons in the in-between frames (the Rito
    flags on Dragon Roost Island).
  • No more one-frame jumps of carried and attached things: items in Link's hand, a carried bomb,
    the boat's sail and yard.
  • Night-sky stars stay put while the camera turns, instead of jittering against the sky.
  • Menus and screen fades run at their normal speed, and the pause menu always closes.

Fixes

  • Medli missing from Dragon Roost Island or the Earth Temple after using the sword cheat: the
    cheat now equips the Master Sword and Mirror Shield without changing your story progress. A save
    already affected can be repaired on a PC with tools/savegame/wwsave.py repair-medli.
  • Crash in Tingle's jail on Windfall with quick doors (Mods → Quick doors).
  • Random black shadows for a whole session on some launches: the lighting buffer could end
    up with a level that was never drawn.
  • A fine grid around everything on the ground at internal resolutions above 1x: the game's blur
    of shadows, ambient occlusion and bloom now covers the same area as on the console.
  • Shader inputs the vertex shader doesn't write now get the value the console's GPU gives them,
    instead of undefined values.
  • Copies of depth surfaces at different resolution no longer use a GPU operation Adreno doesn't
    support for those formats.

Installing

Install the APK over v1.0, v1.1 or v1.2. New installs: see the v1.0 notes (disc image, disc key
and common.key in one folder, then Extract from your disc image…), or choose a folder with your
.wua archive.

Requirements: Android 11 or newer, 64-bit ARM, Vulkan 1.1, about 2 GB of free storage and memory.
40 fps needs a screen with a 120 Hz mode (the option only shows there).

If the app crashes, share the log it offers at the next start (or from About) with your report.

v1.2 Enhanced — Hybrid touch layout, sun flare & haze, Japanese version, pause & 40 fps menu fixes

Choose a tag to compare

@SSunnKing SSunnKing released this 08 Oct 06:53

v1.2 Enhanced — Hybrid touch layout, sun flare & haze, Japanese version, pause & 40 fps menu fixes

An update to the Enhanced fork of the Android port of The Legend of Zelda: The Wind Waker HD,
focused on playing on a single touch screen: the GamePad's touch menus now come up full screen
when you need them, and the pause and menu bugs some of you hit are fixed.

The APK contains no game files, no game code and no keys. It installs over v1.0 or v1.1 and keeps your
saves and settings. After updating, the first start compiles the game code on your device again
(a few minutes, once).

Highlights

  • Hybrid layout (new). Options → Layout → Hybrid: the TV picture full screen while you play,
    and the GamePad's screen full screen whenever a menu is open or you're outside the game (title,
    file select). Items, map, sea chart and save menus work by touch on a single screen; you're back
    on the TV picture as soon as the menu closes. While the GamePad's screen is up, only A, B and
    pause stay on screen, so the rest of the screen is free for the menu.
  • The game's controller select now sets up the app. Pick Wii U GamePad or Wii U Pro
    Controller
    on the game's "Controller select" screen and the app's controls switch to match:
    no more "connect a Pro Controller" wait, and no more touch controls driving the wrong controller.
  • Pro Controller means TV only. With the Pro Controller the app shows the TV picture only (the
    GamePad's screen is set aside in that mode anyway). Back on the GamePad, your own layout returns.

Fixes

  • Pause sometimes didn't open, or the pause menu wouldn't close. Quick taps on the touch
    buttons (shorter than one game frame) could get lost; every tap now reaches the game.
  • Error sound and a stuck pause menu in Pro Controller mode. Touches on the GamePad's picture
    reached the game, which refuses touch in that mode (error sound) and could get stuck in its menu.
    In Pro Controller mode the game no longer receives GamePad touches.
  • 40 fps: menus stuck half closed. At 40 fps the GamePad's menu could freeze in the middle of
    its closing animation (GamePad screen half dimmed, every menu refused with the error sound), also
    on the way from the file select into the game. Menus, the title and the file select now run at an
    exact 30 fps in 40 fps mode, for a moment after they close too; gameplay stays at 40.
  • No sound after moving the game to the GamePad. The game's audio for the GamePad's speaker
    wasn't played, so off-TV play ("Currently playing on TV" → move to GamePad) went silent. It now
    plays through your device.

Graphics and game versions (from upstream v0.5)

  • Sun corona and lens flare are back. The game checks whether the sun is hidden by reading the
    depth buffer; it now reads the GPU's, so the glare and flare show up as on the console.
  • Distance haze and bloom. Render targets get a proper mip chain, so the haze over the sea and
    the bloom look right; this also removes the black lines some of you saw in shadows.
  • Japanese version supported, besides the USA and European ones.
  • The second Vulkan recording thread is now used only with the Qualcomm driver (it was slower and
    flickered on Turnip). WWHD_RECORD_THREAD still overrides it.

Stability (from the original ZeldaWWHDRecomp project)

  • Fixed an intermittent crash at boot. A surface copy could land in memory the game had already
    freed and reused when the renderer was running late; the copy now finishes before the game
    continues.
  • Plain char is now signed on ARM64, as on the PC and Mac builds the game code is tested on.
  • A safety check no longer reads back uncached GPU upload memory (very slow on some drivers).

Smoother setup

  • First start on a touch-only device: with no controller attached, the app starts with GamePad
    controls and the hybrid layout.
  • Controller disconnected: the touch controls come back on their own, and gyro and rumble move
    back to your device.

Installing

Install the APK over v1.0 or v1.1. New installs: see the v1.0 notes (disc image, disc key and
common.key in one folder, then Extract from your disc image…).

Requirements: Android 11 or newer, 64-bit ARM, Vulkan 1.1, about 2 GB of free storage and memory.
40 fps needs a screen with a 120 Hz mode (the option only shows there).

If the app crashes, please attach captures/crash-YYYYMMDD-HHMMSS.log from the app's folder
(Android/data/org.wwhdrecomp.app/files/) to your report.

v1.0 Enhanced — Native widescreen, fixed shadows, 40 fps, pinch-to-zoom, phone touch controls & faster renderer

Choose a tag to compare

@SSunnKing SSunnKing released this 07 Oct 07:24

v1.0 Enhanced — Native widescreen, fixed shadows, 40 fps, pinch-to-zoom, phone touch controls & faster renderer

The first release of the Enhanced fork of the Android port: The Legend of Zelda: The Wind Waker HD
(Wii U, USA/EUR) recompiled to native ARM with its graphics on Vulkan, now with native widescreen,
fixed shadows, a 40 fps mode, pinch-to-zoom and touch controls made for a phone.

The APK contains no game files, no game code and no keys. You need your own Wii U disc image
(.wud/.wux) with its keys; the app extracts it and compiles the game code on your device on the
first start (about 5 minutes, once).

Highlights

  • Native widescreen. The game renders at your screen's shape (20:9, 21:9...) instead of
    stretching 16:9: more to see at the sides with the same vertical view, culling that follows,
    and a HUD that keeps its proportions with hearts, rupees and buttons at the screen edges.
    Options → Widescreen, switchable while playing.
  • Shadows fixed. No more flicker between the near (detailed) and far (basic) shading when the
    camera moves, and no more grid / moiré on sand and other ground.
  • 40 fps on 120 Hz screens. A frame every 3 refreshes, evenly paced, with the camera and every
    model interpolated at the exact point of each frame: much smoother than 30 on phones that can't
    hold 60, and lighter on the battery. Game logic stays at 30 steps a second.
  • Pinch to zoom the camera. Spread two fingers on the camera side to bring it closer, pinch to
    move it away (half to twice the game's distance). Zoomed out, it uses the game's own collision
    check and stays in front of walls.
  • Faster renderer. Vulkan commands are recorded on their own thread and work is submitted in
    chunks again: on a Snapdragon 8 Gen 2 the render thread went from 17–18 ms to 10–14 ms per frame
    and 94–99% of frames are shown on time at 40 fps.

Touch controls

  • Floating left stick: it appears where your thumb lands and stays there until you lift it.
  • Swipe camera with adjustable speed; double tap to centre it behind Link; pinch to zoom.
  • Context buttons that follow your save: B shows your sword, ZR your shield, X / Y / R the items you
    assigned (with the game's own item art, built on your device); combat buttons (jump attack, spin
    attack, vertical slash, dodge) once you have a sword; D-pad items once you own them.
  • One-touch combat moves, a layout editor (move, resize, remove and restore every control), gyro
    aiming, rumble as phone vibration.

Graphics and performance

  • Renderer fixes ported from the official project's Vulkan backend: invariant vertex positions for
    multipass depth tests, depth-compare samplers bound to depth surfaces, GX2CopySurface of depth
    and array slices, uniform blocks compared instead of trusted to write tracking.
  • Large vertex buffers are reused within a submission only while the game hasn't written them.
  • Precise vsync wait for the game thread: frames start on their vsync instead of whenever the
    system timer wakes up.
  • Ambient occlusion modes (Wii U, centre fix, centre + noise fix, Off).
  • A fast path for repeated draws, reuse of identical vertex/uniform copies, ADPF performance hints,
    CPU core choice (automatic, performance cores, prime core), the guest vsync locked to the
    display, a pre-rotated swapchain, the game code compiled at -O3.
  • 60 fps by frame interpolation (holds full speed anywhere between 30 and 60), an adaptive mode, and
    the original project's True 60 (experimental).

More

  • Game language selector (English, Spanish, French).
  • Cheats: items, sword and shield, hearts, songs, Triforce, dungeon items, infinite health / magic /
    ammo.
  • Crash logs: if the app crashes, captures/crash-YYYYMMDD-HHMMSS.log in the app's folder names the
    faulting module (GPU driver, Vulkan layer or the game) with the guest and host call chains. Please
    attach it to bug reports.
  • Pacing diagnostics in the log (which frames missed their vsync, and whether the game, the renderer
    or the GPU was late).

Installing

  1. Put your disc image (.wux or .wud), its disc key (.key, same name as the image) and the
    Wii U common key (common.key) in one folder on your device.
  2. Install the APK and start it. Choose Extract from your disc image… and select that folder.

Requirements: Android 11 or newer, 64-bit ARM, Vulkan 1.1, about 2 GB of free storage and memory.
40 fps needs a screen with a 120 Hz mode (the option only shows there).

Coming from another build of the Android port? This APK is signed with a different key, so
Android won't install it over a build from somewhere else. Back up your saves first (Import /
export saves…
in the menu), uninstall the old app, install this one and import them back.

Recommended on a recent phone: Frame rate 60 fps (or 40 fps / adaptive), rendering resolution
1×, Widescreen Screen shape, CPU cores Automatic.

Known limits

  • At 40 fps, particles, sea, grass and weather are drawn at the game's own steps (camera and models
    are interpolated).
  • The camera zoom goes back to the game's distance when the app restarts.
  • Very busy views (big islands seen from afar) can still drop frames; a hot phone lowers its clocks.

Checksum

WindWakerHD-Android-Enhanced-v1.0.apk
SHA-256 bce78f29c699599ea7de876eef2266787b42ae55cc012000141ea3bf94169a1f

Credits

ZeldaWWHDRecomp (the recompilation, Wii U
libraries, 60 fps modes, cheats, rumble, aspect-ratio support and renderer fixes ported here),
GreenNaugahyde/ZeldaWWHDRecompAndroid
(the Android port), Cemu (GPU address library and shader
decompiler) and the zeldaret/tww decompilation.

Unofficial fan project, not affiliated with Nintendo. MPL-2.0.

v1.1 Enhanced — Hybrid touch layout, controller select that just works, pause & 40 fps menu fixes

Choose a tag to compare

@SSunnKing SSunnKing released this 07 Oct 17:01

v1.1 Enhanced — Hybrid touch layout, controller select that just works, pause & 40 fps menu fixes

An update to the Enhanced fork of the Android port of The Legend of Zelda: The Wind Waker HD,
focused on playing on a single touch screen: the GamePad's touch menus now come up full screen
when you need them, and the pause and menu bugs some of you hit are fixed.

The APK contains no game files, no game code and no keys. It installs over v1.0 and keeps your
saves and settings. After updating, the first start compiles the game code on your device again
(a few minutes, once).

Highlights

  • Hybrid layout (new). Options → Layout → Hybrid: the TV picture full screen while you play,
    and the GamePad's screen full screen whenever a menu is open or you're outside the game (title,
    file select). Items, map, sea chart and save menus work by touch on a single screen; you're back
    on the TV picture as soon as the menu closes. While the GamePad's screen is up, only A, B and
    pause stay on screen, so the rest of the screen is free for the menu.
  • The game's controller select now sets up the app. Pick Wii U GamePad or Wii U Pro
    Controller
    on the game's "Controller select" screen and the app's controls switch to match:
    no more "connect a Pro Controller" wait, and no more touch controls driving the wrong controller.
  • Pro Controller means TV only. With the Pro Controller the app shows the TV picture only (the
    GamePad's screen is set aside in that mode anyway). Back on the GamePad, your own layout returns.

Fixes

  • Pause sometimes didn't open, or the pause menu wouldn't close. Quick taps on the touch
    buttons (shorter than one game frame) could get lost; every tap now reaches the game.
  • Error sound and a stuck pause menu in Pro Controller mode. Touches on the GamePad's picture
    reached the game, which refuses touch in that mode (error sound) and could get stuck in its menu.
    In Pro Controller mode the game no longer receives GamePad touches.
  • 40 fps: menus stuck half closed. At 40 fps the GamePad's menu could freeze in the middle of
    its closing animation (GamePad screen half dimmed, every menu refused with the error sound), also
    on the way from the file select into the game. Menus, the title and the file select now run at an
    exact 30 fps in 40 fps mode, for a moment after they close too; gameplay stays at 40.
  • No sound after moving the game to the GamePad. The game's audio for the GamePad's speaker
    wasn't played, so off-TV play ("Currently playing on TV" → move to GamePad) went silent. It now
    plays through your device.

Smoother setup

  • First start on a touch-only device: with no controller attached, the app starts with GamePad
    controls and the hybrid layout.
  • Controller disconnected: the touch controls come back on their own, and gyro and rumble move
    back to your device.

Installing

Install the APK over v1.0. New installs: see the v1.0 notes (disc image, disc key and
common.key in one folder, then Extract from your disc image…).

Requirements: Android 11 or newer, 64-bit ARM, Vulkan 1.1, about 2 GB of free storage and memory.
40 fps needs a screen with a 120 Hz mode (the option only shows there).

If the app crashes, please attach captures/crash-YYYYMMDD-HHMMSS.log from the app's folder
(Android/data/org.wwhdrecomp.app/files/) to your report.