nx2/ Statische Rekompilierung & AArch64 LifterAOT Lifter | nx2/lift.py, nx2/insn.py, nx2/nso2.py, nx2/image.py | Python 3 (Capstone, Unicorn 2.1, LZ4, Zstandard)Ursprung: mkw-recomp (7336f0a) + Rexcomp a64-kit | work/sa/gen/*.c (~1,4 GB über 57 C-Chunks, 294.450 Funktionen) | Lädt Switch-2-NSO-Module bei 0x80000000 mit DT_RELR-Relokationen, löst Sprungtabellen auf (1.475 Tabellen) und übersetzt 17.668.191 ARMv8.2+-Befehle (inklusive UDOT) nach C. |
nx2/nup.py- & nx2/unpack.py-Dump-ExtraktorDump-Erfassung | nx2/nup.py, nx2/unpack.py, nx2/dump.py, third_party/zbic | Python 3 + C (Atmosphere ZBIC decoder)Hookshot / mkw-recomp | work/dump/exefs + work/dump/romfs (26,2 GB extrahiert) | Validiert die sieben Switch-2-Dump-Signale für 0400486024DEC000 v131072, extrahiert .nup-Archive und dekomprimiert ZBIC-kodierte main-NSO-Binärdateien ab Firmware 22.0.0+. |
nx2/build.py & nx2/make_game.py Nativer Compiler-TreiberBuild & Link System | nx2/build.py, nx2/make_game.py, nx2/split_hot.py, nx2/pgo_pieces.py | Python 3 + Clang / LLD (llvm-mingw ucrt-x86_64)mkw-recomp + Hookshot split_hot PGO-Pipeline | hookshot.exe (426 MB) / hookshot + image.bin | Teilt übersetzten Hot-Code auf 8 parallele Übersetzungseinheiten auf, wendet LLVM-Rohformat-11-PGO-Zweigprofile an, kompiliert Cold-Chunks mit -O1 sowie Hot-Chunks mit -O2 und verlinkt die native Binärdatei. |
host/ Native Horizon OS & SDK 22.2.8 HLE-LaufzeitumgebungOS- & Service-Laufzeitumgebung | host/hos_main.c, host/hos_setjmp.c, host/nn_hid.c, host/nn_applet.c, host/posix/ | C11 / Win32 & POSIX Threads / AssemblyTOTKPort hos/ adaptiert über mkw-recomp | Direkt in hookshot.exe / hookshot verlinkt | Ersetzt 485 nn::-SDK-Grenzen zur Laufzeit, reserviert einen virtuellen Gast-Adressraum von 512 GB, bildet nn::os-Fibers auf native Fibers ab und übernimmt Dateisystem, Audio (libopus) sowie HID-Controller. |
host/nvn_native.c-NVN2 (API 231.40) BefehlsrekorderGrafik-API-Frontend | host/nvn_native.c, host/nvn2.c, gpu/render/rx_nvn.h | C11mkw-recomp-NVN2-Schicht | In-Memory-NVN2-Befehlsstrom für gpu/vk/ | Implementiert Switch-2-NVN2-API-231.40-Prozeduren direkt im Gast-Speicher, erfasst Speicherpools beim Submit und leitet Command-Buffer-Übergaben an das Vulkan-Backend weiter. |
gpu/vk/ Vulkan 1.3 Backend & Queue Replay EngineVulkan 1.3 Renderer | gpu/vk/vk_main.cpp, gpu/vk/vk_replay.cpp, gpu/vk/vk_memory.cpp, gpu/vk/vk_draw.cpp, gpu/vk/vk_coopmat.cpp | C++20 (Vulkan 1.3, VMA, Dear ImGui)mkw-recomp gpu/vk + Hookshot OoT-Korrekturen | hookshot_vk.dll (Windows) / hookshot_vk.so (Linux) | Spielt NVN2-Befehlsströme auf Vulkan 1.3 mit VK_EXT_mesh_shader ab, berücksichtigt Queue-übergreifende WaitEvent-Synchronisierungen, führt HMMA-f16-Cooperative-Matrices für TAAU-/Video-Upscaling aus und verwaltet VRAM-Pool-Spiegel mit Write-Back-Diffing. |
gpu/vk/eden/ Ampere SM86-zu-Maxwell-Lowering & SPIR-V RecompilerShader Recompiler | gpu/vk/eden/, lower_to_maxwell.h, structured_control_flow.cpp | C++20 (Eden-Shader-Rekompilierer + sirit)Eden (Eglantine Build 181) + Lichii-Kontrollfluss-Fixes | hookshot_programs.bin, hookshot_programs.idx, hookshot_pipelines.bin | Transformiert 10.154 Switch-2-Nin_Ounce_NVN2-Ampere-SASS-Shader (SM86, inklusive 249-GPR REGMAP_nx2 Vertex-/Mesh-Programme und Task-Shader) in Maxwell-IR und generiert Vulkan SPIR-V. |
gpu/vk/vk_dlss.cpp NVIDIA DLSS & integrierte AMD-FSR 3.1-UpscalerTemporales Upscaling & Frame Generation | gpu/vk/vk_dlss.cpp, gpu/vk/vk_menu.cpp | C++20 (NVIDIA NGX SDK 310.9.16, AMD FidelityFX SDK 1.1.4)Hookshot native Einbindung | Integriertes FSR 3.1 + Laufzeit-nvngx_dlss.dll-Loader | Fängt dynamischen Auflösungs-Jitter, Bewegungsvektoren und Tiefenpuffer von OoT ab, um integriertes AMD FSR 3.1 auf allen GPUs oder optionales NVIDIA DLSS Super Resolution (Transformer-Voreinstellungen K/M/L) bei vorhandenem nvngx_dlss.dll anzusteuern. |
builder/ Hookshot Builder GUI (Windows WPF & Linux AppImage)Spieler-Launcher & Builder-UI | builder/HookshotBuilder.sln, scripts/linux/appimage.sh | C# (.NET 8 WPF auf Windows) / Shell & Python auf LinuxOffizieller Hookshot-Builder | HookshotBuilder.exe / Hookshot-x86_64.AppImage | Überprüft vom Nutzer bereitgestellte .nup- oder romfs+exefs-Dumps, koordiniert den einmaligen 10–45-minütigen lokalen C-Build ohne urheberrechtlich geschützte Assets mitzuliefern und stellt Steuerelemente für Spielen/Update bereit. |
scripts/- & tests/-Spielstandtransfer-Tool, Profiler & RegressionssuiteWerkzeuge & Verifikation | scripts/oot_saves.py, scripts/prof.py, scripts/framelog.py, tests/run_all.py | Python 3 & PowerShellOffizielle Hookshot-Werkzeuge | oot-save-backups/, CI-Prüfgate ohne Spieldateien | Bietet bidirektionale Spielstandmigration zwischen Hookshot und Switch-2-Emulatoren (Lichii, Eglantine, Orchid, NX2navi), 1-ms-Stack-Sampling-Analysen und quellbasierte Regressionstests ohne Spieldateien. |