Commit Graph
29 Commits
Author SHA1 Message Date
Exzap a1cd67ca11 UI: Refactor auto-updater and make it more robust 2026-09-10 13:27:23 +02:00
Emma 5f7f0a805b macOS: Never hide menu bar (#1989) 2026-09-02 05:09:03 +02:00
Crementif 5ead58008d cli: add launch setting to open debugger 2026-08-21 21:33:01 +02:00
Exzap 4b72d7cf1e swkbd: Refactor + implement and stub more API
MH3G/MH3U has fragile multi-threaded use of swkbd and gets stuck if some operations complete too fast, specifically if SwkbdCreate completes quickly. For now we solve this by adding a sleep delay.

Also modernized and API registration and SwkbdInitLearnDic will create a valid empty dictionary now since MH3G tries to parse it
2026-07-13 01:50:10 +02:00
Exzap 53a74e44df coreinit+UI: Implement exit()
When coreinit exit() is hit, then Cemu will only close when the game was launched directly via command line parameters (-g or -t). Otherwise it returns to the game list. In the case where Cemu closes it will forward the coreinit exit status code as it's own exit status code. This is useful for cases where Cemu is used as a CLI tool for testing homebrew
2026-06-25 06:42:33 +02:00
JosJuice 4ee027d3a8 UI: Show "Could not decrypt title" for drag and drop too (#1962) 2026-06-21 17:54:49 +02:00
goeiecool9999 dbec2c717c Clean up includes in MainWindow and remove duplicate helper (#1955) 2026-06-13 15:54:26 +02:00
Emma 0fc7403543 build+Latte: Add working ENABLE_OPENGL and ENABLE_VULKAN build options (#1887) 2026-05-09 15:03:25 +02:00
Exzap e2a69becf1 debugger: Rework PPC debugger
This is a first pass for now, more work is needed mostly for UI polish.
Changes in this commit:
- Debugger now exposes a thread-safe API. Previously everything would just access internal debugger state directly without regard for race conditions
- Reworked stepping logic to be more reliable. For example previously Cemu could get forever stuck in the middle of stepping to the next instruction
- Support for debugging while using multi-threaded CPU emulation. Originally the debugger was added when only single core support existed in Cemu. It was possible to debug multi-threaded before but it was very very prone to state corruptions.
- Debugger should now remember breakpoints correctly across sessions
2026-04-29 18:24:29 +02:00
goeiecool9999 391478b307 vulkan: Improve the Breath of the Wild RADV/LLVM workaround (#1862) 2026-04-10 22:46:51 +02:00
goeiecool9999 b9b46ecb65 Vulkan: Use LLVM shader compiler for BOTW on Linux + Mesa (#1857)
Workaround for GPU crashes when using certain runes in BOTW
Can be overridden by setting RADV_DEBUG=aco
2026-04-04 19:14:49 +02:00
RedBlackAka a20032ffb5 Latte/Metal: Exclude more Metal only logic on non-Apple platforms and cleanups (#1781) 2026-01-21 04:46:06 +01:00
oltolm 7db733b337 UI: more cleanup (#1769) 2026-01-21 04:38:38 +01:00
goeiecool9999 e3260daea2 Fix dump directory creation
Thanks to Switch-9867 on GH for pointing out the issue
2026-01-09 11:04:43 +01:00
Exzap c5913fe8cb refactor/rpl: Treat HLE libs more like RPL modules
HLE modules now have a unified interface via which they can get notified when mapped into the process or when loaded/unloaded.

We also always call the unload functions when stopping emulation to give the module implementations a chance to reset all state (although many of them are still missing proper cleanup code for now)
2026-01-07 02:46:49 +01:00
Exzap 232ff2257a Fix compile error in debug builds 2025-12-27 14:01:43 +01:00
RedBlackAka 13683d417c UI: Small adjustments and cleanup, end emulation hotkey for debug builds (#1754) 2025-12-26 23:00:40 +01:00
RedBlackAka aaf6d5d677 UI: Hide Metal only options on non-Apple builds (#1753) 2025-12-23 20:43:28 +01:00
oltolm 1c7fe5673f UI: Replace to_wxString and wxHelper::FromUtf8 with wxString::FromUTF8 (#1752) 2025-12-23 15:37:01 +01:00
goeiecool9999 a87bded17d UI: Make File menu exit option use OnClose for cleaner shutdown 2025-12-18 15:26:39 +01:00
goeiecool9999 6cee127852 Move clipboard flush to OnExit
Fixes occasional hang on exit
2025-12-18 15:19:23 +01:00
SamoZ256 26e40a4bce Add Metal backend (#1287) 2025-12-06 17:14:25 +01:00
oltolm eb95e63d94 UI: Fix warnings (#1729) 2025-11-23 11:51:44 +01:00
Exzap 4fa0df6dcf nn_boss: Reimplementation
This is a full rewrite of our nn_boss (SpotPass) implementation. The previous code was based on a lot of incorrect guesswork so rather than updating that it made more sense to redo it all.

In short what changed:
- More API implemented than before, but nn_boss is very complex so we are still missing stuff (e.g. PlayReports and Task scheduling)
- Avoids redownloading nbdl files if they are already present locally (matches IOSU behavior)
- The API should be more robust in general and file hashes are now verified
- Emulated IOSU interface is compatible with nn_boss.rpl
- Added an UI option to clear the SpotPass cache
2025-10-30 16:24:09 +01:00
RedBlackAka ef1c836290 UI: Move recent files into a submenu (#1707) 2025-10-15 23:09:03 +02:00
Crementif 08609591ae UI: Upgrade to wxWidgets 3.3.1 and add dark mode support for Windows (#1647) 2025-07-23 11:07:24 +02:00
Kevin Reinholz 4efa40c51c Make it easy to build Cemu on BSD (#1632) 2025-07-23 08:59:09 +02:00
Crementif 42ff3ad468 Fix debug assert that'd occur when closing the debug menu
Closing the settings window will immediately flush a temporary 0, 0 value it writes for the size which gets overwritten by the MainWindow a few seconds later.

In the code, -1 is considered the "off" state, and 0 is considered a "it should be saved, but only whenever the value is available". The save gamepad size/pos option already worked like this new behavior, since you might enable the option but not (previously) have it open yet. When encountering a 0 as the size, it'll just use the default window size of Cemu.
2025-07-16 16:14:55 +02:00
SSimco 67de63bed6 UI+build: Isolate wxWidgets code from non-GUI code (#1633) 2025-07-15 04:28:41 +02:00