Commit Graph

232 Commits

Author SHA1 Message Date
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
543d6b4b2a Formatting and cleanup 2026-06-19 16:29:42 +01:00
capitalistspz
a39830e5ec Use OSMutex 2026-06-19 16:29:42 +01:00
capitalistspz
90c6016a9f Small changes to worker thread func 2026-06-19 16:29:42 +01:00
capitalistspz
8d2f196e25 Remove unused variables 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
ed6ab83d8e Call CAMExit on camera lib unload 2026-06-19 16:29:42 +01:00
capitalistspz
f2c5eac978 Some cleanup 2026-06-19 16:29:42 +01:00
capitalistspz
af841071b7 Check buffer size 2026-06-19 16:24:57 +01:00
capitalistspz
f7f8c06935 Rebased 2026-06-19 16:24:41 +01:00
Exzap
d28c7654ec snduser: Implement MIXSetDeviceSPan + MIXSetDeviceLFE 2026-06-10 17:28:55 +02:00
Exzap
e70b270e71 sndcore: Small fix and cleanup 2026-06-10 17:28:55 +02:00
Exzap
263b3510d6 snduser: Avoid hardcoded samples-per-frame 2026-06-10 17:28:55 +02:00
Exzap
fc001cdf05 sndcore: Improve PCM16 linear sampling + correctly clamp sndcore2 ADSR 2026-06-10 17:28:55 +02:00
Exzap
c2d428e5b5 snduser: Improve MIX functions
Fixes distorted sound in ZombiU
2026-06-10 17:28:55 +02:00
Ash
326933b248
nn_ac: Add local IP getter implementation for Linux (#1839) 2026-06-05 19:39:00 +02:00
Exzap
5c56bfe43b RPL: Use normalized module names + small code cleanup 2026-06-04 18:54:51 +02:00
Exzap
c0f02bcbd6 procui: Avoid crash during title shutdown 2026-06-04 03:20:30 +02:00
capitalistspz
591e721dc0
RPL: Remove incorrect ref count check (#1942) 2026-06-02 20:55:09 +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
Hr. Vedel
6ab2f501ff
coreinit: Stub MCP_DemoGetRemainder to 99 (#1902) 2026-05-09 15:23:45 +02:00
Exzap
a8bd6f84f7 coreinit: Implement OSDynLoad_IsModuleLoaded 2026-05-04 03:09:29 +02:00
Exzap
0b661488d7 coreinit: Always try to print symbols for PPC stack traces 2026-04-30 02:37:32 +02:00
Exzap
414aa9d6b3 GX2+Latte: Rework GX2CopySurface 2026-04-29 18:24:29 +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
1c2b7d787e
build: Add ENABLE_LIBUSB option (#1886) 2026-04-26 21:24:57 +02:00
SSimco
6f6c1299e2
Logging: Add compile-time format checks (#1885) 2026-04-22 15:51:44 +02:00
Exzap
6648a9c225 coreinit: Log errors in OSUnlockMutex instead of debug asserts 2026-03-24 04:15:28 +01:00
Exzap
f2f70e5df8 GX2: Fix several missing/incorrect cmd reserve calls 2026-03-24 04:15:28 +01:00
Exzap
f893e2928c GX2: Fix return type of GX2DrawDone 2026-03-24 04:15:28 +01:00
Exzap
0121e63408 coreinit: Implement OSFatal 2026-03-24 04:15:28 +01:00
Exzap
c92bef0352 coreinit: Refactor OSScreen 2026-03-24 04:15:28 +01:00
Exzap
5e0e3f42da coreinit: Improve vcprintf implementation 2026-03-24 04:15:28 +01: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
Squall Leonhart
0ff7d6ef0c
input: Fix logging crash in WPADGetInfoAsync due to mismatching type (#1832) 2026-03-13 21:38:33 +01:00
Exzap
2096c434de Latte: Cleanup some endian handling code 2026-02-23 03:21:43 +01:00
Exzap
9f58f3a118 coreinit: Fix initialization order
Threads were initialized before SDA values were available from RPL loader. Fixes crash in Skylanders Swap Force and some other games
2026-02-09 07:08:01 +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
rcaridade145
5bc60b9452
AX: Fix linear filter (#1802)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
The else code would be unreachable.
2026-02-02 17:16:46 +01:00
Exzap
4fe73a3582 rpl: Fix RPLs not loading from cafeLibs/ 2026-01-22 06:55:22 +01:00
Exzap
bc0ebfc106 rpl: Fix sysapp name + fix logging order 2026-01-09 02:15:01 +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
rcaridade145
7ab5c5e267
h264: Clear display buffer before allocation (#1750) 2025-12-19 20:53:35 +01:00
Arian K.
7dd0b90f53
olv/hle: Functioning Miiverse applet (#1747) 2025-12-19 20:53:09 +01:00
goeiecool9999
42da9712a9 AX: Don't exit when initializing audio backend fails
just continue running without audio
2025-12-19 16:57:43 +01:00
SSimco
3746f018c3 TCL: make tclRingBufferA_writeIndex atomic & refactor 2025-12-19 04:17:48 +02:00
Joshua de Reeper
bb3fb81fb6
nsyshid/libusb: Don't attempt kernel driver detach on MacOS (#1736) 2025-11-27 17:42:00 +01:00
goeiecool9999
5390f9338c
GX2: Implement GX2SetTVGamma and GX2SetDRCGamma (#1682)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-14 13:51:58 +01:00
Exzap
4fa0df6dcf nn_boss: Reimplementation
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
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
SamoZ256
d54fb0ba78
arm: flush denormals to zero (#1696)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-09-27 00:41:17 +02:00