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(57個のCチャンク全体で約1.4 GB、294,450関数) | Switch 2のNSOモジュールをDT_RELR再配置付きで0x80000000にロードし、ジャンプテーブル(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ダンプにおける7つの整合性シグナルを検証し、.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 rawフォーマット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 / AssemblyTOTKPort hos/(mkw-recomp経由で適合) | hookshot.exe / hookshotに直接リンク | 実行時に485 nn:: SDK境界を置換し、512 GBのゲスト仮想アドレス空間を確保し、nn::osのファイバーをネイティブファイバーにマッピングして、ファイルシステム、オーディオ(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) | NVN2コマンドストリームをVulkan 1.3上でVK_EXT_mesh_shaderを用いてリプレイし、キュー間WaitEvent同期を遵守し、TAAU/動画アップスケーリング用にHMMA f16コオペラティブマトリックスを実行し、Write-Back差分処理により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上のシェル&PythonHookshot 公式ビルダー | HookshotBuilder.exe / Hookshot-x86_64.AppImage | ユーザーが用意した.nupまたはromfs+exefsダンプを検証し、著作権保護アセットを含まないローカルでの1回限り(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 msスタックサンプリング解析、およびゲームデータ不要のソースリグレッションテストを提供。 |