Commit Graph

315 Commits

Author SHA1 Message Date
capitalistspz
d13feb9e31
Merge 83ad48762e into aa7c82dda3 2026-07-07 19:25:15 -05: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
capitalistspz
88b3dfe2f9 Use wxComboBox instead of wxChoice
For some reason `wxChoice` on GTK frequently produces
```
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug
```
and displays incorrectly
2026-06-19 16:29:42 +01:00
capitalistspz
cfd148ac36 Move camera code to CemuInput
Compiling the precompiled headers for `CemuCamera` took longer than compiling `CemuCamera` itself, so it just ends up being noticeably faster to just add it to one of the existing sublibs. It probably wasn't a problem for MSVC because precompiled header reuse works there, but I'm not using MSVC
2026-06-19 16:29:42 +01:00
capitalistspz
02c063e44b Store camera name to config instead of unique ID
Unique IDs vary across restarts and re-plugs, which isn't really suitable for being saved to config
2026-06-19 16:29:42 +01:00
capitalistspz
6338e40aa3 CMakeLists.txt adjustments 2026-06-19 16:29:42 +01:00
capitalistspz
543d6b4b2a Formatting and cleanup 2026-06-19 16:29:42 +01:00
capitalistspz
1a632aeb43 Init CameraManager on open, deinit on close
And buffer allocation and deallocation occur on init and deinit
2026-06-19 16:29:42 +01:00
capitalistspz
f2c5eac978 Some cleanup 2026-06-19 16:29:42 +01:00
capitalistspz
e4f0972932 Add tooltip 2026-06-19 16:29:42 +01:00
capitalistspz
bbdaf8c212 Fix settings window preview 2026-06-19 16:29:42 +01:00
capitalistspz
b35887afdf Add Camera Settings menu option 2026-06-19 16:29:31 +01:00
capitalistspz
f7f8c06935 Rebased 2026-06-19 16:24:41 +01:00
Crementif
fe70fdcfe5 debugger: Don't clear register views when continuing to run code 2026-06-13 20:35:12 +02:00
goeiecool9999
dbec2c717c
Clean up includes in MainWindow and remove duplicate helper (#1955) 2026-06-13 15:54:26 +02:00
codeman4033
d20d701ef0
OpenGL: Clamp vsync to valid value (#1937) 2026-06-10 15:24:38 +02:00
Swift
745d30bc08
debugger: Tweaks + add context menu to write different value types (#1950) 2026-06-09 22:04:33 +02:00
Exzap
5c56bfe43b RPL: Use normalized module names + small code cleanup 2026-06-04 18:54:51 +02:00
capitalistspz
ca15637b63
UI: Fix formatting error in TextureRelationWindow (#1926) 2026-05-23 00:53:07 +02:00
Crementif
7ff99a5e13
debugger: Add support for loading symbols from .map file (#1916)
Map has to have the same name as the debugger/*.xml files, but with a .map extension
2026-05-19 00:21:14 +02:00
Crementif
2fd322ecf7 gui: improve graphic pack download buttons
I made the download URL button work the same as the regular download community buttons did. Also styled it a bit differently to make it less prominent.
2026-05-15 00:58:10 +02:00
SSimco
8e3e961b8e
build+input: Make SDL optional (#1895) 2026-05-09 15:27: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
bslhq
f3fecba313
Migrate from SDL2 to SDL3 3.4.2 (#1847) 2026-05-08 17:11:19 +02:00
Exzap
0b661488d7 coreinit: Always try to print symbols for PPC stack traces 2026-04-30 02:37:32 +02:00
Exzap
4051683973 PPCRec: Cleanup and smaller fixes 2026-04-30 02:37:32 +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
Emma
f8fb588b36
build: macOS CMake fixes (#1883) 2026-04-22 15:49:41 +02:00
Lightnight1
cd23241f29
UI: Added a button to download and install gfx packs from an url (#1866) 2026-04-22 15:24:18 +02:00
goeiecool9999
553990a25e debugger: fix crash when adding breakpoint
Checking the item in the event handler that is triggered when an option is checked caused recursion stack overflow

fixes: #1876
2026-04-16 10:31:04 +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
goeiecool9999
b3e310220e vulkan: use the right exit function when vulkan fails to initialize.
(fixes: #1833)
2026-04-04 16:48:43 +02:00
Exzap
a5ae41fdbe build: Remove unnecessary includes to improve compile times
Also revert PCH reuse for everything but MSVC. Other compilers/platforms have limitations that make reused PCH a bit too fragile. I got it to work but only after forcing certain flags globally (like -pthread) and I dont think its a good idea to do that
2026-03-24 04:15:28 +01:00
Exzap
8e2e2c44bb build: Generate precompiled header only once (msvc only) 2026-03-24 04:15:28 +01:00
Exzap
1a5546e4ad GfxPack: Add version (8) for new features 2026-03-24 04:15:05 +01:00
Crementif
a04eb53822
vcpkg: Update wxWidgets to 3.3.2 (#1824) 2026-03-12 21:58:22 +01:00
Crementif
3ee166101a debugger: fix breakpoints window right-click being offset 2026-02-23 17:08:30 +01:00
Exzap
556fc24896 GameList: Reduce time it takes for the list to be populated 2026-02-23 03:21:43 +01:00
Exzap
f5be6bef2d GameList: Save config after updating favorites 2026-02-23 03:21:43 +01:00
Crementif
3b5c6f5246 Fix dark mode in download manager
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-02-09 14:10:19 +01:00
Luminyx
2c03ac3217
GraphicPack: Support wildcard titleId and RPX hash + entrypoint callbacks (#1805)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-02-09 02:20:34 +01:00
Crementif
07bdb3454a
debugger: Various QoL improvements (#1777)
* Ignore keyboard inputs when debugger is focused
* Add workaround for slightly improved multi-thread debugging
* debugger: Add interpreter mode switch and log-only memory breakpoints
2026-02-01 01:53:02 +01:00
RedBlackAka
a20032ffb5
Latte/Metal: Exclude more Metal only logic on non-Apple platforms and cleanups (#1781)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-01-21 04:46:06 +01:00
oltolm
7db733b337
UI: more cleanup (#1769) 2026-01-21 04:38:38 +01:00
goeiecool9999
3d26998975
UI: Update graphics settings immediately when possible (#1782) 2026-01-16 04:21:44 +01:00
goeiecool9999
42262b5823 UI: Fix crash on exit hotkey button press 2026-01-16 00:55:00 +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