en un clic
smo_archipelago
smo_archipelago contient 6 skills collectées depuis mdietz94, avec une couverture métier par dépôt et des pages de détail sur le site.
Skills dans ce dépôt
Build the SMO Switch mod (subsdk9 / switch-mod/, LibHakkun + OdysseyHeaders + sail) and deploy to Ryujinx or the real Switch. Use whenever the user asks to build, rebuild, recompile, or deploy the Switch module; whenever LLVM, cmake, ninja, sail, hakkun, subsdk, or RYU_PATH come up; whenever a switch-mod/ C++ file changes and a build is needed; or whenever the user mentions the install_apworld worktree gotcha (DepositMsg / unknown message type from Switch). Covers the one-time capture_table.h generation, the patch_hakkun + setup_sail wrappers, the Ryujinx-first iterate loop, the post-build deploy, the real-Switch deploy path, and the worktree apworld-install workaround.
Build and run the SMO switch-mod C++ host tests (test_json, test_protocol, test_cappy_messenger, test_msg_font_safe, test_shine_lookup) on Windows. Use when the user mentions "host tests", "test_json", "test_protocol", "test_cappy_messenger", "test_msg_font_safe", "test_shine_lookup", "switch-mod tests", or asks to run/build C++ tests for switch-mod/. Covers the msys2 mingw64 PATH dance + the host-side ApState::nowMs stub the CappyMessenger settle gate depends on.
Run the AP loopback end-to-end test for SMO without booting SMO/Ryujinx — validates the whole Switch↔SMOClient↔AP server stack. Use when the user asks for "loopback", "AP loopback", "test seed", "ap_server", "ap_generate", or "switch_smoke_test"; when validating the bridge stack after a wire-protocol change; or when the user wants to verify SMOClient routing without booting the emulator. Covers seed generation, AP server hosting, SMOClient launch, fake-Switch driver, and the equivalent pytest path.
Extract shine_map.json and capture_map.json from an SMO 1.0.0 NSP or XCI — produces the per-machine, gitignored maps that the SMOClient uses to resolve raw SMO identifiers (stage + obj_id, hack_name) to display names. Use when the user asks to "extract", "regenerate", or work with "shine_map", "capture_map", an "NSP" or "XCI" file, "romfs", or "hactool"; or when a fresh clone / fresh worktree is missing `apworld/smo_archipelago/client/data/{shine_map,capture_map}.json` and moon collects silently drop. The extracted files are Nintendo-IP-sensitive and MUST stay gitignored.
Discover, mangle, and verify SMO 1.0.0 NSO symbols for new switch-mod hook targets. Use when the user wants to add a new hook, asks about a "mangled symbol", "sail", "SmoApSymbols.sym", "HookSymbols.hpp", "OdysseyDecomp", or how to bind a function from `hk::ro::lookupSymbol` / install a trampoline via `HkTrampoline::installAtSym`. Covers the sail .sym workflow, the OdysseyDecomp forward-decl mangling path, fakesymbols.so verification via llvm-nm, and where vtable / data symbols differ from function symbols.
Build, iterate on, or debug the SMO PopTracker pack — an independent logic-graph tracker that connects directly to AP's websocket alongside SMOClient. Use when the user mentions "PopTracker", "tracker pack", "build_poptracker_pack.py", "pack-src", PopTracker layouts/maps/widgets, or the Lua port of `Rules.py` in `poptracker/pack-src/scripts/logic.lua`. Covers the build command, the apworld→pack regeneration loop, the map+pins UI pattern, and the release-workflow integration.