<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/yuzu/game/game_list.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-02T15:01:57+00:00</updated>
<entry>
<title>Merge remote-tracking branch 'origin/nx2' into codex/upstream-loading-hotkeys</title>
<updated>2026-11-02T15:01:57+00:00</updated>
<author>
<name>kraibse</name>
<email>33869366+kraibse@users.noreply.github.com</email>
</author>
<published>2026-11-02T15:01:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=b374709aa202d586dd09f81f3389da8d73fea0d7'/>
<id>urn:sha1:b374709aa202d586dd09f81f3389da8d73fea0d7</id>
<content type='text'>
</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>
<entry>
<title>game_list: discover loose dumps without walking their RomFS payloads</title>
<updated>2026-11-01T20:52:30+00:00</updated>
<author>
<name>snowstormxd</name>
<email>214507868+snowstormxd@users.noreply.github.com</email>
</author>
<published>2026-11-01T18:37:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=8e777214b02be0f254abdcc1adbc195e765e36a6'/>
<id>urn:sha1:8e777214b02be0f254abdcc1adbc195e765e36a6</id>
<content type='text'>
Defer RomFS construction, reuse one discovery result, omit recursive folder sizing, and release rows discarded by cancellation. Add scan suspension and regression coverage for extracted layouts and Unicode paths.

Assisted-by: Codex (implementation, selective integration and automated validation)
</content>
</entry>
<entry>
<title>Fix game list crash, unresponsive macOS menu, and missing SDL gamepad input (#100)</title>
<updated>2026-10-31T13:33:08+00:00</updated>
<author>
<name>QuantumDriftDev</name>
<email>350698041+QuantumDriftDev@users.noreply.github.com</email>
</author>
<published>2026-10-31T13:33:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=d4e2dc88611252748b8dc3bb70baf56fc8bd2256'/>
<id>urn:sha1:d4e2dc88611252748b8dc3bb70baf56fc8bd2256</id>
<content type='text'>
* game_list: fix crash when scanning games by removing nested event processing

Assisted-by: DeepSeek V4 Pro (root cause diagnosis and fix)
Signed-off-by: QuantumDriftDev &lt;350698041+QuantumDriftDev@users.noreply.github.com&gt;

* macos: fix unresponsive application menu by removing the SDL/Qt event loop conflict

Assisted-by: GPT-6.1 Sol (root cause diagnosis and implementation)
Signed-off-by: QuantumDriftDev &lt;350698041+QuantumDriftDev@users.noreply.github.com&gt;

* input_common: handle SDL gamepad button and axis events

Assisted-by: DeepSeek V4 Pro (implementation)
Signed-off-by: QuantumDriftDev &lt;350698041+QuantumDriftDev@users.noreply.github.com&gt;

---------

Signed-off-by: QuantumDriftDev &lt;350698041+QuantumDriftDev@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>[qt] nuke game compat list (again) (#4201)</title>
<updated>2026-07-12T07:32:11+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-07-12T07:32:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=7f85c6e2823d34bfa32cae6d52a44846f8553731'/>
<id>urn:sha1:7f85c6e2823d34bfa32cae6d52a44846f8553731</id>
<content type='text'>
we have no use for it
it's dead code
most of the time users just complain about how the list isn't updated
ok so what if we update it? great now its more noise added to the git, awesome
even if we constantly update it, we introduce new breakage that makes keeping
track of things extremely difficult

either we integrate with emuready (would violate self containment principles)

or we integrate with emuready in a similar fashion to eden news outlet
(where we cache the list with some TTL of like 60 mins or whatever)
that would be better respecting of "self containment" but would probably
require having a quick way to update the list additively, probably filtered to the user's
device instead of a global thing, and i dont think emuready has that granularity
nor we have the "connect this to that" for the api stuffs

another (which is what i propose here) is throw everything out of the window
until someone can come up with something better

Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4201
Reviewed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
</content>
</entry>
<entry>
<title>[desktop] Add basic carousel view (#4112)</title>
<updated>2026-06-22T19:04:47+00:00</updated>
<author>
<name>crueter</name>
<email>crueter@eden-emu.dev</email>
</author>
<published>2026-06-22T19:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=39be450fa3a7248f7dde73dfe91d2f0447a155dd'/>
<id>urn:sha1:39be450fa3a7248f7dde73dfe91d2f0447a155dd</id>
<content type='text'>
Adds a basic carousel view, or essentially a horizontal list a la Android/Qt Quick.

Lacks a lot of niceties like autoscroll, smooth shifts, etc. Will work on those later

Also fixed a bug introduced recently that capped game icon size to 8 at the low end, breaking the None option

Signed-off-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4112
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: Shinmegumi &lt;shinmegumi@eden-emu.dev&gt;
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[desktop] Clean up game list code, fix external watcher crash, and fix macOS flickering (#4106)</title>
<updated>2026-06-19T20:55:29+00:00</updated>
<author>
<name>crueter</name>
<email>crueter@eden-emu.dev</email>
</author>
<published>2026-06-19T20:55:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=102d2545303daa926f39e5cf6518c6ce99c7918d'/>
<id>urn:sha1:102d2545303daa926f39e5cf6518c6ce99c7918d</id>
<content type='text'>
- Remove unnecessary icon update code (the UI reloads this stuff anyways); test on Windows please
- Cleaned up a bunch of duplicated/unused code within the game list
- Fix the game list constantly reloading on macOS
  * When you reconstruct the entire directory list on the watcher the directoryChanged signal fires on macOS--seems like a behavioral change that occurred somewhere in the 6.8 release cycle--and it would enter an infinite loop very quickly
  * To fix this, only the differences between the current and old watch list are accounted for on both ends.
  * Since this bug is now fixed, macOS uses Qt 6.11.1 now. Should theoretically improve our situation.
- Fix the external content watcher crashing; the worker would attempt to read files that didn't exist without any bounds since its cache was still pointing to that file.

This supersedes and replaces #4099.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4106
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[game_list] fix crash and flashing from the directory watcher (#4099)</title>
<updated>2026-06-16T14:20:02+00:00</updated>
<author>
<name>BoiledElectricity</name>
<email>james.dellamorte@gmail.com</email>
</author>
<published>2026-06-16T14:20:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ce14fc91fb84c51650f57c059396756e1fc3c4cf'/>
<id>urn:sha1:ce14fc91fb84c51650f57c059396756e1fc3c4cf</id>
<content type='text'>
So the game list watcher could rebuild the content providers
(CreateFactories) while the populate worker was still scanning them, and
the worker would walk a torn-down RegisteredCache and segfault in
OpenFileOrDirectoryConcat. Fixed by stopping and joining the worker
before rebuilding.

On macOS the watcher also re-armed itself every populate. Re-adding the
same paths makes QFileSystemWatcher re-emit directoryChanged (the
FSEvent comes in async, so the blockSignals guard misses it), so it just
kept refreshing and the list flashed forever. Now it only re-arms when
the watched dirs actually changed.

Also null-guarded OpenFileOrDirectoryConcat so a torn-down cache cant
null-deref there.

Related: https://github.com/eden-emulator/Issue-Reports/issues/336
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4099
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[qt] fix various crashes due to invalid/corrupted/outdated settings (#4070)</title>
<updated>2026-06-14T18:48:24+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-06-14T18:48:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=60e10327715e420f652ed148e72e22ce8ded55a3'/>
<id>urn:sha1:60e10327715e420f652ed148e72e22ce8ded55a3</id>
<content type='text'>
lots of "out of index" errors :)

Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4070
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[desktop] Rework game list to use MVP architecture (#4042)</title>
<updated>2026-06-02T02:08:24+00:00</updated>
<author>
<name>crueter</name>
<email>crueter@eden-emu.dev</email>
</author>
<published>2026-06-02T02:08:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=cc8451f764979db23208dd5a55884cd62fd8b673'/>
<id>urn:sha1:cc8451f764979db23208dd5a55884cd62fd8b673</id>
<content type='text'>
Closes #3480

moves the game list model/worker/private stuff to qt_common for later
use in QML

- `qt_common/game_list/model.{cpp,h}` is the model
- `yuzu/game/game_{grid,tree}.*` are the views
- `yuzu/game/game_list.cpp` is the presenter

This was done very lazily in a manner that "works" while largely
maintaining existing structure as much as possible. Most of it is
copy-paste, with some bonus reworks/cleanups thrown in.

Signed-off-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4042
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: Lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
</feed>
