Commit Graph

1023 Commits

Author SHA1 Message Date
capitalistspz
6ef1987f1d A little bit better logging 2026-07-21 14:27:51 +01:00
capitalistspz
cd4ccdc152 Make Clang 15 happy because Clang 15 is non-compliant 2026-07-21 12:52:06 +01:00
capitalistspz
4a9b391172 Make MSVC happy by complying with the standard 2026-07-21 12:49:24 +01:00
capitalistspz
529e7d5cbb Switch from openpnp-capture to SDL_Camera and make camera support build optional
Had to change because `openpnp-capture` converts all output to RGB (performance problem) doesn't re-enumerate after initialization (usability problem).
2026-07-21 12:34:08 +01:00
capitalistspz
d26010ca6b Slightly more accurate behaviour
- Call `CAMClose` instead of `CAMExit` on unload
- Add OSDriver registration
- Never join the worker thread.
2026-07-20 12:52:42 +01:00
capitalistspz
8af02098de Clean up 2026-07-20 12:52:42 +01:00
capitalistspz
f9a275406d 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-07-20 12:52:42 +01:00
capitalistspz
5bec8fb646 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-07-20 12:52:42 +01:00
capitalistspz
13e0cae2f3 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-07-20 12:52:42 +01:00
capitalistspz
e22b0f0dc1 Swap buffers during capture
Also ensures a lock is released
2026-07-20 12:52:42 +01:00
capitalistspz
464d337356 Prevent CameraManager::Deinit from stopping the application entirely 2026-07-20 12:52:42 +01:00
capitalistspz
ed1baecb4c Use cemu_use_precompiled_header 2026-07-20 12:52:42 +01:00
capitalistspz
872783e626 Link to CemuConfig in CemuCamera
I'm using it after all
2026-07-20 12:52:42 +01:00
capitalistspz
e0628ef726 Revert "Give up on using the precompiled headers"
This reverts commit 9fb8618c44.
2026-07-20 12:52:42 +01:00
capitalistspz
f12d6ca667 Give up on using the precompiled headers 2026-07-20 12:52:42 +01:00
capitalistspz
b79e8c477b Link to CemuGui in CemuCamera despite not using any GUI code
Every other Cemu component links it
2026-07-20 12:52:42 +01:00
capitalistspz
50ec9201ae Link CemuCommon as PUBLIC
I know it doesn't match the rest of the `CMakeLists`
2026-07-20 12:52:42 +01:00
capitalistspz
0999b17f84 Link to CemuCamera in CemuBin 2026-07-20 12:52:42 +01:00
capitalistspz
9f551dcef9 Remove extra #pragma once 2026-07-20 12:52:42 +01:00
capitalistspz
5029077323 CMakeLists.txt adjustments 2026-07-20 12:52:42 +01:00
capitalistspz
3adeb69b49 Formatting and cleanup 2026-07-20 12:52:42 +01:00
capitalistspz
4133d0df08 Use OSMutex 2026-07-20 12:52:42 +01:00
capitalistspz
9c341b0f32 Small changes to worker thread func 2026-07-20 12:52:42 +01:00
capitalistspz
c9a11e9259 Remove unused variables 2026-07-20 12:52:42 +01:00
capitalistspz
d963ac7959 Init CameraManager on open, deinit on close
And buffer allocation and deallocation occur on init and deinit
2026-07-20 12:52:42 +01:00
capitalistspz
9cd71fe82e Remove duplicate sources in CMakeLists.txt 2026-07-20 12:52:42 +01:00
capitalistspz
c4c3233b7d Update openpnp-capture (fix turbojpeg link failure when used alongside vcpkg) 2026-07-20 12:52:42 +01:00
capitalistspz
2c7c1b21ff Update openpnp-capture (fix turbojpeg import) 2026-07-20 12:52:42 +01:00
capitalistspz
7ebb151c57 Update openpnp-capture and set MSVC runtime lib 2026-07-20 12:52:42 +01:00
capitalistspz
f11d731424 Update openpnp-capture (fix Windows static linking) 2026-07-20 12:52:42 +01:00
capitalistspz
e3157ca294 Call CAMExit on camera lib unload 2026-07-20 12:52:42 +01:00
capitalistspz
92731436bb Update openpnp-capture and link statically 2026-07-20 12:52:42 +01:00
capitalistspz
062c931f6b Some cleanup 2026-07-20 12:52:42 +01:00
capitalistspz
9abf3de035 Add tooltip 2026-07-20 12:52:42 +01:00
capitalistspz
b6c65cef91 Fix config saving 2026-07-20 12:52:42 +01:00
capitalistspz
c2dd05ce2c Fix settings window preview 2026-07-20 12:52:42 +01:00
capitalistspz
6803aa32df Add Camera Settings menu option 2026-07-20 12:52:42 +01:00
capitalistspz
8ce967e3e7 Check buffer size 2026-07-20 12:52:42 +01:00
capitalistspz
3f7ca998f4 Rebased 2026-07-20 12:52:41 +01:00
primaviera
13d1826b4d
nn_fp: Improve Comment struct and fix invalid Mii name on Linux (#1986)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-19 08:08:57 +02:00
techmuse
3005cb7b46
coreinit: Implement a few more DynLoad functions (#1990)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-18 02:36:43 +02:00
goeiecool9999
f82598e42f build: Fix CMAKE_CXX_FLAGS
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2026-07-17 23:11:12 +02:00
Samuel
acb105bd58
build: Link SDL3 earlier (#1982)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
Hacky workaround for a problem where wxWidgets uses SDL2 and Cemu uses SDL3. See #1982
2026-07-13 02:56:18 +02:00
Exzap
d8a5f4bac9 Latte: Smaller fixes
Fixes #1979
2026-07-13 01:50:10 +02:00
Exzap
578312b6e0 nn_nfp: Fix wrong constant 2026-07-13 01:50:10 +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
372cadd617 RPL: Improve load order
System RPLs are actually never loaded from the game's code directory. Verified on console.
Also do a minimalist check if the necessary files are dumped for erreula and swkbd, otherwise they will just crash on load.

Fixes #1977
2026-07-13 01:50:10 +02:00
Exzap
0e1c927d59 h264: Handle stream interruption more gracefully
Streams will still struggle to catch up, but at least it shouldn't deadlock games anymore
2026-07-13 01:48:43 +02:00
Crementif
145ad1e9d5 deps: update to wxwidgets 3.3.3
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-07-11 02:07:40 +02:00
goeiecool9999
2b9938d48a Latte: Fix caching of shader error state
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
Fixes: #1985
2026-07-10 16:51:18 +02:00