Skip to content
Draft

Camera #1815

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
445bc22
camera branch again
capitalistspz Feb 21, 2026
5c7f2b3
Check buffer size
capitalistspz Feb 22, 2026
1bc6ffb
Add Camera Settings menu option
capitalistspz Feb 22, 2026
906bb2b
Fix settings window preview
capitalistspz Feb 22, 2026
990f75f
Fix config saving
capitalistspz Feb 22, 2026
9fff639
Add tooltip
capitalistspz Feb 22, 2026
6ea3a4d
Some cleanup
capitalistspz Feb 22, 2026
2ffe650
Update `openpnp-capture` and link statically
capitalistspz Feb 22, 2026
03d16dc
Call `CAMExit` on camera lib unload
capitalistspz Feb 24, 2026
5bc7639
Update `openpnp-capture` (fix Windows static linking)
capitalistspz Feb 24, 2026
edc7fa4
Update `openpnp-capture` and set MSVC runtime lib
capitalistspz Feb 24, 2026
25c71e0
Update `openpnp-capture` (fix turbojpeg import)
capitalistspz Feb 24, 2026
e1031bd
Update openpnp-capture (fix turbojpeg link failure when used alongsid…
capitalistspz Feb 24, 2026
6ee1e1e
Remove duplicate sources in `CMakeLists.txt`
capitalistspz Apr 14, 2026
aa3c852
Init `CameraManager` on open, deinit on close
capitalistspz Apr 14, 2026
9d1ebb2
Remove unused variables
capitalistspz Apr 14, 2026
54d7795
Small changes to worker thread func
capitalistspz Apr 15, 2026
e586389
Use `OSMutex`
capitalistspz Apr 15, 2026
aff1254
Formatting and cleanup
capitalistspz Apr 15, 2026
cf6781f
`CMakeLists.txt` adjustments
capitalistspz Apr 15, 2026
756e79c
Remove extra `#pragma once`
capitalistspz Apr 15, 2026
2f6a136
Link to `CemuCamera` in `CemuBin`
capitalistspz Apr 15, 2026
1bb26db
Link `CemuCommon` as `PUBLIC`
capitalistspz Apr 15, 2026
49c3398
Link to `CemuGui` in `CemuCamera` despite not using any GUI code
capitalistspz Apr 15, 2026
e457dca
Give up on using the precompiled headers
capitalistspz Apr 15, 2026
a4478db
Revert "Give up on using the precompiled headers"
capitalistspz Apr 15, 2026
df55484
Link to `CemuConfig` in `CemuCamera`
capitalistspz Apr 15, 2026
8acf6f6
Use `cemu_use_precompiled_header`
capitalistspz Apr 15, 2026
6e34aaa
Prevent `CameraManager::Deinit` from stopping the application entirely
capitalistspz Apr 20, 2026
4cd6bc2
Swap buffers during capture
capitalistspz Apr 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@
[submodule "dependencies/xbyak_aarch64"]
path = dependencies/xbyak_aarch64
url = https://github.com/fujitsu/xbyak_aarch64
[submodule "dependencies/openpnp-capture"]
path = dependencies/openpnp-capture
url = https://github.com/capitalistspz/openpnp-capture-fork
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -251,4 +251,9 @@ if (NOT ZArchive_FOUND)
add_subdirectory("dependencies/ZArchive" EXCLUDE_FROM_ALL)
endif()

block ()
set(BUILD_SHARED_LIBS OFF)
add_subdirectory("dependencies/openpnp-capture" EXCLUDE_FROM_ALL SYSTEM)
set_property(TARGET openpnp-capture PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endblock()
add_subdirectory(src)
1 change: 1 addition & 0 deletions dependencies/openpnp-capture
Submodule openpnp-capture added at 0ddd76
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ add_subdirectory(Cemu)
add_subdirectory(config)
add_subdirectory(input)
add_subdirectory(audio)
add_subdirectory(camera)
add_subdirectory(util)
add_subdirectory(imgui)
add_subdirectory(resource)
Expand Down Expand Up @@ -160,6 +161,7 @@ set_target_properties(CemuBin PROPERTIES
target_link_libraries(CemuBin PRIVATE
CemuAudio
CemuCafe
CemuCamera
CemuCommon
CemuComponents
CemuConfig
Expand Down
1 change: 1 addition & 0 deletions src/Cafe/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,7 @@ endif()

target_link_libraries(CemuCafe PRIVATE
CemuCommon
CemuCamera
CemuGui
ZArchive::zarchive
imguiImpl
Expand Down
11 changes: 11 additions & 0 deletions src/Cafe/OS/common/OSUtil.h
Original file line number Diff line number Diff line change
Expand Up @@ -242,3 +242,14 @@ MPTR makeCallableExport()
}

void osLib_addVirtualPointer(const char* libraryName, const char* functionName, uint32 vPtr);

class CafeLockGuard
{
public:
explicit CafeLockGuard(coreinit::OSMutex* mutex) : m_mutex(mutex) { coreinit::OSLockMutex(m_mutex); }
~CafeLockGuard() { coreinit::OSUnlockMutex(m_mutex); }
CafeLockGuard(const CafeLockGuard&) = delete;
CafeLockGuard& operator=(const CafeLockGuard&) = delete;
private:
coreinit::OSMutex* m_mutex;
};
Loading