Download HookshotBuilder.exe and run it, or press Update in the launcher (hookshot.exe in your game folder). Linux: the AppImage below.
The first start after the update prepares the shaders again (the shader translator changed).
Fixed
- Linux: the build stopped with
conflicting types for 'GetModuleFileNameA'(v2.0.0 and v2.0.1 AppImages, #664). - AMD and Intel: shaders that did not translate. Six compute programs with a global compare-and-swap (#597) and one with a float atomic add at an untracked address (#598) now translate; on AMD they were left out.
- AMD and Intel: GPU hangs from shader loops that never end. Compare-and-swap loops are bounded (#548). This is the likely cause of the Deku Tree freeze or crash on RX 6600 cards (#614); please tell us if it still happens.
- Two shader recompiler fixes from Lichii: gathers with offsets that are not constant, and register fields of TXD and ATOMG (#566); a storage-range alignment fix (#447).
- A cut-short
hookshot_programs.binno longer crashes the game at start (#463). - Present semaphores per swapchain image (a validation error, #445); counter reports are no longer overwritten by partial copies (#442); the virtual core is released during GPU invalidation (#485).
- Linux: the launcher works from a relative folder path (#451); a CPU without AVX2 gets a clear message (#414); a headless run ends on SIGTERM (#601).
- The game problem issue form shows again (#653);
nup.py --verifynames damaged files in a .nup (#626); more checks run in CI (#661, #409, #587).
Thanks to everyone who sent pull requests.
What's Changed
- docs: fix article before hookshot_game.dll in design.md by @lunar-me in #632
- Ground fog kept when looking down (texel writes made before the renderer starts are no longer dropped) by @hckrman101 in #638
- Linux build: hos_paths.h includes the POSIX windows.h for its Linux hos_game_path_a by @hckrman101 in #642
- Vulkan: no exposure flashes without the frame wait (a capture waits only for the write-back of a page it copies) by @hckrman101 in #645
- The Windows game built on Linux, with llvm-mingw: RX_TARGET=windows by @gab9281 in #381
- test_cpp_preflight: take the Visual Studio route on any host by @Wpaif in #409
- AppImage: say up front when its renderer needs AVX2 the CPU lacks by @Wpaif in #414
- Preserve partial overlaps with CPU-written report words by @klimovich008 in #442
- Reuse present semaphores by acquired swapchain image by @klimovich008 in #445
- shader: keep alignment displacement in single-SSBO ranges by @monsterlag in #447
- fix(linux): Launch games from relative folder paths by @Matt-Mc in #451
- Fix/program cache bounds (FINE YOUNG MAM) by @xellow78-lgtm in #463
- runtime: release the virtual core during GPU invalidation by @monsterlag in #485
- fix(vk): bound compare-exchange loops and give EQUAL depth tests a margin on Intel by @fuxau in #548
- Port two Lichii shader recompiler fixes (#433 dynamic PTP gathers, #588 TXD/ATOMG register fields) by @R0mulus001 in #566
- Keep scripted test input aligned with native frames by @klimovich008 in #587
- Translate ATOMG.CAS (global compare-and-swap): 6 compute programs that did not translate by @Joey-Magnus in #597
- SPIR-V: a fallback for GlobalAtomicAddF32 at an untracked global address by @Joey-Magnus in #598
- Linux: a headless run ends on SIGTERM by @Joey-Magnus in #601
- Add read-only NUP checks that name damaged members by @klimovich008 in #626
- Issue forms: the game problem form shows again, and they catch up with v2.0.0 by @Wpaif in #653
- CI: run the game-free checks no workflow ran, and fix the one that broke unnoticed by @Wpaif in #661
New Contributors
- @Matt-Mc made their first contribution in #451
- @xellow78-lgtm made their first contribution in #463
- @fuxau made their first contribution in #548
- @R0mulus001 made their first contribution in #566
- @Joey-Magnus made their first contribution in #597
Full Changelog: v2.0.0...v2.0.2