nx2/ Recompilación estática y 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 repartidos en 57 bloques de C, 294 450 funciones) | Carga módulos NSO de Switch 2 en 0x80000000 con reubicaciones DT_RELR, resuelve tablas de salto (1475 tablas) y traduce 17 668 191 instrucciones ARMv8.2+ (incluyendo UDOT) a C. |
Extractor de volcado nx2/nup.py y nx2/unpack.pyIngesta de volcado | nx2/nup.py, nx2/unpack.py, nx2/dump.py, third_party/zbic | Python 3 + C (decodificador Atmosphere ZBIC)Hookshot / mkw-recomp | work/dump/exefs + work/dump/romfs (26.2 GB extraídos) | Valida las siete señales de integridad del volcado de Switch 2 para 0400486024DEC000 v131072, extrae archivos .nup y descomprime los binarios principales NSO codificados en ZBIC para firmware 22.0.0+. |
nx2/build.py y compilador nx2/make_game.py Native DriverBuild y Link System | nx2/build.py, nx2/make_game.py, nx2/split_hot.py, nx2/pgo_pieces.py | Python 3 + Clang / LLD (llvm-mingw con ucrt-x86_64)Pipeline split_hot PGO de mkw-recomp + Hookshot | hookshot.exe (426 MB) / hookshot + image.bin | Divide el código traducido de uso intensivo en 8 unidades de traducción paralelas, aplica perfiles de bifurcación PGO en formato LLVM raw 11, compila bloques secundarios en -O1 y bloques intensivos en -O2, y vincula el binario ejecutable nativo. |
Native Horizon OS y entorno de ejecución HLE de SDK 22.2.8 en host/SO y servicios en tiempo de ejecución | host/hos_main.c, host/hos_setjmp.c, host/nn_hid.c, host/nn_applet.c, host/posix/ | C11 / Win32 y POSIX Threads / AssemblyTOTKPort hos/ adaptado mediante mkw-recomp | Vinculado directamente en hookshot.exe / hookshot | Sustituye los límites de 485 nn:: SDK en tiempo de ejecución, reserva un espacio de direcciones virtuales invitado de 512 GB, mapea fibras de nn::os en fibras nativas y gestiona el sistema de archivos, audio (libopus) y mandos HID. |
Grabador de comandos host/nvn_native.c NVN2 (API 231.40)Interfaz de gráficos API | host/nvn_native.c, host/nvn2.c, gpu/render/rx_nvn.h | C11Capa mkw-recomp NVN2 | Flujo de operaciones NVN2 en memoria para gpu/vk/ | Implementa los procedimientos NVN2 API 231.40 de Switch 2 directamente sobre la memoria de invitado, captura los grupos de memoria en el momento del envío y canaliza los buffers de comandos al backend de Vulkan. |
Backend gpu/vk/ Vulkan 1.3 y 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 + correcciones de Hookshot OoT | hookshot_vk.dll (Windows) / hookshot_vk.so (Linux) | Reproduce los flujos de comandos de NVN2 en Vulkan 1.3 con VK_EXT_mesh_shader, respeta la sincronización WaitEvent entre colas, ejecuta matrices cooperativas HMMA f16 para escalado de TAAU/cinemáticas y gestiona duplicados de grupos en VRAM con diffing de write-back. |
Reducción de gpu/vk/eden/ Ampere SM86 a Maxwell y SPIR-V RecompilerShader Recompiler | gpu/vk/eden/, lower_to_maxwell.h, structured_control_flow.cpp | C++20 (recompilador de shaders Eden + sirit)Eden (Eglantine compilación 181) + correcciones de flujo de control de Lichii | hookshot_programs.bin, hookshot_programs.idx, hookshot_pipelines.bin | Convierte 10,154 shaders SASS de Ampere (SM86) de Nin_Ounce_NVN2 para Switch 2 (incluidos programas de vértices/mesh de 249 GPR REGMAP_nx2 y task shaders) a IR de Maxwell y genera Vulkan SPIR-V. |
Escaladores integrados AMD FSR 3.1 y gpu/vk/vk_dlss.cpp NVIDIA DLSSEscalado temporal y generación de fotogramas | gpu/vk/vk_dlss.cpp, gpu/vk/vk_menu.cpp | C++20 (NVIDIA NGX SDK 310.9.16, AMD FidelityFX SDK 1.1.4)Integración nativa en Hookshot | FSR 3.1 integrado + cargador dinámico de nvngx_dlss.dll | Intercepta el jitter de resolución dinámica, vectores de movimiento y búferes de profundidad de OoT para alimentar AMD FSR 3.1 integrado en cualquier GPU o NVIDIA DLSS Super Resolution opcional (perfiles K/M/L de Transformer) cuando nvngx_dlss.dll está presente. |
builder/ Hookshot Builder GUI (Windows WPF y Linux AppImage)Launcher de jugador y Builder UI | builder/HookshotBuilder.sln, scripts/linux/appimage.sh | C# (.NET 8 WPF en Windows) / Shell y Python en LinuxConstructor oficial de Hookshot | HookshotBuilder.exe / Hookshot-x86_64.AppImage | Verifica volcados .nup o romfs+exefs del usuario, orquesta la compilación local única de C de 10 a 45 minutos sin incluir recursos protegidos por derechos de autor y ofrece controles de Jugar/Update. |
Herramienta de transferencia de partidas, perfiladores y suite de regresión para scripts/ y tests/Herramientas y verificación | scripts/oot_saves.py, scripts/prof.py, scripts/framelog.py, tests/run_all.py | Python 3 y PowerShellHerramientas oficiales de Hookshot | oot-save-backups/, barrera de pruebas CI sin archivos de juego | Permite la migración bidireccional de partidas entre Hookshot y emuladores de Switch 2 (Lichii, Eglantine, Orchid, NX2navi), muestreo de pila con precisión de 1 ms y pruebas de regresión del código fuente sin recursos del juego. |