<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/core/file_sys/nup_writer.cpp, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-11-03T00:12:54+00:00</updated>
<entry>
<title>nup_writer: keep the dump's own layout for non-exefs/romfs entries</title>
<updated>2026-11-03T00:12:54+00:00</updated>
<author>
<name>a55uka</name>
<email>59313695+a55uka@users.noreply.github.com</email>
</author>
<published>2026-11-03T00:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ebec180bf1125b4f29b068922d1220c8af9b63b0'/>
<id>urn:sha1:ebec180bf1125b4f29b068922d1220c8af9b63b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>file_sys: let the NUP packer override and probe the name, icon and version</title>
<updated>2026-11-02T16:23:47+00:00</updated>
<author>
<name>kraibse</name>
<email>33869366+kraibse@users.noreply.github.com</email>
</author>
<published>2026-11-02T16:23:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=4267169006fc4ed43f6d810e08426fb8058de9c0'/>
<id>urn:sha1:4267169006fc4ed43f6d810e08426fb8058de9c0</id>
<content type='text'>
PackOptions::metadata overrides the title name, icon and display version
found in the dump. A version override is written to the base and to the
newest update, since the NUP loader reads the version from the newest
update first. ProbeMetadata reads what a dump would be packed with, the
version coming from the newest update that reports one, else the base.

Assisted-by: Claude Sonnet 5.5 (wrote the metadata overrides, ProbeMetadata and their test)
</content>
</entry>
<entry>
<title>file_sys: add a deterministic NUP packer, Convert to NUP in Qt and eden-cli --pack-nup (#271)</title>
<updated>2026-11-02T07:39:49+00:00</updated>
<author>
<name>Jonas</name>
<email>104419015+jojo-chaechae@users.noreply.github.com</email>
</author>
<published>2026-11-02T07:39:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=926e7ac6af102956b08cc053d81527ec3be855a2'/>
<id>urn:sha1:926e7ac6af102956b08cc053d81527ec3be855a2</id>
<content type='text'>
* file_sys: add a NUP packer for loose dumps

Packs a loose dump (exefs/romfs, base/, updates/&lt;version&gt;/ and
dlc/&lt;titleid&gt;/&lt;n&gt;/) into a NUP v1 container with the aligned record
layout. Every package is kept, files are deduplicated by SHA-256 and
compressed with zstd unless that does not shrink them, and files over
256 MiB are stored raw.

Output is byte-identical on every platform: compression is
single-threaded with every frame parameter set explicitly, and zstd is
always bundled so all builds use the same version.

A low-storage mode deletes each source file once its extent is synced
and journaled, and an interrupted run resumes from the journal.

Assisted-by: Claude Opus 5.5 (wrote the packer, its EdenPack-free dump detection, the aligned record layout and the deterministic zstd setup; ran the Raiders and Donkey Kong Bananza packs and boot checks)

* tests: cover the NUP packer

Round-trips a dump through NupContainer, checks standalone updates, a
bare exefs/romfs dump, low-storage resume and overwrite rejection, and
pins the hash of a packed dump so changes to the output are deliberate.

Assisted-by: Claude Opus 5.5 (wrote the tests, including the pinned output hash)

* qt: add Convert to NUP to the game list

Shown for loose dumps. Asks for confirmation with the estimated space,
offers low-storage mode, runs in the background with progress and
cancel, and resumes an interrupted low-storage conversion.

Assisted-by: Claude Opus 5.5 (wrote the Convert to NUP action and its progress and resume handling)

* cli: add --pack-nup &lt;dump&gt; [out.nup]

Assisted-by: Claude Opus 5.5 (wrote the --pack-nup option)</content>
</entry>
</feed>
