From 9394724902634adb2906f067e693a6b52588f4a9 Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Mon, 17 Aug 2020 18:17:42 -0300 Subject: [PATCH 1/7] main: forward declare QLabel --- src/citra_qt/main.cpp | 1 + src/citra_qt/main.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index 7820f427a..c03575430 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h index 234b9893a..9a0bef322 100644 --- a/src/citra_qt/main.h +++ b/src/citra_qt/main.h @@ -6,7 +6,6 @@ #include #include -#include #include #include #include @@ -40,6 +39,7 @@ class MultiplayerState; class ProfilerWidget; template class QFutureWatcher; +class QLabel; class QProgressBar; class RegistersWidget; class Updater; From 9c2986de4122dc46c0928e16995dbf39ffcad524 Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Mon, 17 Aug 2020 18:31:58 -0300 Subject: [PATCH 2/7] profiler: remove unnecessary includes --- src/citra_qt/debugger/profiler.cpp | 1 + src/citra_qt/debugger/profiler.h | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/citra_qt/debugger/profiler.cpp b/src/citra_qt/debugger/profiler.cpp index 7e1cd4249..bffab615a 100644 --- a/src/citra_qt/debugger/profiler.cpp +++ b/src/citra_qt/debugger/profiler.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include "citra_qt/debugger/profiler.h" #include "citra_qt/util/util.h" #include "common/common_types.h" diff --git a/src/citra_qt/debugger/profiler.h b/src/citra_qt/debugger/profiler.h index eae1e9e3c..e2a542767 100644 --- a/src/citra_qt/debugger/profiler.h +++ b/src/citra_qt/debugger/profiler.h @@ -4,9 +4,7 @@ #pragma once -#include -#include -#include +#include #include "common/microprofile.h" class MicroProfileDialog : public QWidget { From 9d99755d4fc9420886f2e28445f5b82cea1cf79d Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Mon, 17 Aug 2020 19:18:37 -0300 Subject: [PATCH 3/7] configure_camera: forward declare CameraInterface --- src/citra_qt/configuration/configure_camera.cpp | 3 ++- src/citra_qt/configuration/configure_camera.h | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/citra_qt/configuration/configure_camera.cpp b/src/citra_qt/configuration/configure_camera.cpp index 7ecb3c9cb..80206201f 100644 --- a/src/citra_qt/configuration/configure_camera.cpp +++ b/src/citra_qt/configuration/configure_camera.cpp @@ -2,7 +2,6 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include #include #include #include @@ -12,6 +11,8 @@ #include "citra_qt/configuration/configure_camera.h" #include "citra_qt/uisettings.h" #include "core/core.h" +#include "core/frontend/camera/factory.h" +#include "core/frontend/camera/interface.h" #include "core/settings.h" #include "ui_configure_camera.h" diff --git a/src/citra_qt/configuration/configure_camera.h b/src/citra_qt/configuration/configure_camera.h index 739297a8d..da89f8f07 100644 --- a/src/citra_qt/configuration/configure_camera.h +++ b/src/citra_qt/configuration/configure_camera.h @@ -4,8 +4,13 @@ #pragma once -#include "core/frontend/camera/factory.h" -#include "core/frontend/camera/interface.h" +#include +#include +#include + +namespace Camera { +class CameraInterface; +} namespace Ui { class ConfigureCamera; From a6efc7c1eef3b7087103ee58f506f4617e80492f Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Mon, 17 Aug 2020 19:26:20 -0300 Subject: [PATCH 4/7] 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 dab581388..7573e2217 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 01f18e445..133a33ef2 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 d46c8db56..38acb4bac 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 7c36e02c5..4a43afd30 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 000000000..5cb1e7c6c --- /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 ab01aecda..82b0b1181 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 5749df0a5..324e2c1bd 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 95f449676..0cb78ea8e 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" From 7bcfff4e711ff7cc1a441575cffda83f8e5f8eab Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Mon, 17 Aug 2020 21:33:22 -0300 Subject: [PATCH 5/7] clang format --- src/citra_qt/configuration/configure_camera.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/citra_qt/configuration/configure_camera.h b/src/citra_qt/configuration/configure_camera.h index da89f8f07..5e9b5001a 100644 --- a/src/citra_qt/configuration/configure_camera.h +++ b/src/citra_qt/configuration/configure_camera.h @@ -4,8 +4,8 @@ #pragma once -#include #include +#include #include namespace Camera { From 683fb833f2723941b4116153070348d0752cd1ea Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Wed, 19 Aug 2020 03:53:25 -0300 Subject: [PATCH 6/7] camera_util.cpp: remove unnecessary includes --- src/citra_qt/camera/camera_util.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/citra_qt/camera/camera_util.cpp b/src/citra_qt/camera/camera_util.cpp index a2f01e651..8e67ca452 100644 --- a/src/citra_qt/camera/camera_util.cpp +++ b/src/citra_qt/camera/camera_util.cpp @@ -3,11 +3,10 @@ // Refer to the license.txt file included. #include +#include #include #include #include "citra_qt/camera/camera_util.h" -#include "core/frontend/camera/factory.h" -#include "core/frontend/camera/interface.h" namespace CameraUtil { From 08e46148173ffc856b2fde9c9925c7cd2aae8ddd Mon Sep 17 00:00:00 2001 From: Vitor Kiguchi Date: Wed, 19 Aug 2020 03:53:54 -0300 Subject: [PATCH 7/7] interface.h: forward declare resolution --- src/citra_qt/camera/qt_camera_base.cpp | 2 ++ src/citra_qt/camera/still_image_camera.cpp | 1 + src/citra_qt/configuration/configure_camera.cpp | 1 + src/core/frontend/camera/blank_camera.cpp | 1 + src/core/frontend/camera/interface.h | 6 +++++- 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/citra_qt/camera/qt_camera_base.cpp b/src/citra_qt/camera/qt_camera_base.cpp index 9eedad3db..6956bdee0 100644 --- a/src/citra_qt/camera/qt_camera_base.cpp +++ b/src/citra_qt/camera/qt_camera_base.cpp @@ -5,6 +5,8 @@ #include #include "citra_qt/camera/camera_util.h" #include "citra_qt/camera/qt_camera_base.h" +#include "common/logging/log.h" +#include "core/hle/service/cam/cam.h" namespace Camera { diff --git a/src/citra_qt/camera/still_image_camera.cpp b/src/citra_qt/camera/still_image_camera.cpp index 665100f8d..cd1b6713d 100644 --- a/src/citra_qt/camera/still_image_camera.cpp +++ b/src/citra_qt/camera/still_image_camera.cpp @@ -7,6 +7,7 @@ #include #include #include "citra_qt/camera/still_image_camera.h" +#include "common/logging/log.h" namespace Camera { diff --git a/src/citra_qt/configuration/configure_camera.cpp b/src/citra_qt/configuration/configure_camera.cpp index 80206201f..1ee577988 100644 --- a/src/citra_qt/configuration/configure_camera.cpp +++ b/src/citra_qt/configuration/configure_camera.cpp @@ -13,6 +13,7 @@ #include "core/core.h" #include "core/frontend/camera/factory.h" #include "core/frontend/camera/interface.h" +#include "core/hle/service/cam/cam.h" #include "core/settings.h" #include "ui_configure_camera.h" diff --git a/src/core/frontend/camera/blank_camera.cpp b/src/core/frontend/camera/blank_camera.cpp index a63ba780a..b2acb598b 100644 --- a/src/core/frontend/camera/blank_camera.cpp +++ b/src/core/frontend/camera/blank_camera.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include "core/frontend/camera/blank_camera.h" +#include "core/hle/service/cam/cam.h" namespace Camera { diff --git a/src/core/frontend/camera/interface.h b/src/core/frontend/camera/interface.h index 6d8040ae2..fa2c18ce1 100644 --- a/src/core/frontend/camera/interface.h +++ b/src/core/frontend/camera/interface.h @@ -6,7 +6,11 @@ #include #include "common/common_types.h" -#include "core/hle/service/cam/cam.h" +#include "core/hle/service/cam/cam_params.h" + +namespace Service::CAM { +struct Resolution; +} // namespace Service::CAM namespace Camera {