Repository navigation
v1.0.0: the iPhone and iPad app arrives, and the engine ships with the release.
English
The iPhone and iPad app
- The iPhone / iPad target builds one shell app that holds all your games, with an art-led library, Cover Flow on its side, and a grid on the iPad (#226)
- Re-signs and reinstalls keep your game data and saves
- Per-game settings, plus shell-level settings made once that each game can still override
- The whole app works with a controller or a keyboard
- The interface follows the system language, English or Simplified Chinese (#419)
New
- The engine comes from the release: the release app keeps its engine in its own store and builds from it. It no longer clones or pulls the repository. Settings shows the engine with a Check button, the Stable and Experimental channels and an automatic update switch. A channel switch asks first. The engine arrives with a signed
latest.json, and the app installs nothing that fails the check (#267) - Shell-level settings: the game data folder, the cloud-saves folder and the default performance overlay, set once, each game can still override (#400, #409)
- Launcher roundup: the library switches between Owned and Built, a slider that differs from its tested default gets a reset arrow, a new release shows as an icon at the end of the top bar, the Dock mirrors a running build, and console mode lists the games ready on this Mac first (#281)
- An uninstaller: Settings removes the launcher's settings and engine trees. Games, saves and keys stay, and the app goes to the Trash (#281)
- The Mac icon uses Liquid Glass (#290)
- The Qt front end takes the Mac launcher's palette and Manrope font (#222)
- Upstream moves to
bbc3b737: Metal 4 pipeline specialization, shared host shaders compiled during the build, parallel rewriter scans, and fixes for NVN buffer offsets, attachment capacity and depth/stencil pairing. Upstream's own fullscreen fix replaces ours (#373) - Release candidates: a release is tested as a candidate first, so players get the exact build that was tested (#332)
Fixed
- iPhone cloud-save folder picker: it opens once per tap (#321)
- Tears of the Kingdom 1.4.2: it no longer runs at double speed (#311, #312)
- Mario Tennis Aces: it gets past the rewrite step and past the crash after the shared fonts load (#307, #314)
- iOS DLC: DLC in
Documents/aocis found (#319) - Windows toolchain checks: they name their fix (#206)
- Console mode: it hides an idle pointer and asks again for full screen after a game (#339)
- A failed engine sync: it puts
engine/back as it was (#338)
Requires
- iOS or iPadOS 26 or later
Engine
- Upstream pin: seedds/nxnative
bbc3b73784751d2a706932dc69fd67627e3445d4 - engine_id:
bbc3b73784751d2a706932dc69fd67627e3445d4-62931bb0f613 - The same engine the release candidates were tested against
中文
重点
iPhone 和 iPad 上的 App
- 「iPhone / iPad」目标构建一个共用的壳 App,容纳你所有的游戏。游戏库以封面为主,横屏是 Cover Flow,iPad 显示网格(#226)
- 重签和重装都保留游戏数据和存档
- 每个游戏有自己的设置,壳级统一设置配一次全局生效,每个游戏仍可覆盖
- 手柄和键盘都能操作整个 App
- 界面跟随系统语言,支持英文和简体中文(#419)
新增
- 引擎随发布版提供:发布版 App 把引擎放在自己的引擎仓里,并从中构建,不再克隆或拉取仓库。设置里显示引擎,有「检查」按钮、稳定版和实验版两个通道和自动更新开关,切换通道前会先询问。引擎附带签名的
latest.json,校验不通过就什么也不安装(#267) - 壳级统一设置:游戏数据目录、云存档目录和默认性能浮层,配一次全局生效,每个游戏可覆盖(#400、#409)
- 启动器综合更新:游戏库可在「已拥有」和「已构建」之间切换,滑块偏离测试过的默认值时出现重置箭头,新版本以顶栏末尾的一个图标显示,Dock 图标显示正在运行的构建进度,主机模式先列出这台 Mac 能玩的游戏(#281)
- 卸载功能:设置里可以删除启动器的设置和引擎副本,游戏、存档和密钥保留,App 移到废纸篓(#281)
- Mac 图标改用 Liquid Glass(#290)
- Qt 前端采用 Mac 启动器的配色和 Manrope 字体(#222)
- 同步上游到
bbc3b737:Metal 4 管线特化、共享主机着色器在构建时编译、rewriter 扫描并行,并修复 NVN 缓冲区偏移与大小、附件容量和深度/模板配对。上游自己的全屏修复取代了我们的补丁(#373) - 发布候选版:每个版本先作为候选版测试,玩家拿到的就是测试过的那个构建(#332)
修复
- iPhone 云存档文件夹选择器:每次点击只弹一次(#321)
- 《塞尔达传说 王国之泪》1.4.2:不再两倍速运行(#311、#312)
- 《马力欧网球 ACE》:通过 rewrite 步骤,并修复共享字体加载后的崩溃(#307、#314)
- iOS DLC:能找到
Documents/aoc里的 DLC(#319) - Windows 工具链检查:写明修复办法(#206)
- 主机模式:鼠标静止时隐藏指针,并在游戏结束后再次请求全屏(#339)
- 引擎同步失败:
engine/恢复原状(#338)
系统要求
- iOS 或 iPadOS 26 或更新版本
引擎
- 上游固定点:seedds/nxnative
bbc3b73784751d2a706932dc69fd67627e3445d4 - engine_id:
bbc3b73784751d2a706932dc69fd67627e3445d4-62931bb0f613 - 与发布候选版测试时使用的是同一个引擎
What's Changed
- docs: an engine fix lands here as a patch and goes upstream in parallel by @v0lumehi in #310
- patches: Tears of the Kingdom 1.4.2 frame step and render scale sites (seedds/nxnative#793) by @v0lumehi in #311
- patches: a zero-extending and of the index is a copy for the jump-table check (#305) by @iheb69nachet in #307
- patches: a derived profile without frame step stubs keeps the game's own step (#303) by @v0lumehi in #312
- patches: a compact shared-font stand-in for a font engine that cannot load the standard one (#313) by @iheb69nachet in #314
- Bump upstream to c5fe6b5d, the fullscreen fix comes from nxnative by @v0lumehi in #319
- Mac launcher uses the Liquid Glass app icon by @v0lumehi in #290
- Launcher roundup: keep-build, filter with unowned games, update pill, conversions, uninstall by @LNPANDY in #281
- Windows: the toolchain checks name their fix — link probe, SDK stubs, Metal and Git installs, pinned wheels by @LNPANDY in #206
- iOS launcher: the cloud-save folder picker opens once per tap and Open stores the folder by @v0lumehi in #321
- patches.py: count a patch as landed only when git says it is already applied by @v0lumehi in #323
- Localization: drop the duplicate German dep.pick.metal_dir.title key by @v0lumehi in #331
- Launcher: the release manifest and the engine store (engine updates, part 1) by @LNPANDY in #267
- iOS shell: art-led library, Cover Flow, settings and the host layer for iPhone and iPad by @v0lumehi in #226
- CONTRIBUTING: how outside pull requests are handled by @v0lumehi in #330
- Qt front end: the Mac launcher's palette, Manrope and control styles by @v0lumehi in #222
- AGENTS: an admin merge never goes over a red check by @v0lumehi in #333
- Patch queue: patch 0036 only carries the layout editor change by @v0lumehi in #337
- Release candidates: rc tags publish a pre-release with the engine the release ships, main builds the app, tools/try-pr by @v0lumehi in #332
- Notes: the swipe hint's mock-up images by @LNPANDY in #343
- Patch queue: drop 0035 and 0036, the R ring and the layout editor by @v0lumehi in #345
- Console mode hides the idle pointer and returns to full screen after a game by @v0lumehi in #339
- A failed sync puts engine/ back as it was by @v0lumehi in #338
- Form field names: CONTRIBUTING examples and triage script match the issue forms by @v0lumehi in #349
- Git hooks: run the checks before a commit and a push, and block a push to main from any tool by @v0lumehi in #341
- v0.8.0: version bump and changelog by @v0lumehi in #350
- Keep spirv-cross unsigned-by-us in the app's engine so it matches the lock by @v0lumehi in #355
- Fix the width of the Engine update dropdown by @v0lumehi in #354
- Qt tests: the ASCII temp test no longer fails on a Mac by @v0lumehi in #356
- Replace the old library entry when a rebuild finishes by @v0lumehi in #360
- Release: keep the bundled engine's binaries as built, so shader builds start by @Dino0005 in #353
- Give a dropdown in the launch options the width of the segmented controls by @v0lumehi in #362
- Translate the launch options rows into German, Swedish and Chinese by @v0lumehi in #363
- Hide the console pointer after about 1.5 seconds idle by @v0lumehi in #359
- Launcher: Dock tile shows the app icon with a gray progress bar by @v0lumehi in #357
- Cache the app icon so a PR build skips the xcode-27 runner by @v0lumehi in #365
- ci: skip the engine jobs when a PR touches only the launcher, Qt or docs by @v0lumehi in #364
- ci: run host tests, the iOS shell package and the iOS app build in one job by @v0lumehi in #366
- ci: cache the libvpx build and skip the launcher release build on pull requests by @v0lumehi in #367
- Bump the engine to bbc3b73 and drop patch 0039, superseded upstream by @v0lumehi in #373
- Keep the pointer hidden when console mode starts a game by @v0lumehi in #374
- l10n: translate the strings that stayed English in every language by @Koshindai in #274
- l10n: add French by @Koshindai in #275
- Fix the shared app install: pass DM_SHELL_PACKAGE and bundle frontend-ios by @v0lumehi in #381
- Name the build workflow after the app it builds by @v0lumehi in #383
- Fix the iOS shared app link error for front_ios_device_message by @v0lumehi in #384
- Add tools/try-local to build and open the Mac app without CI by @v0lumehi in #385
- Give every game its own work folder when the title ID is not found by @v0lumehi in #386
- Run the Qt front end tests on Linux by @v0lumehi in #390
- Wait for content in the relaunch test's log read by @v0lumehi in #389
- Show only the status beside a game, not the signature days by @v0lumehi in #393
- Build notice race, 超分, centred dropdown words — three rc5 test reports by @LNPANDY in #395
- The data transfer speaks for itself, and the shell speaks Chinese by @LNPANDY in #396
- The shell's own settings: game data, cloud saves, language, performance HUD by @LNPANDY in #400
- The shell folder caches every game's framework, and Settings names it (#398) by @LNPANDY in #399
- Four rc7 test reports: the settings page's entry, the cache row, the success notice, dropdown centring by @LNPANDY in #401
- The shell's framework mirror is the primary copy, and the installer makes it by @v0lumehi in #406
- The shell settings page opens from every library, and its four rows work by @v0lumehi in #408
- The dropdown truly centres, the cache note reads as written, and the success notice fires by @LNPANDY in #407
- A game can turn cloud saves off, and the shell folders can be removed by @v0lumehi in #409
- v1.0.0: version bump by @v0lumehi in #412
- iOS shell follows the system language, language picker removed by @v0lumehi in #419
New Contributors
- @iheb69nachet made their first contribution in #307
- @Dino0005 made their first contribution in #353
- @Koshindai made their first contribution in #274
Full Changelog: v0.7.5...v1.0.0