Skip to content

v1.1.0: Switch 2 games, touch controls you arrange, quit a game, and delete a game / Switch 2 游戏、虚拟手柄自定义、退出游戏与删除游戏

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Nov 08:15
· 90 commits to main since this release
2f788d6

v1.1.0: Switch 2 games, touch controls you arrange, quit a game, and delete a game.

English

Update note. Games you built before this update are rebuilt on the first Play, because the shader chain of the engine moved again. This is the normal rebuild path and needs no action.

Highlights

Switch 2 games in the launcher

  • Choose a Switch 2 game folder or a .nup file on the Mac and the Windows launcher. No prod.keys are needed for them (#603, #604, #608, #609)
  • Games with a Switch 2 mark show a note for the chosen target, and the build stages have names in all languages (#605, #606)
  • A new failure row says when your prod.keys are older than the game (#607)
  • GAMES.md explains what works and what does not (#610)
  • Nobody has played one of these games through the launcher yet, see Known issues

Touch controls you can change (iPhone and iPad)

  • Size of the controls: Small, Medium or Large (#582)
  • Left stick place: Corner, Higher or Inward (#581)
  • A hint shows where the right stick of the 3D layout is (#580)
  • An editor in the shell settings moves each control, with a preview, arrows, a controller and VoiceOver (#600)

Quit and delete

  • Quit a game on the Mac by holding the Home button of the controller for 2 seconds, on macOS 27 (#579)
  • Quit a game on iPhone and iPad from the gear menu in the game or by holding Home. The app closes and opens on your games next time, and unsaved progress is lost (#601)
  • Delete a game from the launcher, on the Mac and on iPhone and iPad. It asks first and keeps the saves unless you choose to delete them too (#562)

New

  • Delete a game, what stays: on the Mac everything goes to the Trash and your NSP or XCI files stay. On iPhone and iPad the game's framework stays inside the shared app until you install the shared app again without it (#562)
  • Cloud saves folder: each game's launch options on the Mac show the folder it syncs through, let you change it or turn it off, and show the last session's sync (#561)
  • Start in console mode: a Settings switch that opens the Mac launcher in console mode (#565)
  • Controller button mapping on iPhone and iPad: swap A and B or move any button, for all games or for one game, with a drawn controller and a button test, by @Haseenesss. The drawing takes no controller input on the card (#495, #576)
  • Picture Fill or Fit on iPhone and iPad: Fill covers the whole screen and crops the edges. Upstream took our patch (#575)
  • iPhone Duo layouts: portrait and half-open tabletop layouts, by @jonochocki (#230)
  • A game's own mods and env.txt on iPhone and iPad: a mods folder and an env.txt in a game's folder apply to that game only (#573, #566)
  • Move the cache folder: Settings can move the shared app's cache to another drive and back. The cache now starts in Application Support (#584, #567)
  • Send game data, the Finder way: when the device refuses the copy, step 3 offers to copy the game folder with Finder (#586)
  • Clearer framework error: a missing framework names the game and says what to try (#568)
  • Engine update: the pin moves to 641d1480021a with 52 upstream commits. By upstream's notes the Mac gets Pokémon Pokopia, Hyrule Warriors: Age of Imprisonment, The Legend of Zelda: Skyward Sword HD and Princess Peach: Showtime. Fire Emblem Fortune's Weave runs at 60 fps. Donkey Kong Bananza holds 30 fps in heavy areas and has a MetalFX upscaler option. Splatoon Raiders and Xenoblade Chronicles 3 have fixes. A blocked audio device no longer freezes a game. We did not play any of it (#598)
  • Documents: the README in German, Swedish and French (#569), the Italian documentation by @PikaMan80 (#527), and the Italian export and one-game texts reviewed by @Dino0005 (#541, #570)
  • Behind the scenes: the Mac launcher tests run on their own defaults, and two flaky tests are fixed (#592, #571)

Fixed

  • Games without a title ID in the file name: an NSP like The_Legend_of_Zelda_Breath_of_the_Wild-7603d90e.nsp built, then failed with "The game's framework was not found". The shared app takes the framework the build wrote, by @Haseenesss (#548, #515)
  • The iPhone Duo outer screen: the third game card is no longer cut at the edge of the row (#563)
  • Windows IPA build: several handoffs of the build are fixed, by @tmrsm. It still stops on an unmodified checkout until seedds/nxnative#591 is in the pin (#182)
  • Windows first sync: the engine sync uses the app's own Git, a failed first sync starts over, and the cached SDK's broken .tbd stubs are repaired (#597, #602)

Known issues

  • Switch 2 games are not played through the launcher: nobody has built or started one with the folder or NUP input yet. Upstream and @LNPANDY ran some of them from the command line (#603, #604, #608, #609)
  • Not run on a device: the controller button mapping and the Home button on the Mac, the iOS quit menu and Home hold, the touch layout editor, touch controls on an install with several games, the Duo layouts, mods and env.txt per game, moving the cache to an external drive, and the Finder way to send game data (#495, #579, #601, #600, #582, #581, #230, #573, #584, #586)
  • One game, all inside is not verified with a sideloading tool: a very large IPA can fail to install, and we do not know the size limit (#542)
  • Machine-translated texts wait for review: Italian, Swedish, German and French texts of the new features, and the Swedish and French READMEs (#569, #598)
  • First Play after the update: built games are rebuilt, because the shader chain moved (#598)
  • Shader split at 99%: it can sit there for several minutes at its end while one worker finishes. It is not a hang (#489)
  • Open: Breath of the Wild fills the disk (#413). A Super Mario Odyssey shader step fails on an M1 with Xcode 27.2 (#361)

Requires

  • iOS or iPadOS 26 or later
  • To build NVN games on a Mac: Xcode 27.2 and macOS 26.6 or later
  • To quit a Mac game with the Home button: macOS 27

中文

更新提示。 更新前构建的游戏会在第一次点 Play 时重新构建,因为引擎的着色器链又变了。这是正常的重建流程,无需任何操作。

重点

启动器里的 Switch 2 游戏

  • 在 Mac 和 Windows 启动器里可以选择 Switch 2 游戏文件夹或 .nup 文件,不需要 prod.keys(#603、#604、#608、#609)
  • 带 Switch 2 标记的游戏会按所选目标显示一条说明,构建阶段的名称有所有语言的版本(#605、#606)
  • 新增一条失败提示:你的 prod.keys 比游戏旧(#607)
  • GAMES.md 说明哪些可用、哪些不可用(#610)
  • 还没有人通过启动器玩过这些游戏,见已知问题

可以调整的触控按键(iPhone 和 iPad)

  • 按键大小:小、中或大(#582)
  • 左摇杆位置:角落、更高或更靠内(#581)
  • 提示 3D 布局的右摇杆在哪里(#580)
  • 壳 App 设置里的编辑器可以移动每个按键,带预览、箭头、手柄和旁白支持(#600)

退出和删除

  • 在 macOS 27 上,在 Mac 上按住手柄的 Home 键 2 秒即可退出游戏(#579)
  • 在 iPhone 和 iPad 上,从游戏内的齿轮菜单或按住 Home 退出游戏。App 会关闭,下次打开时回到你的游戏列表,未保存的进度会丢失(#601)
  • 在启动器里删除游戏,Mac、iPhone 和 iPad 都可以。删除前会先询问,除非你选择一并删除,否则存档会保留(#562)

新增

  • 删除游戏,哪些会保留:在 Mac 上所有内容进入废纸篓,你的 NSP 或 XCI 文件保持原处。在 iPhone 和 iPad 上,游戏的框架会留在共用 App 里,直到你重新安装不含该游戏的共用 App(#562)
  • 云存档文件夹:Mac 上每个游戏的启动选项会显示它同步所用的文件夹,可以更改或关闭,并显示上一次运行的同步结果(#561)
  • 启动时进入主机模式:设置里的一个开关,让 Mac 启动器直接以主机模式打开(#565)
  • iPhone 和 iPad 上的手柄按键映射:交换 A 和 B 或移动任意按键,可用于所有游戏或单个游戏,带手柄示意图和按键测试,作者 @Haseenesss。卡片上的示意图不接收手柄输入(#495、#576)
  • iPhone 和 iPad 的画面「填充」或「适应」:「填充」铺满整个屏幕并裁掉边缘。上游采纳了我们的补丁(#575)
  • iPhone Duo 布局:竖屏和半开的桌面布局,作者 @jonochocki(#230)
  • 每个游戏自己的 mod 和 env.txt(iPhone 和 iPad):游戏文件夹里的 mods 文件夹和 env.txt 只对该游戏生效(#573、#566)
  • 移动缓存文件夹:设置里可以把共用 App 的缓存移到另一块磁盘,也可以移回来。缓存现在默认放在 Application Support(#584、#567)
  • 发送游戏数据,用 Finder:设备拒绝复制时,第 3 步提供用 Finder 复制游戏文件夹的方法(#586)
  • 更清楚的框架错误:缺少框架时会写出游戏名并说明可以怎么做(#568)
  • 引擎更新:引擎固定点移到 641d1480021a,包含 52 个上游提交。出自上游的说明,Mac 上新增 Pokémon Pokopia、Hyrule Warriors: Age of Imprisonment、The Legend of Zelda: Skyward Sword HD 和 Princess Peach: Showtime。Fire Emblem Fortune's Weave 以 60 fps 运行。Donkey Kong Bananza 在繁重场景保持 30 fps,并可选 MetalFX 放大。Splatoon Raiders 和 Xenoblade Chronicles 3 有修复。音频设备被阻塞时游戏不再卡死。我们没有玩过这些内容(#598)
  • 文档:德语、瑞典语和法语的 README(#569),意大利语文档,作者 @PikaMan80(#527),以及由 @Dino0005 审校的意大利语导出和单游戏文字(#541、#570)
  • 幕后工作:Mac 启动器的测试使用各自独立的默认设置,并修复了两个不稳定的测试(#592、#571)

修复

  • 文件名里没有 title ID 的游戏:像 The_Legend_of_Zelda_Breath_of_the_Wild-7603d90e.nsp 这样的 NSP 构建成功,之后却提示「The game's framework was not found」。现在共用 App 使用构建写出的框架,作者 @Haseenesss(#548、#515)
  • iPhone Duo 外屏:第三张游戏卡片不再在行的边缘被截断(#563)
  • Windows 的 IPA 构建:修复了构建中的多个交接问题,作者 @tmrsm。在 seedds/nxnative#591 进入固定点之前,未修改的检出仍会在此停住(#182)
  • Windows 首次同步:引擎同步使用 App 自带的 Git,失败的首次同步会重新开始,缓存 SDK 里损坏的 .tbd 桩文件会被修复(#597、#602)

已知问题

  • Switch 2 游戏没有通过启动器玩过:还没有人用文件夹或 NUP 输入构建或启动过。上游和 @LNPANDY 曾在命令行运行过其中一些(#603、#604、#608、#609)
  • 未在设备上运行:手柄按键映射、Mac 上的 Home 键、iOS 的退出菜单和 Home 长按、触控布局编辑器、多个游戏安装时的触控按键、Duo 布局、每个游戏的 mod 和 env.txt、把缓存移到外置磁盘,以及用 Finder 发送游戏数据(#495、#579、#601、#600、#582、#581、#230、#573、#584、#586)
  • 「一个游戏,全部在内」没有用侧载工具验证过:过大的 IPA 可能安装失败,大小上限未知(#542)
  • 机器翻译的文字等待审校:新功能的意大利语、瑞典语、德语和法语文字,以及瑞典语和法语的 README(#569、#598)
  • 更新后第一次点 Play:已构建的游戏会重新构建,因为着色器链变了(#598)
  • 着色器拆分停在 99%:结尾时可能停留几分钟,因为有一个工作进程还在处理。这不是卡死(#489)
  • 仍未解决:《旷野之息》会占满磁盘(#413)。M1 上用 Xcode 27.2 时,《超级马力欧 奥德赛》的一个着色器步骤失败(#361)

系统要求

  • iOS 或 iPadOS 26 或更新版本
  • 在 Mac 上构建 NVN 游戏:Xcode 27.2 和 macOS 26.6 或更新版本
  • 在 Mac 上用 Home 键退出游戏:macOS 27

Install: download NX2Apple-macOS-arm64.zip, unzip, drag it to Applications. 中文:下载后解压,拖进「应用程序」。


What's Changed

Fixes

  • v1.0.2 notes: the game data is outside the IPA only with the shared app by @v0lumehi in #560
  • iOS shell: the game row no longer draws a cut card under a side inset (iPhone Duo outer screen) by @v0lumehi in #563
  • Shared app handoff: say which game's framework is missing and what to try by @v0lumehi in #568
  • README in German, Swedish and French, language switch only in the badge row by @v0lumehi in #569
  • Tests: fix two flaky tests (console ring scroll wait, export setting leak) by @v0lumehi in #571
  • iOS shell: the mapping card takes no controller input, its drawing stays for touch by @v0lumehi in #576
  • Run the Mac launcher tests on their own defaults by @v0lumehi in #592
  • Windows: the engine sync installs the app's PortableGit and puts it on the PATH by @LNPANDY in #597
  • Windows: materialize the SDK's git symlinks so ld64.lld can link by @LNPANDY in #596
  • Fix the Windows IPA build handoff by @tmrsm in #182
  • Windows: recover a failed first engine sync and repair the cached SDK's .tbd stubs by @LNPANDY in #602

Features

  • v1.0.2 notes: one IPA per game and the cut-off framework delete fix by @v0lumehi in #546
  • Delete a game from the launcher, on the Mac and on iPhone and iPad by @v0lumehi in #562
  • Mac launcher: show and set a game's cloud saves folder, and the last sync by @v0lumehi in #561
  • Shell folder: default to Application Support and move an old one out of the output folder by @v0lumehi in #567
  • iOS shell: a game's own env.txt wins over the shared one by @v0lumehi in #566
  • Mac launcher: a Settings switch to start in console mode by @v0lumehi in #565
  • iOS: add Duo portrait and tabletop gameplay layouts by @jonochocki in #230
  • iOS shell: a game's mods folder sets DM_ROMFS_OVERLAY for that game only by @v0lumehi in #573
  • iOS shell: Picture row, Fit or Fill for screens that are not 16:9 by @v0lumehi in #575
  • Launcher: move the shell cache folder from Settings (#427) by @v0lumehi in #584
  • Send game data: offer the Finder way when the copy is refused by @v0lumehi in #586
  • Console mode: quit a game by holding the Home button (macOS 27) by @v0lumehi in #579
  • Touch controls: a size setting for every game (patch 0065) by @v0lumehi in #582
  • Touch controls: choose where the left stick sits (patch 0066) by @v0lumehi in #581
  • Touch controls: say where the 3D layout's right stick is (patch 0067) by @v0lumehi in #580
  • iOS: quit a game from the in-game menu or by holding Home by @v0lumehi in #601
  • Touch controls: arrange the controls in the shell settings (patch 0070) by @v0lumehi in #600
  • Switch 2 (1/8): read a game folder in NXCore by @v0lumehi in #603
  • Switch 2 (2/8): Mac launcher builds a game from its folder by @v0lumehi in #604
  • Switch 2 (3/8): stage names of a folder build and the no-profile stop by @v0lumehi in #605
  • Switch 2 (4/8): a Switch 2 mark in the library and a note on the Builds page by @v0lumehi in #606
  • Switch 2 (5/8): a failure row for keys older than the game by @v0lumehi in #607
  • Switch 2 (6/8): Mac launcher builds a game from a NUP file by @v0lumehi in #608
  • Switch 2 (7/8): Qt launcher takes a game folder or a NUP file by @v0lumehi in #609
  • Switch 2 (8/8): GAMES.md and README say what the launcher does now by @v0lumehi in #610
  • Version 1.1.0: the version bump, the changelog rows and the release notes by @v0lumehi in #614
  • iOS touch layout editor: clearer resets, translated Done, fits every phone by @v0lumehi in #623

Patch queue and engine

  • iOS shell: controller button mapping (global and per game) and a button test by @Haseenesss in #495

Documentation

  • docs: add Italian translation of README and documentation by @PikaMan80 in #527

Other changes

  • it: review the export card texts by @Dino0005 in #541
  • Shell install: take the framework the build wrote, not one named after the build key (#515) by @Haseenesss in #548
  • it: the one-game export texts follow the rest of the file by @Dino0005 in #570

New Contributors

Full Changelog: v1.0.2...v1.1.0