nx2/ 靜態重編譯 與 AArch64 LifterAOT Lifter | nx2/lift.py, nx2/insn.py, nx2/nso2.py, nx2/image.py | Python 3 (Capstone, Unicorn 2.1, LZ4, Zstandard)mkw-recomp (7336f0a) + Rexcomp a64-kit | work/sa/gen/*.c(約 1.4 GB,分布於 57 個 C 區塊,共 294,450 個函式) | 在 0x80000000 載入含有 DT_RELR 重定位的 Switch 2 NSO 模組,解析跳躍表(1,475 個表),並將 17,668,191 條 ARMv8.2+ 指令(包含 UDOT)轉譯為 C。 |
nx2/nup.py 與 nx2/unpack.py 傾印擷取器傾印載入 | nx2/nup.py, nx2/unpack.py, nx2/dump.py, third_party/zbic | Python 3 + C(Atmosphere ZBIC 解碼器)Hookshot / mkw-recomp | work/dump/exefs + work/dump/romfs(已解壓 26.2 GB) | 驗證 0400486024DEC000 v131072 的七個 Switch 2 傾印訊號,解壓縮 .nup 封存檔,並解壓縮韌體 22.0.0+ 經 ZBIC 編碼的主要 NSO 二進位檔。 |
nx2/build.py 與 nx2/make_game.py Native 編譯器 DriverBuild 與 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 管線 | hookshot.exe (426 MB) / hookshot + image.bin | 將作用頻繁的提昇程式碼分割至 8 個並行轉譯單元中,套用 LLVM 原始格式 11 PGO 分支設定檔,以 -O1 編譯冷分塊、以 -O2 編譯熱分塊,並連結為原生可執行檔。 |
host/ Native Horizon OS 與 SDK 22.2.8 HLE 執行階段OS 與服務執行時期 | host/hos_main.c, host/hos_setjmp.c, host/nn_hid.c, host/nn_applet.c, host/posix/ | C11 / Win32 與 POSIX Threads / Assembly經由 mkw-recomp 改編的 TOTKPort hos/ | 直接連結至 hookshot.exe / hookshot | 在執行時期取代 485 nn:: SDK 邊界、預留 512 GB 客體虛擬位址空間、將 nn::os fiber 對應至原生 fiber,並處理檔案系統、音訊 (libopus) 及 HID 控制器。 |
host/nvn_native.c NVN2(API 231.40)命令記錄器圖形 API 前端 | host/nvn_native.c, host/nvn2.c, gpu/render/rx_nvn.h | C11mkw-recomp NVN2 層 | 供 gpu/vk/ 使用的記憶體中 NVN2 操作串流 | 就地在客端記憶體上實作 Switch 2 NVN2 API 231.40 程序,在提交時擷取記憶體集區,並將命令緩衝區提交內容串流至 Vulkan 後端。 |
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 修復 | hookshot_vk.dll (Windows) / hookshot_vk.so (Linux) | 以 VK_EXT_mesh_shader 在 Vulkan 1.3 上重放 NVN2 命令串流,遵循跨佇列 WaitEvent 同步,執行 HMMA f16 協同矩陣以進行 TAAU/過場動畫放大,並透過 write-back diffing 管理 VRAM 集區鏡像。 |
gpu/vk/eden/ Ampere SM86 轉 Maxwell 降階與 SPIR-V RecompilerShader Recompiler | gpu/vk/eden/, lower_to_maxwell.h, structured_control_flow.cpp | C++20 (Eden 著色器重編譯器 + sirit)Eden (Eglantine 組建 181) + Lichii 控制流修復 | hookshot_programs.bin, hookshot_programs.idx, hookshot_pipelines.bin | 將 10,154 個 Switch 2 Nin_Ounce_NVN2 Ampere SASS(SM86)著色器(含 249-GPR REGMAP_nx2 頂點/網格程式與任務著色器)降級為 Maxwell IR,並輸出 Vulkan SPIR-V。 |
gpu/vk/vk_dlss.cpp NVIDIA DLSS 與內建 AMD FSR 3.1 放大技術時間性放大與畫面生成 | 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 原生整合 | 內建 FSR 3.1 + 執行時期 nvngx_dlss.dll 載入器 | 攔截 OoT 的動態解析度抖動、動態向量與深度緩衝區,在所有 GPU 上驅動內建 AMD FSR 3.1,或在具備 nvngx_dlss.dll 時驅動選用的 NVIDIA DLSS 超高解析度 (Transformer 預設值 K/M/L)。 |
builder/ Hookshot Builder GUI (Windows WPF 與 Linux AppImage)玩家 Launcher 與 Builder UI | builder/HookshotBuilder.sln, scripts/linux/appimage.sh | C# (Windows 上為 .NET 8 WPF) / Linux 上為 Shell 與 PythonHookshot 第一方建置器 | HookshotBuilder.exe / Hookshot-x86_64.AppImage | 驗證使用者提供的 .nup 或 romfs+exefs 傾印檔,編排耗時 10 至 45 分鐘且不附帶受版權保護資產的單次本機 C 建置,並提供遊玩/Update 控制項目。 |
scripts/ 與 tests/ 存檔轉移工具、效能分析器與回歸測試套件工具鏈與驗證 | scripts/oot_saves.py, scripts/prof.py, scripts/framelog.py, tests/run_all.py | Python 3 與 PowerShellHookshot 第一方工具 | oot-save-backups/、CI 無遊戲資產回歸閘道 | 提供 Hookshot 與 Switch 2 模擬器(Lichii、Eglantine、Orchid、NX2navi)之間的雙向存檔移轉功能、1 毫秒堆疊取樣分析,以及無遊戲資產的原始碼回歸測試。 |