Skip to content

NX Library 0.1.4.1

Choose a tag to compare

@Bium23 Bium23 released this 07 Nov 19:24
· 5 commits to main since this release

A hotfix with a newer engine: Ocarina of Time loses its last visual glitches, Pikmin 4 runs at 60 fps, and a game you close now brings you back to NX Library with a recap of the time you played.

After you play

  • Session card. When you close a game, a card in the top right says how long you played this time and in total, over the game's faint art with its logo. It waits until NX Library is in front, stays 8 seconds and takes no input; sessions under 10 seconds show none. Turn it off in Settings → Games → Session card.
  • Back to NX Library when a game closes. Quitting a game you were playing brings NX Library back to the front, in its own Space, instead of leaving you on the desktop. If you had moved to another app while the game ran, or another game is still open, NX Library stays where it is.
  • Play time no longer shrinks. NX Library keeps the latest 200 sessions; older ones now count toward each game's total and last played date instead of disappearing from it. Time already lost before this fix can't be recovered.

Engine

  • Updated nxnative to bd979ced (from b2d46b86, through 7fe9fc4d and e5f03403, both tested with an Ocarina of Time rebuild). The Metal compiler is the same, so no new setup is needed.
    • Ocarina of Time (Switch 2): no more dotted rows across fog and light, holes in the ground, white blotches in Kokiri Forest or white flashes in the foliage, and the Poe Sisters' and Phantom Ganon's paintings have their colours. Its first start prepares its pipelines before the first frame, and it uses less memory.
    • Pikmin 4 runs at 60 fps, up to 120 on the Mac (Game options → Frame rate, after a rebuild). DRAGON BALL: Sparking! ZERO now plays.
    • Upstream also reports fixes for The Great Ace Attorney Chronicles, Monster Jam Steel Titans 2, Little Nightmares II, Ori and the Will of the Wisps, Mario Kart World, Mario Kart 8 Deluxe's shader build time, Donkey Kong Bananza's ambient occlusion, Super Smash Bros. Ultimate's first start, Hyrule Warriors: Age of Calamity's cutscenes, Tetris 99, Pokémon Friends, Splatoon Raiders and Cuphead 1.3.7.
    • Controllers: two identical controllers over USB are two players. Rebuilt games get Press a button to join in Game options → Controls: a controller becomes a player at its first button press.
    • 30 fps in full screen is steadier, and a NUP is no longer unpacked again when it hasn't changed.
    • Every game translates its shaders again at its next build, so that first rebuild takes longer.
  • Game files are read by what they contain. The engine now takes each game file's title and version from inside the file, not from its name, and NX Library does the same when you add games. A file named with the wrong [v…] tag is no longer a problem, and a base game that is already version 1.1.0 builds as such. Games added before this version rebuild without being added again.
  • The newest engine can be updated in place. While you use Newest engine (Settings → Engine) and nxnative main moves on, Check offers Update beside Back to tested and says how many commits newer main is. With the keyboard or a controller, Left and Right move between the two buttons and Return or A presses the one in focus. In the upstream list, the commit you are on is tagged In use in green and newer ones New in orange.
  • Installed games keep their engine until you rebuild them.

Mods

  • Mods that need a loader are left out. Some GameBanana file mods need a loader or a PC tool (exlaunch, Skyline, ARCropolis, TKMM, a mod manager, TotK Recomp, ReShade). The engine runs none of them, so such a mod would install and then not work, or break the game. NX Library now reads a mod's requirements and doesn't list those. A tool the author only recommends doesn't hide a mod.
  • A mod's panel shows its requirements, such as the game version it was made for or another mod it needs, under its version line, so a mismatch shows before the download.
  • A mod you installed from GameBanana always shows in the game's Mods band, with Update when its author replaced the file. Before, it could vanish while GameBanana left it out of the game's list, or when it was past the band's first twelve mods.

Fixes

  • .NET in your home folder is found. Setup and builds also look for .NET in ~/.dotnet, where Microsoft's install script puts it.
  • A library file that can no longer be read is kept beside it as library.json.damaged-… instead of being written over by the next save.
  • When NX Library cannot save the library (a full disk, for example), it says so instead of losing recent changes at the next start in silence.
  • The private copy of prod.keys is readable only by you from its first byte, not made private just after it is written.
  • The DMG is made with diskutil image, as macOS 26 asks.

Considered and not adopted

  • Translated texts for the "more players wanted" prompt (DM_CTRL_PROMPT_TEXT): NX Library is in English for now, the prompt's own language. It will come with the languages work.
  • Diagnostic engine switches (DM_NVN_END_ALIAS, DM_NVN_ALLOCPROF=2) and DM_PAD_IDENTICAL, which only turns the identical-pads fix off, stay out of the app.

Known issue

  • A game drawn upside down (#5). The picture comes from the nxnative engine, and no NX Library option flips it. Please report affected games, with title ID and version, at nxnative's issues.

Updating

Updating keeps your library, mods and preferences. Existing game apps remain playable and are not rebuilt automatically; rebuild a game to use the new engine. Setup prepares the new engine in one step after the restart.

Use the DMG for a first installation. Installed release copies can update from Settings → About → Check now.