Commit Graph
100 Commits
Author SHA1 Message Date
crueter b2b98ac83a [desktop] refactor profile management and fix some misc bugs with it (#3415)
Adding and editing users is now done in a single dialog rather than all those other individual buttons and dialogs like before.

Fixed some bugs with profile management too, and made edit/delete a right-click menu.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3415
2026-01-29 17:17:28 +01:00
crueter 84839dec38 [cmake] add a YUZU_STATIC_ROOM option (#3411)
Lets you build ONLY the necessary targets to get a statically linked
room executable.

Only intended to be used on musl targets due to getaddrinfo et al.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3411
Reviewed-by: MaranBr <[email protected]>
2026-01-28 23:54:49 +01:00
crueter 4624b16cc6 [cmake] Fix httplib build with OpenSSL enabled but web service disabled (#3395)
Related to news changes, oops

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3395
Reviewed-by: Maufeat <[email protected]>
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2026-01-28 21:17:38 +01:00
crueter 5e2c536a86 [tools] fix CPMUtil not properly fetching qt externals (#3407)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3407
2026-01-28 21:16:49 +01:00
crueter 283b94056d [desktop] Allow installation of keys from the initial warning box (#3402)
whynot

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3402
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2026-01-28 21:16:32 +01:00
crueter acda082f40 [externals] Update SPIRV externals to fix MSVC18/VS2026 build (#3401)
Fixes build on Visual Studio 2026, aka MSVC 18. Just updates spirv stuff
since Khronos implemented some build fixes there as it would seem.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3401
2026-01-27 22:40:53 +01:00
crueter f61f0a28c6 [cmake] Fix MinGW/arm64 build/runtime errors (#3352)
Mostly just jpeg being weird. Also, due to the way I've built it, we
don't need all those system libs anymore because they are bundled into
the Qt build.

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3352
Reviewed-by: DraVee <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2026-01-20 18:31:28 +01:00
crueter 872e03c9a6 [android] exclude cpm cache from index, set default to mainline (#3340)
Your radioactive computers get beat by an intel i5-2540M on a 5400RPM
hard drive that exploded in my sleep btw

Also sets mainline to default and gets rid of the horrific naming logic
I had before.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3340
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: DraVee <[email protected]>
2026-01-19 23:12:46 +01:00
crueter 8663d7fa41 [android] DriverFetcher: add Whitebelyash's Turnip repo (#3343)
* Reverting back recommended A8XX drivers to Gamehub Adeno 8XX (T23 is on experimental phase)

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3343
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: DraVee <[email protected]>
2026-01-19 13:19:28 +01:00
crueter 1ae084e87b [ci] update license header year to 2026 (#3341)
happy new year or something

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3341
Reviewed-by: DraVee <[email protected]>
2026-01-19 03:41:25 +01:00
crueter 6f9fb83a1d [cmake] Fix Qt component finding (#3319)
Oops

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3319
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: DraVee <[email protected]>
2026-01-16 03:34:04 +01:00
crueter 89f72d286a [cmake, tools] update CPMUtil and add support for CPMUtil bundled Qt, module updates, cleanups (#3289)
Support for bundled Qt, not through aqtinstall but rather my CI. Multimedia is
implemented too, works on both Windows and Linux, though we don't
actually use it so it doesn't really matter. Contains Declarative and all that so the Quick frontend will work once it becomes a thing.

Some options have changed, notably w.r.t LTO and faster
linker, which are now handled directly in the modules.

CPMUtil also has support for custom dirs (`PackageName_CUSTOM_DIR`) now. Probably most useful for adding external fragment shaders and whatnot.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3289
2026-01-14 19:29:13 +01:00
crueter 6f045383c5 [ci] fix unused strings workflow (#3248)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3248
2026-01-01 00:06:29 +01:00
crueter 73f2535edc [desktop, settings] new RendererHacks category, move to Extensions -> Extras, fix GPU accuracy naming (#3245)
added a new RendererHacks category, moved them to the Extensions tab and
renamed that tab Extras. Should fit in smaller screens now

also Performance -> Fast, GPU Accuracy -> GPU Mode

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3245
Reviewed-by: MaranBr <[email protected]>
2025-12-31 23:45:58 +01:00
crueter 966fcc0c30 [cmake, docs, tools] update CPMUtil (#3183)
Rewrote the entire tooling scheme. That's about it, just make sure
tooling works as expected everywhere.

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3183
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-12-31 17:16:46 +01:00
crueter fb1600b7d1 Revert "[bsd, am, fermi] Replace assertions with warnings and update stubs (#3160)" (#3239)
This reverts commit adc41bff70.

fixes jackbox, potentially some others

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3239
Reviewed-by: MaranBr <[email protected]>
2025-12-31 01:11:47 +01:00
crueter e4cbcec2f1 [settings, frontend] Reorganize graphics/CPU settings, saner defaults (#3233)
- Fast GPU now defaults to 256, removed 128 since it's useless.
- Completely reorganized graphics and CPU settings on both platforms.
  Also got rid of Eden's Veil
- Merged some "use ..." settings that weren't really necessary.
- Changed ExtendedDynamicState to be a combo box

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3233
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: DraVee <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-12-30 18:03:09 +01:00
crueter 5213cc5689 Revert "[vk] Correct polygon draw topology mapping for line and point modes (#2834)" (#3158)
This reverts commit 6ba25b6cc0.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3158
Reviewed-by: Maufeat <[email protected]>
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: Caio Oliveira <[email protected]>
2025-12-26 02:33:53 +01:00
crueter 363d861011 [ffmpeg] update to 8.0.1, enable VTBox/mediacodec/d3d12 hwaccels (#3156)
MediaCodec needs some jvm shenanigans to work, but the others should
Just Work(TM). Need tests on Windows (AMD/Intel), macOS

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3156
Reviewed-by: Caio Oliveira <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-12-13 20:32:37 +01:00
crueter c03f7cf284 [android] remove unused strings (#3157)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3157
2025-12-06 21:04:38 +01:00
crueter e75ecfd4a0 [externals] change bundled MVK to Ori's fork (#3141)
Fixes the weird Metal shader crash we saw previously, so now macOS works again. Hooray!

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3141
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: Maufeat <[email protected]>
2025-12-04 07:18:19 +01:00
crueter 18135424df [cmake] more modules, general "cleanup" (#3126)
Successor to that old MoltenVK PR. Does a lot of cleanups within root CMakeLists.txt, hands over MoltenVK and VulkanValidationLayers to CPMUtil, and separates out common operations into my modules.

Hopefully reduces the monstrosity that is root CMakeLists.txt. Please test:

- builds on all platforms
- VulkanValidationLayers

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3126
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
2025-12-04 06:00:58 +01:00
crueter fe8017734b [cmake, externals] android x86_64 support (#3086)
Updates all of our bundled CI deps to support android x86_64, adds a
build flavor thereof (`chromeOS`), and also adds sirit mingw support.

The new FFmpeg package is built in a much better way that actually makes
it identically built to the other CI packages, meaning we now have real
8.0.0 support, no need for libvpx/cpu_features/all that other crap.
PLUS, we can now statically link it! Hooray! It's also built with
MediaCodec support so in the future we can work on that.

Rewrote the android build script too, plus added a copyFlavorTypeOutput
target that assembles and copies the APK. The code behind it sucks
because I'm not great with Gradle but hey, it works.

Testers: please test everything related to video decoding. VP9 and h264, games that normally suck with their prerendered stuff, make sure I didn't nuke it to oblivion, etc.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3086
Reviewed-by: Caio Oliveira <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-12-03 06:40:11 +01:00
crueter 318998cbb5 [cmake] fix macos mbedtls (#3109)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3109
2025-11-27 19:59:08 +01:00
crueter 027085e5ba [desktop] fix audio output engine not saving (#3083)
This issue has like 15 different causes, and I'm surprised it took this
long to pop up.

1. LoadString had a hack *specific* to the AudioEngine enum. Why?
   Solving this was easy, just use the explicit type ctor. -_-
2. The LoadString hack was abused in configure_audio.cpp to get around
   the canonicalization infrastructure that was explicitly put in to
   make this exact operation easier. Why?
3. ToString was also broken because of LoadString's garbage output.
   Technically it might work now, but it's better to just use the
   canonicalization infrastructure that was made specifically for this
   purpose.

Also did a few tiny optimizations in config/settings cuz wynaut.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3083
Reviewed-by: Caio Oliveira <[email protected]>
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-11-25 00:20:16 +01:00
crueter 0d3cef65ad fix clang-cl comp (#3044)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3044
2025-11-18 19:02:08 +01:00
crueter 91d41d1c34 [logging] USER null fallback (#3021)
If `USER` was unset, logging would crash immediately. `USER` is *not* a guaranteed variable, so to get around this we add a null fallback and also prefer `LOGNAME`, which is "standard" on POSIX systems (yet half the time isn't set because fuck me I guess)

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3021
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: Maufeat <[email protected]>
2025-11-17 22:42:51 +01:00
crueter c160d6b752 [desktop] remove stale compat report function (#3038)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3038
Reviewed-by: Caio Oliveira <[email protected]>
2025-11-17 22:36:35 +01:00
crueter eb2d9ea574 [ci, tools] working find-unused-strings, android strings CI (#3036)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3036
2025-11-17 15:52:30 +01:00
crueter b690813196 [externals] FFmpeg -> v8.0-be99d2c0b2, OpenSSL -> v3.6.0-e3608d80df, SDL2 -> 2.32.10-38e0094637 (#3003)
FFmpeg:
- builds for FreeBSD, OpenBSD, Solaris
- minsizerel
- Proper system lib linking on MinGW
- removed shared stuff entirely outside of android because their build system SUCKS

OpenSSL:
- macOS universal
- Proper system lib linking on MinGW

SDL2:
- macOS universal

Both are now based on branches/commits rather than tags (since their respective release branches have a ton of new stuff lol)

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3003
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
2025-11-16 04:59:30 +01:00
crueter 7832afc5dd [externals] update nx-tzdb to 121125 (#3011)
real gzipped archive

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3011
Reviewed-by: Caio Oliveira <[email protected]>
2025-11-13 03:25:55 +01:00
crueter 87c4f658ce [ci] tx update ci (#3008)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3008
2025-11-12 05:21:49 +01:00
crueter b7584cb2c3 [ci] push sources on every master push (#3007)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3007
2025-11-12 04:38:32 +01:00
crueterandPabel Sobolev f32f356c40 [desktop] always include common/detached_tasks.h (#3002)
Co-authored-by: Pabel Sobolev <[email protected]>
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3002
2025-11-11 07:44:14 +01:00
crueter 7ca657d22f [cmake] allow static MinGW/macOS builds; fix clangarm64 (#2994)
Requires qt6-static, obviously... at least for eden. eden-cli also can
be built fully static
Notable challenges n such:
1. VkMemAlloc conflicts with Qt, since it embeds vk_mem_alloc.h in
   qrhivulkan; we can get around this by conditionally defining
   VMA_IMPLEMENTATION; that is, define it in the SDL2 frontend and undef
   it in the Qt frontend. It's not ideal, but I mean... it works, no?
2. find_library, pkgconfig, and some Config modules will always look for
   a .dll, so we have to tell CMake to look for .a
3. In spite of this, some will end up using .dll.a (implib) as their
   link targets; this is, well, bad, so we create a find_library hook
   that rejects dll.a
4. Some libraries have specific configs (boost lol)
5. Some libraries use _static targets (zstd, mbedtls)
6. Some extra libraries need to be linked, i.e. jbig, lzma, etc
7. QuaZip is sad

Needs testing on all platforms, and for both frontends on desktop, to
ensure Vulkan still works as expected.

(also: CI). Resulting executables are:
- 71MB for eden.exe
- 39MB for eden-cli.exe

Considering the entire libicudt is included (thanks Qt), that's a great size all things considered. No need to bundle all those plugins and translation files too.

Theoretically, this lays the groundwork towards fully static executables for other platforms too; though Linux doesn't have a huge benefit since AppImages are needed regardless. eden-room though maybe?

Fixes comp for clangarm64 because -msse4.1

Also allows macOS to build with qt6-static. macOS can't build static executables, but with these changes it ONLY relies on system libraries like libc and frameworks. So in theory we don't even need macdeployqt.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2994
2025-11-11 06:22:33 +01:00
crueter 08f3639c80 [desktop, fs] main_window separation; fix Ryujinx save data link issues (#2929)
Some genius decided to put the entire MainWindow class into main.h and
main.cpp, which is not only horrific practice but also completely
destroys clangd beyond repair. Please, just don't do this.

(this will probably merge conflict to hell and back)

Also, fixes a bunch of issues with Ryujinx save data link:
- Paths with spaces would cause mklink to fail
- Add support for portable directories
- Symlink detection was incorrect sometimes(????)
- Some other stuff I'm forgetting

Furthermore, when selecting "From Eden" and attempting to save in Ryujinx, Ryujinx would destroy the link for... some reason? So to get around this we just copy the Eden data to Ryujinx then treat it like a "From Ryujinx" op

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2929
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: CamilleLaVey <[email protected]>
2025-11-09 18:07:38 +01:00
crueter 9406438d51 [vk] disable VK_EXT_vertex_input_dynamic_state again (#2954)
DO NOT REMOVE THIS! EVER! EVEN IF MESA CLAIMS TO FIX IT!

A few months ago, Aleksandr and I did extensive testing on a 6600 and
6950XT and were able to confirm that VK_EXT_vertex_input_dynamic_state
is indeed broken beyond repair on RADV. MESA has claimed multiple times
to fix this, yet it's never budged once (average GitLab users)

Most games literally do not work without this. DO. NOT. REMOVE.
EVER!

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2954
Reviewed-by: Caio Oliveira <[email protected]>
2025-11-05 05:46:23 +01:00
crueterandPavel Sobolev 4bf2e0a7aa [dynarmic] Add a formatter for Dynarmic::IR::Opcode (#2948)
https://github.com/gentoo/guru/blob/fa6dcae7027e4c4d5b71fadcfa7dc01af8ff2358/games-emulation/eden/files/eden-0.0.4_rc1-add-a-formatter-for-Dynarmic-IR-Opcode.patch

Co-authored-by: Pavel Sobolev <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2948
2025-11-04 08:42:35 +01:00
crueter 82a476d458 [cmake] ffmpeg: use static on MSVC (#2946)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2946
2025-11-04 07:05:52 +01:00
crueter 6a9ad5e1ea [docs] full Gentoo caveats/deps (#2939)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2939
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: Caio Oliveira <[email protected]>
2025-11-02 23:56:25 +01:00
crueter c70abc8e43 [cmake, docs] msys: allow bundled FFmpeg, update dep/caveat docs, faster linking on Release mode (#2921)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2921
Reviewed-by: Caio Oliveira <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-11-02 08:15:48 +01:00
crueter 8ae7974092 [ssl] fix bundled OpenSSL ca cert issue (#2932)
I believe this is the final battle with OpenSSL

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2932
Reviewed-by: Maufeat <[email protected]>
2025-11-02 04:01:48 +01:00
crueter def4349e7a [dist, android] update translations from Transifex (#2917)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2917
2025-11-01 07:25:28 +01:00
crueter e93159b047 [qt] clean up some orphaned_profiles bugs; add help (#2894)
Some weird edge cases of "phantom" profiles that are actually needed
for... reasons I guess

Also, fixed some of the logic w.r.t empty checking, plus added a help
page

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2894
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: Maufeat <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-30 11:03:08 +01:00
crueter d3dbabcfc7 [docs] debug log/gfx debug info (#2871)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2871
Reviewed-by: Caio Oliveira <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-29 03:24:20 +01:00
crueter d34b44ce39 [desktop] move "Link to Ryujinx" (#2869)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2869
2025-10-28 22:05:23 +01:00
crueter 39f226a853 [qt] Ryujinx save data link (#2815)
This adds an action to the Game List context menu that lets users link
save data from Eden to Ryujinx, or vice versa.

Unfortunately, this isn't so simple to deal with due to the way Ryujinx's saves work. Ryujinx stores its saves in the... config directory... in `bis/user/save`. Unlike Yuzu, however, it doesn't store things by TitleID, instead it's just a bunch of directories from 000...01 to 000...0f and so on. The way it *maps* TitleID to SaveID is via `imkvdb.arc` in `bis/system/save/8000000000000000/0/` and also an identical copy in the `1` directory for... some reason. `imkvdb.arc` is handled by `FlatMapKeyValueStore` in LibHac, which, as the name implies, is a key-value storage system that `imkvdb.arc`, and seemingly `imkvdb.arc` alone, uses. The way this class is written is really weird, almost as if it's designed to accommodate more types of kvdbs... but for now we can safely assume that there aren't gonna be any other `kvdb` implementations added to HorizonNX.

Regardless, the file format is ridiculously simple so I didn't actually need to do a deep dive into C# code... of which I can basically only read Avalonia. A simple `xxd` on the `imkvdb.arc` is all that's needed, and here's everything that matters:
- The `IMKV` magic header (4 bytes)
- 8 bytes that don't really have anything useful to us, except for a size byte (presumably a `u32`) strewn at offset `0x08` from the start of the file, which is useless to us
- Then we start the `IMEN` list. I don't know what the `IM` stands for, but `IMEN` is just, well, an ENtry. Offsets shown are relative to the start of the `IMEN` header.
  * 4-byte `IMEN` magic header at 0x0
  * 8 bytes of filler data. It contains two `0x40` bytes, but I'm not really sure what they do
  * TitleID (u64) at `0xC`, for example `00a0 df10  501f 0001` for Legends: Arceus (the byte order is swapped)
  * 0x38 bytes of filler starting at offset 0x14
  * SaveID (u64) at `0x4C`, for example `0a00 0000 0000 0000` for my Legends: Arceus save
  * 0x38 bytes of filler starting at offset 0x54

Full example for Legends: Arceus:
```
000001b0: 494d 454e 4000 0000 4000 0000 00a0 df10  IMEN@...@.......
000001c0: 501f 0001 0100 0000 0000 0000 0000 0000  P...............
000001d0: 0000 0000 0000 0000 0000 0000 0100 0000  ................
000001e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
000001f0: 0000 0000 0000 0000 0000 0000 0a00 0000  ................
00000200: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000210: 0000 0000 0100 0000 0000 0000 0000 0000  ................
00000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000230: 0000 0000 0000 0000 0000 0000 494d 454e  ............IMEN
```
Ultimately, the size of the `IMEN` sits at 0x8C or 140 bytes. With this knowledge reading all the TitleID -> SaveID pairs is basically free, and outside of validation and stuff is like 15 lines of relevant code. Some interesting caveats, though:
- There are two entries for some TitleIDs for... some reason? Ignoring the second one seems to work though.
- Within each save directory, there are directories `0` and `1`... and only `0` ever seems used??? It's where Ryujinx points you to for save, so I just chose to use that.

Once everything is parsed, the rest of the implementation is extremely trivial:
- When the user requests a Ryujinx link, match the current program_id to the corresponding SaveID in `imkvdb`
- If it doesn't exist, just error out (save data is probably nonexistent)
- If it does though, give the user the option to use Eden's current save data OR Ryujinx's current save data.

Old save data is deleted depending on which one you chose.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2815
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-28 03:46:47 +01:00
crueter 07b09b3849 [codeowners] nyxynx -> kleidis (#2855)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2855
2025-10-27 17:31:06 +01:00
crueter 903faacaab [qt] clarify orphaned profiles by showing GOOD uuids (#2850)
Shows what profile UUIDs are actually good so the user knows which one
to copy their saves to.

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2850
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-27 11:25:42 +01:00
crueter 7846f4de31 [ci] delete old workflows (#2843)
unneeded, and highly outdated

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2843
2025-10-26 20:45:06 +01:00
crueter a0769ad835 [cmake] MinGW builds; fix line endings; fix weird multiplayer lobby behavior (#2835)
MinGW builds perform pretty dramatically better than MSVC in my (brief) testing, getting 40% better FPS on my KVM than MSVC. How this will translate to the real world, who knows, but this is a really good target to have.

TODO: Add this to CI, potentially replace clang-cl

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2835
Reviewed-by: MaranBr <[email protected]>
2025-10-26 17:28:14 +01:00
crueter 8d565d7793 [qt] fix Discord RPC by using httplib (#2825)
Commit `a079a93645a7219ada1bef84f476eb8269614f5b` inexplicably replaced
the httplib implementation of discord_impl.cpp with an inferior
Qt::Network version. This causes a lot of issues especially w.r.t CA
certs which are handled differently with bundled OpenSSL. Thus, this
just adds back the httplib implementation and makes discord RPC work
again.

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2825
Reviewed-by: MaranBr <[email protected]>
2025-10-25 07:28:08 +02:00
crueter 86432f9552 [dist, android] update translations from transifex (#2811)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2811
2025-10-21 23:39:07 +02:00
crueter df26fe2cac [cmake, android] remove stale popups, fix freebsd sdl2 (#2794)
FreeBSD has the wonderful feature of defining symbols that conflict with
itself making statically linking sdl2 literally impossible. What a
wonderful feature, wow I wonder why FreeBSD has so little market share
🤔

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2794
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-10-21 21:08:13 +02:00
crueter f1debdbac5 [license-header] make it actually work with posix shells (#2797)
grep doesn't support -P in POSIX, so to get around this we just replace
\n with space and match that with a POSIX basic expression

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2797
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-10-21 21:00:26 +02:00
crueter bff09f36cc [update_checker] Use bundled Mozilla certificates for httplib (#2785)
Previously, using bundled OpenSSL would result in the SSL library to
fail to resolve certificates due to weird system funkiness that is
basically impossible to deal with in a way that won't give you anal
cancer. So to solve this the OpenSSL CI now bundles a precompiled
certificate from Mozilla, which makes the update checker work

Needs update checker testing on Windows and Android first and foremost

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2785
Reviewed-by: MaranBr <[email protected]>
2025-10-21 20:43:42 +02:00
crueter e33d426ac4 [cmake] set boost components as optional (#2807)
https://github.com/boostorg/system/issues/132

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2807
2025-10-21 05:49:02 +02:00
crueter 54d6283ac3 [desktop] Fix misaligned output device (#2786)
Builder::BuildWidget previously relied on Qt to handle layout stretching
by implicitly setting each widget to have a stretch of 0. This is very
bad behavior, so to fix this we must set a stretch of 1 on each widget
that's added by the builder

furthermore, default and default_dark did not properly define a min-width or min-height for QComboBox. This caused the platform theme to take over sizing which is NOT GOOD and should basically be avoided always

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2786
Reviewed-by: MaranBr <[email protected]>
2025-10-20 04:08:38 +02:00
crueter 2e9dbe3f1d [cmake, tools, docs] Update CPMUtil (#2790)
updates CPMUtil to
[`8f9b39fc98`](https://git.crueter.xyz/CMake/CPMUtil/commit/8f9b39fc980fc7079c7c4471c19f219180abe368)

Makes the tooling/docs better and enforces usage of tar.gz everywhere as
opposed to zips

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2790
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-20 03:43:15 +02:00
crueter d7cd7c6313 [license-header] refactor: excludes, updating, better logic (#2780)
Rewrite of license-header.sh. Lots of new goodies:
- Fully POSIX compliant
- supports dash arguments (-u/--update, -c/--commit, -uc for both)
- can update year or malformed headers in-place now
- accounts for shell scripts
- exclusion of external files (e.g. sse2neon, my CMake modules/scripts)
- better, more extensible logic all around

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2780
2025-10-20 02:59:43 +02:00
crueter a53823646c [qt] fix translations (#2773)
Linguist strongly dislikes lookup tables of this sort due to the fact
that it looks for tr(), qsTr(), etc. when determining what strings need
translations. However, it does provide QT_TR_NOOP which marks the
string for translation *without* running the translation, which is designed
to allow for static or constexpr lookup tables. So let's use that.

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2773
Reviewed-by: MaranBr <[email protected]>
2025-10-18 22:19:06 +02:00
crueter b330117a14 [dist] update translations from transifex (#2569)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2569
Reviewed-by: MaranBr <[email protected]>
2025-10-18 19:29:19 +02:00
crueter 551f244dfd [dynarmic, qt] fix build with QuaZip <=1.4 and fmt v9 (#2755)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2755
2025-10-17 04:20:11 +02:00
crueter 3f725c979d [nx_tzdb] test: try cpm approach w/ msvc (#2709)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2709
2025-10-15 20:44:24 +02:00
crueter 2a5e6f98b6 [qt_common] fix build on QuaZip <= 1.4 (#2744)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2744
2025-10-15 05:20:03 +02:00
crueter fff8e2026f [qt_common] reorg + checkstate abstraction (#2735)
no diff. in functionality, just confirm builds on ubuntu 24.04/debian 12

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2735
2025-10-15 05:05:03 +02:00
crueter 5f9dba40a0 [desktop] Data Manager, data import/export (#2700)
This adds a "Data Manager" dialog to the Tools menu. The Data Manager allows for the following operations:
- Open w/ system file manager
- Clear
- Export
- Import

On any of the following directories:
- Save (w/ profile selector)
- UserNAND
- SysNAND
- Mods
- Shaders

TODO for the future:
- "Cleanup" for each directory
- TitleID -> Game name--let users clean data for a specific game if applicable

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2700
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-10-15 04:54:41 +02:00
crueter 0a54ac63f0 [vk] fix accidental functor param swap (#2743)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2743
2025-10-15 04:27:40 +02:00
crueter 94ca83a6ca [meta] fix some compilation errors (#2741)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2741
2025-10-15 04:25:56 +02:00
crueter 2f88463203 [cmake] do not link discord_impl to httplib (#2740)
This is unnecessary

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2740
2025-10-15 01:03:23 +02:00
crueter 11200714e8 [cmake] fix httplib find (#2739)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2739
2025-10-15 00:33:07 +02:00
crueter 973a65c4c5 [qt_common] fix typo (#2715)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2715
2025-10-11 04:31:14 +02:00
crueter 3656253262 [acc] do not consider system profile as orphaned (#2708)
Profile 00000000000000000000000000000000 is apparently needed for acnh,
etc

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2708
2025-10-10 05:59:31 +02:00
crueter 954c17c18a [frontend] change order of filters to match append rules (#2696)
otherwise, FSR would change to Gaussian etc.

in general, sans resolution, new enum values should always be appended

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2696
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-10-08 06:39:58 +02:00
crueter badd913bee [desktop] fix save data location, orphaned profiles finder (#2678)
Previously, if the user had their NAND in a nonstandard location,
profiles.dat would be read from the standard Eden path and thus return
effectively garbage data. What this would result in is:

- The Qt profile manager would be completely nonfunctional
- "Open Save Data Location" would put you into the completely wrong
  place
- Games would read from incorrect locations for their saves

To solve this, I made it so that profiles.dat is re-read *after*
QtConfig initializes. It's not the perfect solution, but it works.

Additionally, this adds an orphaned profiles finder:
- walks through the save folders in nand/user/save/000.../
- for each subdirectory, checks to see if profiles.dat contains a
  corresponding UUID
- If not, the profile is "orphaned". It may contain legit save data, so
  let the user decide how to handle it (famous last words)
- Empty profiles are just removed. If they really matter, they're
  instantly recreated anyways.

The orphaned profiles check runs right *after* the decryption keys
check, but before the game list ever gets populated

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2678
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-07 01:32:09 +02:00
crueter 6a4fa11ac3 [externals] only build spirv-tools as static (#2680)
Upstream forcefully builds the shared lib and also builds shared and
static separately for... some reason. I made a PR that fixes that, so
for now let's use it here

should speed up build on Android and Windows

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2680
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-07 01:31:36 +02:00
crueter 9f385bf627 [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666)
Uses tags for a bunch of deps that can use them

Also adds a bunmch of scripts to tools/cpm, notably for checking hashes
and checking for updates.

TODO for the future:
- CI target to check hashes
- Weekly CI to check for updates

Need to get that other CI runner up

additional stuff

- Ports gentoo fixes
- makes solaris work (TODO: sdl2)
- way better docs
- properly separates CPMUtil as a standalone project

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2666
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-10-05 03:04:53 +02:00
crueter 1a13e79c3d [cmake] fix video_core and tests comp errors on Windows (#2631)
did not link to video_core thus did not properly propagate the GPUOpen
target thus failed to find vk_mem_alloc

also msvc sucks

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2631
Reviewed-by: MaranBr <[email protected]>
2025-10-05 00:00:52 +02:00
crueter 83730cd4c1 [cmake] update CI deps, feat: sirit CI + new CI spec (#2655)
Updates sirit to our fork's latest version w/ SPIRV Headers included
(end goal is to remove spirv-headers entirely, as spirv-tools-ci should
include them inline as well)

Adds a sirit CI on our fork for all platforms (saves a bit of compile
time)

My CI spec has changed a little bit, and now there is no need for an
additional CMake file after the initial CMakeLists.txt (since targets
are now global imported). Plus, UNIX amd64 now has the amd64 suffix like
aarch64 and windows

Updates SDL2 to 2.32.10 and OpenSSL to 3.6.0

Finally, on Solaris all CI packages (sans FFmpeg) are now built with OmniOS, which
should in theory be fully compatible with OpenIndiana (our recommended
Sun-based target) but obviously will need testing

Need testing:
- [ ] Make sure I didn't nuke shader emission
- [ ] Make sure FreeBSD, OpenBSD, and OpenIndiana work fine with bundled
  sirit (check linking especially)
- [ ] Make sure SDL2, OpenSSL work with OpenIndiana now
- [ ] SDL2 on all platforms (input, etc)

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2655
2025-10-04 09:27:13 +02:00
crueter c77ad128b9 [cmake] whole-program LTO, prefer lld on clang (#2581)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2581
2025-09-27 22:40:08 +02:00
crueter 677148bdca [cmake] PUBLIC link to mcl for dynarmic (#2595)
fixes comp error in core/arm

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2595
2025-09-27 01:02:34 +02:00
crueter 2482846cf6 [core] fix msvc comp (#2567)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2567
2025-09-24 21:50:18 +02:00
crueter 76a8a6e039 [cmake] feat: FFmpeg CI, allow 16kb android builds, update translations for transifex (#2543)
Uses an FFmpeg CI for Android and Windows, also available for Linux. Saves compile time on Linux and is more consistent on Windows/Android.

Also, updates VVL and FFmpeg to allow for a fully 16kb-compliant Android build. Bonus: APK size is down 30%

Updated all localization files for Transifex while I was at it

TODO for future: Android 8.0 with vp9_vulkan et al.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2543
Reviewed-by: Maufeat <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-09-23 19:38:11 +02:00
crueter 1ca35b7559 [docs] signup instructions (#2542)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2542
2025-09-21 03:44:09 +02:00
crueter 06dabbadcb [cmake] fix OpenGL, git rev identifier (#2530)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2530
Reviewed-by: MaranBr <[email protected]>
2025-09-20 22:58:33 +02:00
crueter 6510818fca [docs] fixup codeowners (#2529)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2529
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Shinmegumi <[email protected]>
2025-09-19 18:20:51 +02:00
crueter b1ce3c8dc1 [docs] CODEOWNERS (#491)
cc: @CamilleLaVey @Lizzie

initial guess for everyone, may need more specificity etc.

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/491
Reviewed-by: Shinmegumi <[email protected]>
2025-09-18 02:38:15 +02:00
crueterandCaio Oliveira e1ffeec212 [docs] refactor: full rewrite, generalization + dedup (#488)
"docs but awesome"

Combines most of the stuff that was repeated thrice over verbatim into a
single common Build Instructions page, with additional caveats marked
elsewhere. Prettifies some stuff too because why not.

cc: @Lizzie @DraVee @MaranBr @SDK-Chan

Co-authored-by: Caio Oliveira <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/488
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-09-18 02:37:02 +02:00
crueter 6699361b7e [cmake] fix freebsd and openbsd, remove CPMUtil Eden copyright (#496)
CPMUtil is technically a completely separate project created and maintained solely by me, so it should actually be copyrighted to me

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/496
Reviewed-by: MaranBr <[email protected]>
2025-09-16 18:44:19 +02:00
crueterandMaranBr f4386423e8 [qt] refactor: qt_common lib (#94)
This is part of a series of PRs made in preparation for the QML rewrite. this PR specifically moves a bunch of utility functions from main.cpp into qt_common, with the biggest benefit being that QML can reuse the exact same code through ctx passthrough.

Also, QtCommon::Frontend is an abstraction layer over several previously Widgets-specific stuff like QMessageBox that gets used everywhere. The idea is that once QML is implemented, these functions can have a Quick version implemented for systems that don't work well with Widgets (sun) or for those on Plasma 6+ (reduces memory usage w/o Widgets linkage) although Quick from C++ is actually anal, but whatever.

Other than that this should also just kinda reduce the size of main.cpp which is a 6000-line behemoth rn, and clangd straight up gives up with it for me (likely caused by the massive amount of headers, which this DOES reduce).

In the future, I probably want to create a common strings lookup table that both Qt and QML can reference--though I'm not sure how much linguist likes that--which should give us a way to keep language consistent (use frozen-map).

TODO: Docs for Qt stuff

Co-authored-by: MaranBr <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/94
Reviewed-by: MaranBr <[email protected]>
Reviewed-by: Shinmegumi <[email protected]>
2025-09-15 17:21:18 +02:00
crueter d207df959a [cmake, core] refactor: update mbedtls and make YUZU_USE_CPM better (#485)
update mbedtls functors to support mbedtls3 signatures

moved some vulkan stuff from externals to root, yuzu_use_cpm manages
them now

needs testing:
- all key/derivation related things
- nca verification
- game loading/updates/stuff

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/485
Reviewed-by: MaranBr <[email protected]>
2025-09-15 04:22:15 +02:00
crueter ecc99ce9ab [dynarmic] spinlock: (re-)allow RWE on execute-supported targets (#393)
regr. #273

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/393
2025-09-08 02:37:55 +02:00
crueter bbcd8aded6 Revert "[heap_tracker] Use ankerl map instead of rb tree (#249)" (#382)
This reverts commit c9a3baab5d.

this commit caused issues in ender magnolia or something, need to make
sure I didn't mess up the revert

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/382
Reviewed-by: Shinmegumi <[email protected]>
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-09-04 16:04:42 +02:00
crueter 2bc792e211 [cmake] fix yuzu_cmd, bundled overrides (#381)
Fixes yuzu_cmd not linking to vma (just link to vma for now, but should
be linked to video_core maybe?)

also fixes the weird precedence of bundled packages esp w.r.t json where
an effectively garbage value was passed into the BUNDLED_PACKAGE
argument (was forced to on)

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/381
2025-09-03 04:36:21 +02:00
crueter 21c77bdcac [cmake] fix ffmpeg libdrm on macos (#367)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/367
Reviewed-by: Shinmegumi <[email protected]>
Reviewed-by: Lizzie <[email protected]>
2025-08-31 03:10:34 +02:00
crueter 1c3ca17cfb [dynarmic] fix annoying gcc/clang error (#365)
caused qt creator to crash somehow geg

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/365
Reviewed-by: Lizzie <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-08-31 00:12:06 +02:00
crueter 3b4c1beb0c [desktop] only warn on firmware for qlaunch/games (#363)
- only warns about too new/missing for home menu
- only warns about missing for games that need it (mk8dx)

Signed-off-by: crueter <[email protected]>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/363
Reviewed-by: CamilleLaVey <[email protected]>
Reviewed-by: MaranBr <[email protected]>
2025-08-30 20:32:28 +02:00
crueter cf689a7a49 [cmake] properly invalidate tzdb cache; require matching version (#346)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/346
Reviewed-by: CamilleLaVey <[email protected]>
2025-08-29 01:35:01 +02:00
crueter 702a2beb7c [cmake] refactor: cpmfile, deps prefetch, force system and more (#322)
CPM Dependencies are now managed in a singular json file, where each can be properly prefetched at-will via `tools/cpm-fetch.sh <packages...>`, or all at once via `tools/cpm-fetch-all.sh`.

Adds docs for CPMUtil as well.

Also adds `<package>_FORCE_{BUNDLED,SYSTEM}` overrides

Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/322
Reviewed-by: CamilleLaVey <[email protected]>
2025-08-29 00:18:02 +02:00
crueter 434bd42a5e [desktop] fix controls dialog text clipping (#336)
Signed-off-by: crueter <[email protected]>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/336
Reviewed-by: CamilleLaVey <[email protected]>
2025-08-28 01:34:41 +02:00