Repository navigation
NX Library 0.1.4.1: engine bd979ced, session card, mods and engine fixes - #8
Merged
Merged
Conversation
- Pin nxnative 7fe9fc4d: Ocarina of Time's dotted rows, terrain holes and white blotches are gone (maintainer-confirmed rebuild). - GameBanana: hide mods that need a loader or PC tool, show a mod's requirements, always list installed mods (with Update). - Newest engine: Update beside Back to tested once main moves on; In use / New tags in the upstream list. - Data safety: keep an unreadable library aside, report save failures, create the prod.keys copy as 0600 from the first byte. - DMG made with diskutil image; small concurrency cleanups. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- When a game closes, a Selene-style card in the top right shows this session's and the total play time over the game's art and logo (Settings -> Games -> Session card, on by default; none under 10 s). - A game quit while in front brings NX Library back, including to its full-screen Space: macOS makes it active but leaves the desktop on screen, so the main window is brought forward too. Not when another app was in front or another library game is open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sessions dropped from play-sessions.json (it keeps the latest 200) now fold into per-game totals in play-sessions-totals.json, so a game's total play time and last played date no longer shrink. The sessions file stays a bare array that older versions can read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
On the Newest engine row, A now takes Update once main has moved on (it used to go back to the tested engine), and Y goes back to tested, named in the hints bar. Settings rows can carry a second action for Y. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tons Re-pin nxnative 7fe9fc4d -> e5f03403 (Ocarina prewarm and memory, Press a button to join, Ace Attorney, DRAGON BALL: Sparking! ZERO, Ori and more). nxnative 5c4dc18f removed is_merged and package_title_reader: the metadata bridge now reads every package in one package_reader run, keeps the older reader for earlier engines, and reports the engine's keys message. A base game alone is packed at its own version (-p). The failure table reads the new "no game package with a readable content meta" message; the game and shaders_stale progress events stay out of the log. Settings: on a row with two buttons (Update and Back to tested), Left and Right move the focus between them and Return or A presses the one in focus, replacing Y. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A workspace NX Library staged with the selected packages alone holds no other version, so -p is left out and the engine picks by content meta: a version stored by an older scan, taken from a file name, can no longer be refused. Merged packages, NUPs, dumps and folders used as they are still name the selection. The tool PATH ends with ~/.dotnet, where Microsoft's install script puts .NET and the engine also looks, so Setup no longer reports it missing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-pin nxnative e5f03403 -> bd979ced: mesh shaders' position is invariant, so Ocarina of Time's foliage no longer flashes white; Unreal's fixed frame rate is found where the engine is made (Pikmin 4 at 60 fps, up to 120 on the Mac; Sparking! ZERO); GPU counter timestamps from one host sample. Same Metal compiler and CLI; the shader chain moves, so games translate their shaders again at their next build. Candidate until the maintainer's rebuild. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hotfix 0.1.4.1: every change since 0.1.4 (
main). Not released: no tag, no DMG,release.shnot run.Engine
The pinned nxnative moves
b2d46b86 → 7fe9fc4d → e5f03403 → bd979ced(69 upstream commits, each reviewed). The certified Metal compiler stays32023.922(Xcode 27.2 minimum), and there is nothing new to install or bundle. Upgrade notes:What players get:
launcher.json.NX Library changes the engine required:
is_mergedandpackage_title_reader. The metadata bridge now reads every package in onepackage_readerrun, taking title IDs and versions from content metas, never file names. Earlier engines still use the older reader. A package the engine cannot read is skipped and named; keys that cannot open the packages stop the scan with the engine's line (the missing key's name, never a value).-p). It is left out when NX Library staged the selected packages alone, so the engine picks by content meta, and a version an older scan took from a file name can't be refused. Merged packages, NUPs, dumps and folders used as they are still name it. A base game built alone is packed at its own version (v65536for one served at 1.1.0).gameandshaders_staleprogress events stay out of it: asaywith the same news follows each.DM_CTRL_PROMPT_TEXTis not adopted yet. It belongs with the languages work.Added
Changed
diskutil image create from, falling back tohdiutilwhere it is missing.Fixed
library.json.damaged-…instead of being written over.prod.keysprivate copy is created0600from its first byte (open(O_CREAT|O_EXCL, 0600)), not made private after the write.play-sessions-totals.json, andplay-sessions.jsonstays a bare array that older versions read.~/.dotnet(Microsoft's install script) is found by Setup and builds, after the system folders, as the engine does.Housekeeping
docs/architecture.md,docs/file-map.md, the upgrade-notes index.Verification
swift test: 1127 tests passed, includingPortingFailureEngineTestsandEngineRuntimeRequirementsTestsagainstbd979ced.nx_extractbuilt, non-packages reported unreadable, checkout left clean.scripts/build_app.shpassed;codesign --verify --deep --strictpassed on NX Library Dev; publication checks passed.bd979ced(shaders translate again, no foliage flashes);🤖 Generated with Claude Code