From a6efc7c1eef3b7087103ee58f506f4617e80492f Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Mon, 17 Aug 2020 19:26:20 -0300 Subject: [PATCH] Separate the enums from cam/cam.h The settings.h file doesn't actually need all of the definitions on cam.h, only some of the enums. They can, therefore, be separated into another file, which is included by settings.h instead. The other changes are fixing files that included settings.h and depended on indirect includes from includes of includes of cam.h --- .../configuration/configure_motion_touch.cpp | 1 + src/core/CMakeLists.txt | 1 + src/core/announce_multiplayer_session.cpp | 1 + src/core/hle/service/cam/cam.h | 115 +--------------- src/core/hle/service/cam/cam_params.h | 125 ++++++++++++++++++ src/core/settings.cpp | 1 + src/core/settings.h | 2 +- src/video_core/pica_state.h | 1 + 8 files changed, 132 insertions(+), 115 deletions(-) create mode 100644 src/core/hle/service/cam/cam_params.h diff --git a/src/citra_qt/configuration/configure_motion_touch.cpp b/src/citra_qt/configuration/configure_motion_touch.cpp index dab5813880..7573e22174 100644 --- a/src/citra_qt/configuration/configure_motion_touch.cpp +++ b/src/citra_qt/configuration/configure_motion_touch.cpp @@ -10,6 +10,7 @@ #include #include "citra_qt/configuration/configure_motion_touch.h" #include "citra_qt/configuration/configure_touch_from_button.h" +#include "common/logging/log.h" #include "input_common/main.h" #include "ui_configure_motion_touch.h" diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 01f18e4454..133a33ef2c 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -234,6 +234,7 @@ add_library(core STATIC hle/service/cam/cam.h hle/service/cam/cam_c.cpp hle/service/cam/cam_c.h + hle/service/cam/cam_params.h hle/service/cam/cam_q.cpp hle/service/cam/cam_q.h hle/service/cam/cam_s.cpp diff --git a/src/core/announce_multiplayer_session.cpp b/src/core/announce_multiplayer_session.cpp index d46c8db566..38acb4bacd 100644 --- a/src/core/announce_multiplayer_session.cpp +++ b/src/core/announce_multiplayer_session.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include +#include #include #include "announce_multiplayer_session.h" #include "common/announce_multiplayer_room.h" diff --git a/src/core/hle/service/cam/cam.h b/src/core/hle/service/cam/cam.h index 7c36e02c5a..4a43afd30b 100644 --- a/src/core/hle/service/cam/cam.h +++ b/src/core/hle/service/cam/cam.h @@ -18,6 +18,7 @@ #include "common/swap.h" #include "core/global.h" #include "core/hle/result.h" +#include "core/hle/service/cam/cam_params.h" #include "core/hle/service/service.h" namespace Core { @@ -38,120 +39,6 @@ class Process; namespace Service::CAM { -enum CameraIndex { - OuterRightCamera = 0, - InnerCamera = 1, - OuterLeftCamera = 2, - - NumCameras = 3, -}; - -enum class Effect : u8 { - None = 0, - Mono = 1, - Sepia = 2, - Negative = 3, - Negafilm = 4, - Sepia01 = 5, -}; - -enum class Flip : u8 { - None = 0, - Horizontal = 1, - Vertical = 2, - Reverse = 3, -}; - -enum class Size : u8 { - VGA = 0, - QVGA = 1, - QQVGA = 2, - CIF = 3, - QCIF = 4, - DS_LCD = 5, - DS_LCDx4 = 6, - CTR_TOP_LCD = 7, - CTR_BOTTOM_LCD = QVGA, -}; - -enum class FrameRate : u8 { - Rate_15 = 0, - Rate_15_To_5 = 1, - Rate_15_To_2 = 2, - Rate_10 = 3, - Rate_8_5 = 4, - Rate_5 = 5, - Rate_20 = 6, - Rate_20_To_5 = 7, - Rate_30 = 8, - Rate_30_To_5 = 9, - Rate_15_To_10 = 10, - Rate_20_To_10 = 11, - Rate_30_To_10 = 12, -}; - -enum class ShutterSoundType : u8 { - Normal = 0, - Movie = 1, - MovieEnd = 2, -}; - -enum class WhiteBalance : u8 { - BalanceAuto = 0, - Balance3200K = 1, - Balance4150K = 2, - Balance5200K = 3, - Balance6000K = 4, - Balance7000K = 5, - BalanceMax = 6, - BalanceNormal = BalanceAuto, - BalanceTungsten = Balance3200K, - BalanceWhiteFluorescentLight = Balance4150K, - BalanceDaylight = Balance5200K, - BalanceCloudy = Balance6000K, - BalanceHorizon = Balance6000K, - BalanceShade = Balance7000K, -}; - -enum class PhotoMode : u8 { - Normal = 0, - Portrait = 1, - Landscape = 2, - Nightview = 3, - Letter0 = 4, -}; - -enum class LensCorrection : u8 { - Off = 0, - On70 = 1, - On90 = 2, - Dark = Off, - Normal = On70, - Bright = On90, -}; - -enum class Contrast : u8 { - Pattern01 = 1, - Pattern02 = 2, - Pattern03 = 3, - Pattern04 = 4, - Pattern05 = 5, - Pattern06 = 6, - Pattern07 = 7, - Pattern08 = 8, - Pattern09 = 9, - Pattern10 = 10, - Pattern11 = 11, - Low = Pattern05, - Normal = Pattern06, - High = Pattern07, -}; - -enum class OutputFormat : u8 { - YUV422 = 0, - RGB565 = 1, -}; - /// Stereo camera calibration data. struct StereoCameraCalibrationData { u8 isValidRotationXY; ///< Bool indicating whether the X and Y rotation data is valid. diff --git a/src/core/hle/service/cam/cam_params.h b/src/core/hle/service/cam/cam_params.h new file mode 100644 index 0000000000..5cb1e7c6c2 --- /dev/null +++ b/src/core/hle/service/cam/cam_params.h @@ -0,0 +1,125 @@ +// Copyright 2020 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" + +namespace Service::CAM { + +enum CameraIndex { + OuterRightCamera = 0, + InnerCamera = 1, + OuterLeftCamera = 2, + + NumCameras = 3, +}; + +enum class Effect : u8 { + None = 0, + Mono = 1, + Sepia = 2, + Negative = 3, + Negafilm = 4, + Sepia01 = 5, +}; + +enum class Flip : u8 { + None = 0, + Horizontal = 1, + Vertical = 2, + Reverse = 3, +}; + +enum class Size : u8 { + VGA = 0, + QVGA = 1, + QQVGA = 2, + CIF = 3, + QCIF = 4, + DS_LCD = 5, + DS_LCDx4 = 6, + CTR_TOP_LCD = 7, + CTR_BOTTOM_LCD = QVGA, +}; + +enum class FrameRate : u8 { + Rate_15 = 0, + Rate_15_To_5 = 1, + Rate_15_To_2 = 2, + Rate_10 = 3, + Rate_8_5 = 4, + Rate_5 = 5, + Rate_20 = 6, + Rate_20_To_5 = 7, + Rate_30 = 8, + Rate_30_To_5 = 9, + Rate_15_To_10 = 10, + Rate_20_To_10 = 11, + Rate_30_To_10 = 12, +}; + +enum class ShutterSoundType : u8 { + Normal = 0, + Movie = 1, + MovieEnd = 2, +}; + +enum class WhiteBalance : u8 { + BalanceAuto = 0, + Balance3200K = 1, + Balance4150K = 2, + Balance5200K = 3, + Balance6000K = 4, + Balance7000K = 5, + BalanceMax = 6, + BalanceNormal = BalanceAuto, + BalanceTungsten = Balance3200K, + BalanceWhiteFluorescentLight = Balance4150K, + BalanceDaylight = Balance5200K, + BalanceCloudy = Balance6000K, + BalanceHorizon = Balance6000K, + BalanceShade = Balance7000K, +}; + +enum class PhotoMode : u8 { + Normal = 0, + Portrait = 1, + Landscape = 2, + Nightview = 3, + Letter0 = 4, +}; + +enum class LensCorrection : u8 { + Off = 0, + On70 = 1, + On90 = 2, + Dark = Off, + Normal = On70, + Bright = On90, +}; + +enum class Contrast : u8 { + Pattern01 = 1, + Pattern02 = 2, + Pattern03 = 3, + Pattern04 = 4, + Pattern05 = 5, + Pattern06 = 6, + Pattern07 = 7, + Pattern08 = 8, + Pattern09 = 9, + Pattern10 = 10, + Pattern11 = 11, + Low = Pattern05, + Normal = Pattern06, + High = Pattern07, +}; + +enum class OutputFormat : u8 { + YUV422 = 0, + RGB565 = 1, +}; + +} // namespace Service::CAM diff --git a/src/core/settings.cpp b/src/core/settings.cpp index ab01aecda6..82b0b1181c 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -8,6 +8,7 @@ #include "core/core.h" #include "core/gdbstub/gdbstub.h" #include "core/hle/kernel/shared_page.h" +#include "core/hle/service/cam/cam.h" #include "core/hle/service/hid/hid.h" #include "core/hle/service/ir/ir_rst.h" #include "core/hle/service/ir/ir_user.h" diff --git a/src/core/settings.h b/src/core/settings.h index 5749df0a53..324e2c1bd5 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -10,7 +10,7 @@ #include #include #include "common/common_types.h" -#include "core/hle/service/cam/cam.h" +#include "core/hle/service/cam/cam_params.h" namespace Settings { diff --git a/src/video_core/pica_state.h b/src/video_core/pica_state.h index 95f4496760..0cb78ea8e4 100644 --- a/src/video_core/pica_state.h +++ b/src/video_core/pica_state.h @@ -10,6 +10,7 @@ #include "common/bit_field.h" #include "common/common_types.h" #include "common/vector_math.h" +#include "core/memory.h" #include "video_core/geometry_pipeline.h" #include "video_core/primitive_assembly.h" #include "video_core/regs.h"