From ecddcb20239b4c87cf26356c7a08e4828cbfa39c Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Tue, 3 Mar 2026 16:24:16 +0000 Subject: [PATCH 1/3] camera: Make `CAMMode::forceDrc` var an enum, and some extra comments Done because only 0 and 1 are valid values --- include/camera/camera.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/include/camera/camera.h b/include/camera/camera.h index a7c351421..0f6edc6f0 100644 --- a/include/camera/camera.h +++ b/include/camera/camera.h @@ -54,17 +54,27 @@ typedef enum CamFps CAMERA_FPS_30 = 1 } CamFps; +//! Stream type. There is only one valid stream type typedef enum CamStreamType { CAMERA_STREAM_TYPE_1 = 0 } CamStreamType; +//! Type of event received by the event handler typedef enum CamEventType { + //! Frame was captured, decoded and copied to a submitted surface CAMERA_DECODE_DONE = 0, + //! Wii U Gamepad disconnected CAMERA_DRC_DETACH = 1 } CamEventType; +typedef enum CamForceDRC +{ + CAMERA_FORCE_DRC_OFF = 0, + CAMERA_FORCE_DRC_ON = 1 +}; + struct CAMEventData { //! Event type @@ -104,8 +114,8 @@ typedef void (*CAMEventHandler)(CAMEventData *camEventData); struct CAMMode { - //! If TRUE, the GamePad will display the camera output regardless of what is being rendered - BOOL forceDrc; + //! Controls whether GamePad will display the camera output (regardless of rendered content) + CamForceDRC forceDrc; //! Framerate setting CamFps fps; }; From 63dd0d02ebbf16ecb2eb82b4600b3492058906a5 Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Tue, 3 Mar 2026 17:19:05 +0000 Subject: [PATCH 2/3] typedef correction --- include/camera/camera.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/camera/camera.h b/include/camera/camera.h index 0f6edc6f0..b675f999f 100644 --- a/include/camera/camera.h +++ b/include/camera/camera.h @@ -73,7 +73,7 @@ typedef enum CamForceDRC { CAMERA_FORCE_DRC_OFF = 0, CAMERA_FORCE_DRC_ON = 1 -}; +} CamForceDRC; struct CAMEventData { From c7410dae0617896aba059f115aafe6439e9cd451 Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Tue, 25 Aug 2026 09:51:35 +0100 Subject: [PATCH 3/3] Add enum size checks --- include/camera/camera.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/camera/camera.h b/include/camera/camera.h index b675f999f..93326c199 100644 --- a/include/camera/camera.h +++ b/include/camera/camera.h @@ -47,18 +47,21 @@ typedef enum CamError CAMERA_ERROR_UVD_SESSION = -13, CAMERA_ERROR_SEGMENT_VIOLATION = -15 } CamError; +WUT_CHECK_SIZE(CamError, 0x4); typedef enum CamFps { CAMERA_FPS_15 = 0, CAMERA_FPS_30 = 1 } CamFps; +WUT_CHECK_SIZE(CamFps, 0x4); //! Stream type. There is only one valid stream type typedef enum CamStreamType { CAMERA_STREAM_TYPE_1 = 0 } CamStreamType; +WUT_CHECK_SIZE(CamStreamType, 0x4); //! Type of event received by the event handler typedef enum CamEventType @@ -68,12 +71,14 @@ typedef enum CamEventType //! Wii U Gamepad disconnected CAMERA_DRC_DETACH = 1 } CamEventType; +WUT_CHECK_SIZE(CamEventType, 0x4); typedef enum CamForceDRC { CAMERA_FORCE_DRC_OFF = 0, CAMERA_FORCE_DRC_ON = 1 } CamForceDRC; +WUT_CHECK_SIZE(CamForceDRC, 0x4); struct CAMEventData {