summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/arm/arm_interface.h3
-rw-r--r--src/core/arm/dyncom/arm_dyncom.cpp3
-rw-r--r--src/core/arm/dyncom/arm_dyncom_trans.cpp3
-rw-r--r--src/core/arm/skyeye_common/armstate.h6
-rw-r--r--src/core/arm/skyeye_common/vfp/vfpdouble.cpp2
-rw-r--r--src/core/arm/skyeye_common/vfp/vfpsingle.cpp14
-rw-r--r--src/core/core.cpp3
-rw-r--r--src/core/core_timing.cpp6
-rw-r--r--src/core/file_sys/archive_backend.h36
-rw-r--r--src/core/file_sys/archive_savedata.cpp7
-rw-r--r--src/core/file_sys/archive_savedatacheck.cpp3
-rw-r--r--src/core/file_sys/archive_systemsavedata.cpp3
-rw-r--r--src/core/file_sys/directory_backend.h6
-rw-r--r--src/core/file_sys/disk_archive.h3
-rw-r--r--src/core/file_sys/file_backend.h6
-rw-r--r--src/core/file_sys/ivfc_archive.h9
-rw-r--r--src/core/hle/applets/applet.h6
-rw-r--r--src/core/hle/applets/erreula.cpp3
-rw-r--r--src/core/hle/applets/erreula.h3
-rw-r--r--src/core/hle/applets/mii_selector.cpp3
-rw-r--r--src/core/hle/applets/mii_selector.h3
-rw-r--r--src/core/hle/applets/swkbd.h3
-rw-r--r--src/core/hle/kernel/address_arbiter.cpp6
-rw-r--r--src/core/hle/kernel/client_port.cpp6
-rw-r--r--src/core/hle/kernel/event.cpp6
-rw-r--r--src/core/hle/kernel/kernel.h3
-rw-r--r--src/core/hle/kernel/mutex.cpp6
-rw-r--r--src/core/hle/kernel/process.cpp12
-rw-r--r--src/core/hle/kernel/resource_limit.cpp9
-rw-r--r--src/core/hle/kernel/resource_limit.h4
-rw-r--r--src/core/hle/kernel/semaphore.cpp6
-rw-r--r--src/core/hle/kernel/server_port.cpp11
-rw-r--r--src/core/hle/kernel/server_port.h4
-rw-r--r--src/core/hle/kernel/session.cpp6
-rw-r--r--src/core/hle/kernel/shared_memory.cpp6
-rw-r--r--src/core/hle/kernel/thread.cpp6
-rw-r--r--src/core/hle/kernel/timer.cpp9
-rw-r--r--src/core/hle/result.h3
-rw-r--r--src/core/hle/service/am/am.cpp3
-rw-r--r--src/core/hle/service/am/am_app.cpp2
-rw-r--r--src/core/hle/service/am/am_net.cpp2
-rw-r--r--src/core/hle/service/am/am_sys.cpp46
-rw-r--r--src/core/hle/service/am/am_u.cpp72
-rw-r--r--src/core/hle/service/apt/apt.cpp6
-rw-r--r--src/core/hle/service/apt/apt.h14
-rw-r--r--src/core/hle/service/apt/apt_a.cpp5
-rw-r--r--src/core/hle/service/apt/apt_s.cpp5
-rw-r--r--src/core/hle/service/apt/apt_u.cpp5
-rw-r--r--src/core/hle/service/boss/boss.cpp3
-rw-r--r--src/core/hle/service/cam/cam.h54
-rw-r--r--src/core/hle/service/cam/cam_u.cpp2
-rw-r--r--src/core/hle/service/cecd/cecd_u.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg.cpp13
-rw-r--r--src/core/hle/service/cfg/cfg.h15
-rw-r--r--src/core/hle/service/cfg/cfg_i.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg_s.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg_u.cpp2
-rw-r--r--src/core/hle/service/dlp/dlp.cpp3
-rw-r--r--src/core/hle/service/err_f.cpp4
-rw-r--r--src/core/hle/service/frd/frd.cpp3
-rw-r--r--src/core/hle/service/frd/frd_u.cpp2
-rw-r--r--src/core/hle/service/fs/archive.cpp12
-rw-r--r--src/core/hle/service/fs/fs_user.cpp3
-rw-r--r--src/core/hle/service/gsp_gpu.cpp7
-rw-r--r--src/core/hle/service/gsp_lcd.cpp14
-rw-r--r--src/core/hle/service/hid/hid.cpp9
-rw-r--r--src/core/hle/service/hid/hid_spvr.cpp2
-rw-r--r--src/core/hle/service/hid/hid_user.cpp2
-rw-r--r--src/core/hle/service/ir/ir_rst.cpp2
-rw-r--r--src/core/hle/service/ir/ir_u.cpp29
-rw-r--r--src/core/hle/service/ir/ir_user.cpp2
-rw-r--r--src/core/hle/service/ldr_ro/cro_helper.cpp47
-rw-r--r--src/core/hle/service/ldr_ro/cro_helper.h9
-rw-r--r--src/core/hle/service/ldr_ro/ldr_ro.cpp14
-rw-r--r--src/core/hle/service/ndm/ndm.cpp13
-rw-r--r--src/core/hle/service/ndm/ndm.h9
-rw-r--r--src/core/hle/service/ndm/ndm_u.cpp2
-rw-r--r--src/core/hle/service/news/news.cpp3
-rw-r--r--src/core/hle/service/news/news_s.cpp2
-rw-r--r--src/core/hle/service/nim/nim.cpp3
-rw-r--r--src/core/hle/service/nim/nim_u.cpp2
-rw-r--r--src/core/hle/service/ptm/ptm.cpp3
-rw-r--r--src/core/hle/service/ptm/ptm_sysm.cpp2
-rw-r--r--src/core/hle/service/ptm/ptm_u.cpp2
-rw-r--r--src/core/hle/service/soc_u.cpp154
-rw-r--r--src/core/hle/service/ssl_c.cpp3
-rw-r--r--src/core/hle/service/y2r_u.cpp4
-rw-r--r--src/core/hw/hw.cpp3
-rw-r--r--src/core/hw/y2r.cpp32
-rw-r--r--src/core/loader/3dsx.h3
-rw-r--r--src/core/loader/elf.h3
-rw-r--r--src/core/loader/loader.h6
-rw-r--r--src/core/loader/ncch.h3
-rw-r--r--src/core/tracer/citrace.h7
-rw-r--r--src/core/tracer/recorder.cpp3
95 files changed, 467 insertions, 451 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 919da6737..e466b21b2 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -15,8 +15,7 @@ struct ThreadContext;
15/// Generic ARM11 CPU interface 15/// Generic ARM11 CPU interface
16class ARM_Interface : NonCopyable { 16class ARM_Interface : NonCopyable {
17public: 17public:
18 virtual ~ARM_Interface() { 18 virtual ~ARM_Interface() {}
19 }
20 19
21 /** 20 /**
22 * Runs the CPU for the given number of instructions 21 * Runs the CPU for the given number of instructions
diff --git a/src/core/arm/dyncom/arm_dyncom.cpp b/src/core/arm/dyncom/arm_dyncom.cpp
index d84917529..912560402 100644
--- a/src/core/arm/dyncom/arm_dyncom.cpp
+++ b/src/core/arm/dyncom/arm_dyncom.cpp
@@ -21,8 +21,7 @@ ARM_DynCom::ARM_DynCom(PrivilegeMode initial_mode) {
21 state = std::make_unique<ARMul_State>(initial_mode); 21 state = std::make_unique<ARMul_State>(initial_mode);
22} 22}
23 23
24ARM_DynCom::~ARM_DynCom() { 24ARM_DynCom::~ARM_DynCom() {}
25}
26 25
27void ARM_DynCom::ClearInstructionCache() { 26void ARM_DynCom::ClearInstructionCache() {
28 state->instruction_cache.clear(); 27 state->instruction_cache.clear();
diff --git a/src/core/arm/dyncom/arm_dyncom_trans.cpp b/src/core/arm/dyncom/arm_dyncom_trans.cpp
index e056d890c..526cf28f3 100644
--- a/src/core/arm/dyncom/arm_dyncom_trans.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_trans.cpp
@@ -1883,6 +1883,7 @@ const transop_fp_t arm_instruction_trans[] = {
1883 // All the thumb instructions should be placed the end of table 1883 // All the thumb instructions should be placed the end of table
1884 INTERPRETER_TRANSLATE(b_2_thumb), INTERPRETER_TRANSLATE(b_cond_thumb), 1884 INTERPRETER_TRANSLATE(b_2_thumb), INTERPRETER_TRANSLATE(b_cond_thumb),
1885 INTERPRETER_TRANSLATE(bl_1_thumb), INTERPRETER_TRANSLATE(bl_2_thumb), 1885 INTERPRETER_TRANSLATE(bl_1_thumb), INTERPRETER_TRANSLATE(bl_2_thumb),
1886 INTERPRETER_TRANSLATE(blx_1_thumb)}; 1886 INTERPRETER_TRANSLATE(blx_1_thumb),
1887};
1887 1888
1888const size_t arm_instruction_trans_len = sizeof(arm_instruction_trans) / sizeof(transop_fp_t); 1889const size_t arm_instruction_trans_len = sizeof(arm_instruction_trans) / sizeof(transop_fp_t);
diff --git a/src/core/arm/skyeye_common/armstate.h b/src/core/arm/skyeye_common/armstate.h
index 66567c285..f31fb207c 100644
--- a/src/core/arm/skyeye_common/armstate.h
+++ b/src/core/arm/skyeye_common/armstate.h
@@ -237,10 +237,8 @@ private:
237 void ResetMPCoreCP15Registers(); 237 void ResetMPCoreCP15Registers();
238 238
239 // Defines a reservation granule of 2 words, which protects the first 2 words starting at the 239 // Defines a reservation granule of 2 words, which protects the first 2 words starting at the
240 // tag. 240 // tag. This is the smallest granule allowed by the v7 spec, and is coincidentally just large
241 // This is the smallest granule allowed by the v7 spec, and is coincidentally just large enough 241 // enough to support LDR/STREXD.
242 // to
243 // support LDR/STREXD.
244 static const u32 RESERVATION_GRANULE_MASK = 0xFFFFFFF8; 242 static const u32 RESERVATION_GRANULE_MASK = 0xFFFFFFF8;
245 243
246 u32 exclusive_tag; // The address for which the local monitor is in exclusive access mode 244 u32 exclusive_tag; // The address for which the local monitor is in exclusive access mode
diff --git a/src/core/arm/skyeye_common/vfp/vfpdouble.cpp b/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
index 4d89743e7..2886f351f 100644
--- a/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
+++ b/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
@@ -51,10 +51,10 @@
51 * =========================================================================== 51 * ===========================================================================
52 */ 52 */
53 53
54#include "core/arm/skyeye_common/vfp/vfp.h"
55#include <algorithm> 54#include <algorithm>
56#include "common/logging/log.h" 55#include "common/logging/log.h"
57#include "core/arm/skyeye_common/vfp/asm_vfp.h" 56#include "core/arm/skyeye_common/vfp/asm_vfp.h"
57#include "core/arm/skyeye_common/vfp/vfp.h"
58#include "core/arm/skyeye_common/vfp/vfp_helper.h" 58#include "core/arm/skyeye_common/vfp/vfp_helper.h"
59 59
60static struct vfp_double vfp_double_default_qnan = { 60static struct vfp_double vfp_double_default_qnan = {
diff --git a/src/core/arm/skyeye_common/vfp/vfpsingle.cpp b/src/core/arm/skyeye_common/vfp/vfpsingle.cpp
index 3c21efe62..bf157e2c3 100644
--- a/src/core/arm/skyeye_common/vfp/vfpsingle.cpp
+++ b/src/core/arm/skyeye_common/vfp/vfpsingle.cpp
@@ -280,13 +280,15 @@ static u32 vfp_single_fneg(ARMul_State* state, int sd, int unused, s32 m, u32 fp
280 return 0; 280 return 0;
281} 281}
282 282
283static const u16 sqrt_oddadjust[] = {0x0004, 0x0022, 0x005d, 0x00b1, 0x011d, 0x019f, 283static const u16 sqrt_oddadjust[] = {
284 0x0236, 0x02e0, 0x039c, 0x0468, 0x0545, 0x0631, 284 0x0004, 0x0022, 0x005d, 0x00b1, 0x011d, 0x019f, 0x0236, 0x02e0,
285 0x072b, 0x0832, 0x0946, 0x0a67}; 285 0x039c, 0x0468, 0x0545, 0x0631, 0x072b, 0x0832, 0x0946, 0x0a67,
286};
286 287
287static const u16 sqrt_evenadjust[] = {0x0a2d, 0x08af, 0x075a, 0x0629, 0x051a, 0x0429, 288static const u16 sqrt_evenadjust[] = {
288 0x0356, 0x029e, 0x0200, 0x0179, 0x0109, 0x00af, 289 0x0a2d, 0x08af, 0x075a, 0x0629, 0x051a, 0x0429, 0x0356, 0x029e,
289 0x0068, 0x0034, 0x0012, 0x0002}; 290 0x0200, 0x0179, 0x0109, 0x00af, 0x0068, 0x0034, 0x0012, 0x0002,
291};
290 292
291u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand) { 293u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand) {
292 int index; 294 int index;
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 4f9eca416..71a13dd33 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -28,8 +28,7 @@ void RunLoop(int tight_loop) {
28 GDBStub::HandlePacket(); 28 GDBStub::HandlePacket();
29 29
30 // If the loop is halted and we want to step, use a tiny (1) number of instructions to 30 // If the loop is halted and we want to step, use a tiny (1) number of instructions to
31 // execute. 31 // execute. Otherwise, get out of the loop function.
32 // Otherwise get out of the loop function.
33 if (GDBStub::GetCpuHaltFlag()) { 32 if (GDBStub::GetCpuHaltFlag()) {
34 if (GDBStub::GetCpuStepFlag()) { 33 if (GDBStub::GetCpuStepFlag()) {
35 GDBStub::SetCpuStepFlag(false); 34 GDBStub::SetCpuStepFlag(false);
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp
index b7b988cf1..fb88ecaf2 100644
--- a/src/core/core_timing.cpp
+++ b/src/core/core_timing.cpp
@@ -23,11 +23,9 @@ int g_clock_rate_arm11 = 268123480;
23 23
24namespace CoreTiming { 24namespace CoreTiming {
25struct EventType { 25struct EventType {
26 EventType() { 26 EventType() {}
27 }
28 27
29 EventType(TimedCallback cb, const char* n) : callback(cb), name(n) { 28 EventType(TimedCallback cb, const char* n) : callback(cb), name(n) {}
30 }
31 29
32 TimedCallback callback; 30 TimedCallback callback;
33 const char* name; 31 const char* name;
diff --git a/src/core/file_sys/archive_backend.h b/src/core/file_sys/archive_backend.h
index 79fde9710..7f64fe4e2 100644
--- a/src/core/file_sys/archive_backend.h
+++ b/src/core/file_sys/archive_backend.h
@@ -21,7 +21,13 @@ class FileBackend;
21class DirectoryBackend; 21class DirectoryBackend;
22 22
23// Path string type 23// Path string type
24enum LowPathType : u32 { Invalid = 0, Empty = 1, Binary = 2, Char = 3, Wchar = 4 }; 24enum LowPathType : u32 {
25 Invalid = 0,
26 Empty = 1,
27 Binary = 2,
28 Char = 3,
29 Wchar = 4,
30};
25 31
26union Mode { 32union Mode {
27 u32 hex; 33 u32 hex;
@@ -32,12 +38,9 @@ union Mode {
32 38
33class Path { 39class Path {
34public: 40public:
35 Path() : type(Invalid) { 41 Path() : type(Invalid) {}
36 } 42 Path(const char* path) : type(Char), string(path) {}
37 Path(const char* path) : type(Char), string(path) { 43 Path(std::vector<u8> binary_data) : type(Binary), binary(std::move(binary_data)) {}
38 }
39 Path(std::vector<u8> binary_data) : type(Binary), binary(std::move(binary_data)) {
40 }
41 Path(LowPathType type, u32 size, u32 pointer); 44 Path(LowPathType type, u32 size, u32 pointer);
42 45
43 LowPathType GetType() const { 46 LowPathType GetType() const {
@@ -61,22 +64,18 @@ private:
61 std::u16string u16str; 64 std::u16string u16str;
62}; 65};
63 66
67/// Parameters of the archive, as specified in the Create or Format call.
64struct ArchiveFormatInfo { 68struct ArchiveFormatInfo {
65 u32_le total_size; ///< The pre-defined size of the archive, as specified in the Create or 69 u32_le total_size; ///< The pre-defined size of the archive.
66 /// Format call 70 u32_le number_directories; ///< The pre-defined number of directories in the archive.
67 u32_le number_directories; ///< The pre-defined number of directories in the archive, as 71 u32_le number_files; ///< The pre-defined number of files in the archive.
68 /// specified in the Create or Format call 72 u8 duplicate_data; ///< Whether the archive should duplicate the data.
69 u32_le number_files; ///< The pre-defined number of files in the archive, as specified in the
70 /// Create or Format call
71 u8 duplicate_data; ///< Whether the archive should duplicate the data, as specified in the
72 /// Create or Format call
73}; 73};
74static_assert(std::is_pod<ArchiveFormatInfo>::value, "ArchiveFormatInfo is not POD"); 74static_assert(std::is_pod<ArchiveFormatInfo>::value, "ArchiveFormatInfo is not POD");
75 75
76class ArchiveBackend : NonCopyable { 76class ArchiveBackend : NonCopyable {
77public: 77public:
78 virtual ~ArchiveBackend() { 78 virtual ~ArchiveBackend() {}
79 }
80 79
81 /** 80 /**
82 * Get a descriptive name for the archive (e.g. "RomFS", "SaveData", etc.) 81 * Get a descriptive name for the archive (e.g. "RomFS", "SaveData", etc.)
@@ -153,8 +152,7 @@ public:
153 152
154class ArchiveFactory : NonCopyable { 153class ArchiveFactory : NonCopyable {
155public: 154public:
156 virtual ~ArchiveFactory() { 155 virtual ~ArchiveFactory() {}
157 }
158 156
159 /** 157 /**
160 * Get a descriptive name for the archive (e.g. "RomFS", "SaveData", etc.) 158 * Get a descriptive name for the archive (e.g. "RomFS", "SaveData", etc.)
diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp
index 9a264091f..860f2fca8 100644
--- a/src/core/file_sys/archive_savedata.cpp
+++ b/src/core/file_sys/archive_savedata.cpp
@@ -48,11 +48,10 @@ ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveData::Open(const P
48 std::string concrete_mount_point = 48 std::string concrete_mount_point =
49 GetSaveDataPath(mount_point, Kernel::g_current_process->codeset->program_id); 49 GetSaveDataPath(mount_point, Kernel::g_current_process->codeset->program_id);
50 if (!FileUtil::Exists(concrete_mount_point)) { 50 if (!FileUtil::Exists(concrete_mount_point)) {
51 // When a SaveData archive is created for the first time, it is not yet formatted 51 // When a SaveData archive is created for the first time, it is not yet formatted and the
52 // and the save file/directory structure expected by the game has not yet been initialized. 52 // save file/directory structure expected by the game has not yet been initialized.
53 // Returning the NotFormatted error code will signal the game to provision the SaveData 53 // Returning the NotFormatted error code will signal the game to provision the SaveData
54 // archive 54 // archive with the files and folders that it expects.
55 // with the files and folders that it expects.
56 return ResultCode(ErrorDescription::FS_NotFormatted, ErrorModule::FS, 55 return ResultCode(ErrorDescription::FS_NotFormatted, ErrorModule::FS,
57 ErrorSummary::InvalidState, ErrorLevel::Status); 56 ErrorSummary::InvalidState, ErrorLevel::Status);
58 } 57 }
diff --git a/src/core/file_sys/archive_savedatacheck.cpp b/src/core/file_sys/archive_savedatacheck.cpp
index fd9b84302..50fe004fe 100644
--- a/src/core/file_sys/archive_savedatacheck.cpp
+++ b/src/core/file_sys/archive_savedatacheck.cpp
@@ -30,8 +30,7 @@ static std::string GetSaveDataCheckPath(const std::string& mount_point, u32 high
30} 30}
31 31
32ArchiveFactory_SaveDataCheck::ArchiveFactory_SaveDataCheck(const std::string& nand_directory) 32ArchiveFactory_SaveDataCheck::ArchiveFactory_SaveDataCheck(const std::string& nand_directory)
33 : mount_point(GetSaveDataCheckContainerPath(nand_directory)) { 33 : mount_point(GetSaveDataCheckContainerPath(nand_directory)) {}
34}
35 34
36ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveDataCheck::Open(const Path& path) { 35ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SaveDataCheck::Open(const Path& path) {
37 auto vec = path.AsBinary(); 36 auto vec = path.AsBinary();
diff --git a/src/core/file_sys/archive_systemsavedata.cpp b/src/core/file_sys/archive_systemsavedata.cpp
index 1fb858247..0261ab547 100644
--- a/src/core/file_sys/archive_systemsavedata.cpp
+++ b/src/core/file_sys/archive_systemsavedata.cpp
@@ -49,8 +49,7 @@ Path ConstructSystemSaveDataBinaryPath(u32 high, u32 low) {
49} 49}
50 50
51ArchiveFactory_SystemSaveData::ArchiveFactory_SystemSaveData(const std::string& nand_path) 51ArchiveFactory_SystemSaveData::ArchiveFactory_SystemSaveData(const std::string& nand_path)
52 : base_path(GetSystemSaveDataContainerPath(nand_path)) { 52 : base_path(GetSystemSaveDataContainerPath(nand_path)) {}
53}
54 53
55ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SystemSaveData::Open(const Path& path) { 54ResultVal<std::unique_ptr<ArchiveBackend>> ArchiveFactory_SystemSaveData::Open(const Path& path) {
56 std::string fullpath = GetSystemSaveDataPath(base_path, path); 55 std::string fullpath = GetSystemSaveDataPath(base_path, path);
diff --git a/src/core/file_sys/directory_backend.h b/src/core/file_sys/directory_backend.h
index c402ee60b..9706e909b 100644
--- a/src/core/file_sys/directory_backend.h
+++ b/src/core/file_sys/directory_backend.h
@@ -38,10 +38,8 @@ static_assert(offsetof(Entry, file_size) == 0x220, "Wrong offset for file_size i
38 38
39class DirectoryBackend : NonCopyable { 39class DirectoryBackend : NonCopyable {
40public: 40public:
41 DirectoryBackend() { 41 DirectoryBackend() {}
42 } 42 virtual ~DirectoryBackend() {}
43 virtual ~DirectoryBackend() {
44 }
45 43
46 /** 44 /**
47 * Open the directory 45 * Open the directory
diff --git a/src/core/file_sys/disk_archive.h b/src/core/file_sys/disk_archive.h
index 3f620128f..64e36f5ea 100644
--- a/src/core/file_sys/disk_archive.h
+++ b/src/core/file_sys/disk_archive.h
@@ -29,8 +29,7 @@ namespace FileSys {
29 */ 29 */
30class DiskArchive : public ArchiveBackend { 30class DiskArchive : public ArchiveBackend {
31public: 31public:
32 DiskArchive(const std::string& mount_point_) : mount_point(mount_point_) { 32 DiskArchive(const std::string& mount_point_) : mount_point(mount_point_) {}
33 }
34 33
35 virtual std::string GetName() const override { 34 virtual std::string GetName() const override {
36 return "DiskArchive: " + mount_point; 35 return "DiskArchive: " + mount_point;
diff --git a/src/core/file_sys/file_backend.h b/src/core/file_sys/file_backend.h
index 9eae697c2..3496facd4 100644
--- a/src/core/file_sys/file_backend.h
+++ b/src/core/file_sys/file_backend.h
@@ -16,10 +16,8 @@ namespace FileSys {
16 16
17class FileBackend : NonCopyable { 17class FileBackend : NonCopyable {
18public: 18public:
19 FileBackend() { 19 FileBackend() {}
20 } 20 virtual ~FileBackend() {}
21 virtual ~FileBackend() {
22 }
23 21
24 /** 22 /**
25 * Open the file 23 * Open the file
diff --git a/src/core/file_sys/ivfc_archive.h b/src/core/file_sys/ivfc_archive.h
index dab1958f6..0d15550da 100644
--- a/src/core/file_sys/ivfc_archive.h
+++ b/src/core/file_sys/ivfc_archive.h
@@ -30,8 +30,7 @@ namespace FileSys {
30class IVFCArchive : public ArchiveBackend { 30class IVFCArchive : public ArchiveBackend {
31public: 31public:
32 IVFCArchive(std::shared_ptr<FileUtil::IOFile> file, u64 offset, u64 size) 32 IVFCArchive(std::shared_ptr<FileUtil::IOFile> file, u64 offset, u64 size)
33 : romfs_file(file), data_offset(offset), data_size(size) { 33 : romfs_file(file), data_offset(offset), data_size(size) {}
34 }
35 34
36 std::string GetName() const override; 35 std::string GetName() const override;
37 36
@@ -55,8 +54,7 @@ protected:
55class IVFCFile : public FileBackend { 54class IVFCFile : public FileBackend {
56public: 55public:
57 IVFCFile(std::shared_ptr<FileUtil::IOFile> file, u64 offset, u64 size) 56 IVFCFile(std::shared_ptr<FileUtil::IOFile> file, u64 offset, u64 size)
58 : romfs_file(file), data_offset(offset), data_size(size) { 57 : romfs_file(file), data_offset(offset), data_size(size) {}
59 }
60 58
61 ResultCode Open() override { 59 ResultCode Open() override {
62 return RESULT_SUCCESS; 60 return RESULT_SUCCESS;
@@ -68,8 +66,7 @@ public:
68 bool Close() const override { 66 bool Close() const override {
69 return false; 67 return false;
70 } 68 }
71 void Flush() const override { 69 void Flush() const override {}
72 }
73 70
74private: 71private:
75 std::shared_ptr<FileUtil::IOFile> romfs_file; 72 std::shared_ptr<FileUtil::IOFile> romfs_file;
diff --git a/src/core/hle/applets/applet.h b/src/core/hle/applets/applet.h
index 350a58594..1850ad261 100644
--- a/src/core/hle/applets/applet.h
+++ b/src/core/hle/applets/applet.h
@@ -14,10 +14,8 @@ namespace Applets {
14 14
15class Applet { 15class Applet {
16public: 16public:
17 virtual ~Applet() { 17 virtual ~Applet() {}
18 } 18 Applet(Service::APT::AppletId id) : id(id) {}
19 Applet(Service::APT::AppletId id) : id(id) {
20 }
21 19
22 /** 20 /**
23 * Creates an instance of the Applet subclass identified by the parameter. 21 * Creates an instance of the Applet subclass identified by the parameter.
diff --git a/src/core/hle/applets/erreula.cpp b/src/core/hle/applets/erreula.cpp
index 144d6a152..457cbb1bd 100644
--- a/src/core/hle/applets/erreula.cpp
+++ b/src/core/hle/applets/erreula.cpp
@@ -67,8 +67,7 @@ ResultCode ErrEula::StartImpl(const Service::APT::AppletStartupParameter& parame
67 return RESULT_SUCCESS; 67 return RESULT_SUCCESS;
68} 68}
69 69
70void ErrEula::Update() { 70void ErrEula::Update() {}
71}
72 71
73} // namespace Applets 72} // namespace Applets
74} // namespace HLE 73} // namespace HLE
diff --git a/src/core/hle/applets/erreula.h b/src/core/hle/applets/erreula.h
index dd1d1aee4..a7ec7ec01 100644
--- a/src/core/hle/applets/erreula.h
+++ b/src/core/hle/applets/erreula.h
@@ -12,8 +12,7 @@ namespace Applets {
12 12
13class ErrEula final : public Applet { 13class ErrEula final : public Applet {
14public: 14public:
15 explicit ErrEula(Service::APT::AppletId id) : Applet(id) { 15 explicit ErrEula(Service::APT::AppletId id) : Applet(id) {}
16 }
17 16
18 ResultCode ReceiveParameter(const Service::APT::MessageParameter& parameter) override; 17 ResultCode ReceiveParameter(const Service::APT::MessageParameter& parameter) override;
19 ResultCode StartImpl(const Service::APT::AppletStartupParameter& parameter) override; 18 ResultCode StartImpl(const Service::APT::AppletStartupParameter& parameter) override;
diff --git a/src/core/hle/applets/mii_selector.cpp b/src/core/hle/applets/mii_selector.cpp
index 19e603eda..79264d349 100644
--- a/src/core/hle/applets/mii_selector.cpp
+++ b/src/core/hle/applets/mii_selector.cpp
@@ -85,7 +85,6 @@ ResultCode MiiSelector::StartImpl(const Service::APT::AppletStartupParameter& pa
85 return RESULT_SUCCESS; 85 return RESULT_SUCCESS;
86} 86}
87 87
88void MiiSelector::Update() { 88void MiiSelector::Update() {}
89}
90} 89}
91} // namespace 90} // namespace
diff --git a/src/core/hle/applets/mii_selector.h b/src/core/hle/applets/mii_selector.h
index dba4abc8d..26966a271 100644
--- a/src/core/hle/applets/mii_selector.h
+++ b/src/core/hle/applets/mii_selector.h
@@ -66,8 +66,7 @@ ASSERT_REG_POSITION(unk_6C, 0x6C);
66 66
67class MiiSelector final : public Applet { 67class MiiSelector final : public Applet {
68public: 68public:
69 MiiSelector(Service::APT::AppletId id) : Applet(id), started(false) { 69 MiiSelector(Service::APT::AppletId id) : Applet(id), started(false) {}
70 }
71 70
72 ResultCode ReceiveParameter(const Service::APT::MessageParameter& parameter) override; 71 ResultCode ReceiveParameter(const Service::APT::MessageParameter& parameter) override;
73 ResultCode StartImpl(const Service::APT::AppletStartupParameter& parameter) override; 72 ResultCode StartImpl(const Service::APT::AppletStartupParameter& parameter) override;
diff --git a/src/core/hle/applets/swkbd.h b/src/core/hle/applets/swkbd.h
index f50673912..4e2f9de62 100644
--- a/src/core/hle/applets/swkbd.h
+++ b/src/core/hle/applets/swkbd.h
@@ -53,8 +53,7 @@ static_assert(sizeof(SoftwareKeyboardConfig) == 0x400, "Software Keyboard Config
53 53
54class SoftwareKeyboard final : public Applet { 54class SoftwareKeyboard final : public Applet {
55public: 55public:
56 SoftwareKeyboard(Service::APT::AppletId id) : Applet(id), started(false) { 56 SoftwareKeyboard(Service::APT::AppletId id) : Applet(id), started(false) {}
57 }
58 57
59 ResultCode ReceiveParameter(const Service::APT::MessageParameter& parameter) override; 58 ResultCode ReceiveParameter(const Service::APT::MessageParameter& parameter) override;
60 ResultCode StartImpl(const Service::APT::AppletStartupParameter& parameter) override; 59 ResultCode StartImpl(const Service::APT::AppletStartupParameter& parameter) override;
diff --git a/src/core/hle/kernel/address_arbiter.cpp b/src/core/hle/kernel/address_arbiter.cpp
index 2ff652f13..3506c2d48 100644
--- a/src/core/hle/kernel/address_arbiter.cpp
+++ b/src/core/hle/kernel/address_arbiter.cpp
@@ -16,10 +16,8 @@
16 16
17namespace Kernel { 17namespace Kernel {
18 18
19AddressArbiter::AddressArbiter() { 19AddressArbiter::AddressArbiter() {}
20} 20AddressArbiter::~AddressArbiter() {}
21AddressArbiter::~AddressArbiter() {
22}
23 21
24SharedPtr<AddressArbiter> AddressArbiter::Create(std::string name) { 22SharedPtr<AddressArbiter> AddressArbiter::Create(std::string name) {
25 SharedPtr<AddressArbiter> address_arbiter(new AddressArbiter); 23 SharedPtr<AddressArbiter> address_arbiter(new AddressArbiter);
diff --git a/src/core/hle/kernel/client_port.cpp b/src/core/hle/kernel/client_port.cpp
index 5df769c6a..444ce8d45 100644
--- a/src/core/hle/kernel/client_port.cpp
+++ b/src/core/hle/kernel/client_port.cpp
@@ -10,9 +10,7 @@
10 10
11namespace Kernel { 11namespace Kernel {
12 12
13ClientPort::ClientPort() { 13ClientPort::ClientPort() {}
14} 14ClientPort::~ClientPort() {}
15ClientPort::~ClientPort() {
16}
17 15
18} // namespace 16} // namespace
diff --git a/src/core/hle/kernel/event.cpp b/src/core/hle/kernel/event.cpp
index 63375818d..f056eb7c3 100644
--- a/src/core/hle/kernel/event.cpp
+++ b/src/core/hle/kernel/event.cpp
@@ -14,10 +14,8 @@
14 14
15namespace Kernel { 15namespace Kernel {
16 16
17Event::Event() { 17Event::Event() {}
18} 18Event::~Event() {}
19Event::~Event() {
20}
21 19
22SharedPtr<Event> Event::Create(ResetType reset_type, std::string name) { 20SharedPtr<Event> Event::Create(ResetType reset_type, std::string name) {
23 SharedPtr<Event> evt(new Event); 21 SharedPtr<Event> evt(new Event);
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index cc39652d5..c683fcb80 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -58,8 +58,7 @@ enum {
58 58
59class Object : NonCopyable { 59class Object : NonCopyable {
60public: 60public:
61 virtual ~Object() { 61 virtual ~Object() {}
62 }
63 62
64 /// Returns a unique identifier for the object. For debugging purposes only. 63 /// Returns a unique identifier for the object. For debugging purposes only.
65 unsigned int GetObjectId() const { 64 unsigned int GetObjectId() const {
diff --git a/src/core/hle/kernel/mutex.cpp b/src/core/hle/kernel/mutex.cpp
index f92810804..edb97d324 100644
--- a/src/core/hle/kernel/mutex.cpp
+++ b/src/core/hle/kernel/mutex.cpp
@@ -33,10 +33,8 @@ void ReleaseThreadMutexes(Thread* thread) {
33 thread->held_mutexes.clear(); 33 thread->held_mutexes.clear();
34} 34}
35 35
36Mutex::Mutex() { 36Mutex::Mutex() {}
37} 37Mutex::~Mutex() {}
38Mutex::~Mutex() {
39}
40 38
41SharedPtr<Mutex> Mutex::Create(bool initial_locked, std::string name) { 39SharedPtr<Mutex> Mutex::Create(bool initial_locked, std::string name) {
42 SharedPtr<Mutex> mutex(new Mutex); 40 SharedPtr<Mutex> mutex(new Mutex);
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index cc37e574c..b764f750f 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -26,10 +26,8 @@ SharedPtr<CodeSet> CodeSet::Create(std::string name, u64 program_id) {
26 return codeset; 26 return codeset;
27} 27}
28 28
29CodeSet::CodeSet() { 29CodeSet::CodeSet() {}
30} 30CodeSet::~CodeSet() {}
31CodeSet::~CodeSet() {
32}
33 31
34u32 Process::next_process_id; 32u32 Process::next_process_id;
35 33
@@ -282,10 +280,8 @@ ResultCode Process::LinearFree(VAddr target, u32 size) {
282 return RESULT_SUCCESS; 280 return RESULT_SUCCESS;
283} 281}
284 282
285Kernel::Process::Process() { 283Kernel::Process::Process() {}
286} 284Kernel::Process::~Process() {}
287Kernel::Process::~Process() {
288}
289 285
290SharedPtr<Process> g_current_process; 286SharedPtr<Process> g_current_process;
291} 287}
diff --git a/src/core/hle/kernel/resource_limit.cpp b/src/core/hle/kernel/resource_limit.cpp
index 7bd1c1e08..bb0baed6f 100644
--- a/src/core/hle/kernel/resource_limit.cpp
+++ b/src/core/hle/kernel/resource_limit.cpp
@@ -12,10 +12,8 @@ namespace Kernel {
12 12
13static SharedPtr<ResourceLimit> resource_limits[4]; 13static SharedPtr<ResourceLimit> resource_limits[4];
14 14
15ResourceLimit::ResourceLimit() { 15ResourceLimit::ResourceLimit() {}
16} 16ResourceLimit::~ResourceLimit() {}
17ResourceLimit::~ResourceLimit() {
18}
19 17
20SharedPtr<ResourceLimit> ResourceLimit::Create(std::string name) { 18SharedPtr<ResourceLimit> ResourceLimit::Create(std::string name) {
21 SharedPtr<ResourceLimit> resource_limit(new ResourceLimit); 19 SharedPtr<ResourceLimit> resource_limit(new ResourceLimit);
@@ -150,7 +148,6 @@ void ResourceLimitsInit() {
150 resource_limits[static_cast<u8>(ResourceLimitCategory::OTHER)] = resource_limit; 148 resource_limits[static_cast<u8>(ResourceLimitCategory::OTHER)] = resource_limit;
151} 149}
152 150
153void ResourceLimitsShutdown() { 151void ResourceLimitsShutdown() {}
154}
155 152
156} // namespace 153} // namespace
diff --git a/src/core/hle/kernel/resource_limit.h b/src/core/hle/kernel/resource_limit.h
index c08e744e6..5d8b31a2d 100644
--- a/src/core/hle/kernel/resource_limit.h
+++ b/src/core/hle/kernel/resource_limit.h
@@ -92,8 +92,8 @@ public:
92 s32 max_cpu_time = 0; 92 s32 max_cpu_time = 0;
93 93
94 // TODO(Subv): Increment these in their respective Kernel::T::Create functions, keeping in mind 94 // TODO(Subv): Increment these in their respective Kernel::T::Create functions, keeping in mind
95 // that 95 // that APPLICATION resource limits should not be affected by the objects created by service
96 // APPLICATION resource limits should not be affected by the objects created by service modules. 96 // modules.
97 // Currently we have no way of distinguishing if a Create was called by the running application, 97 // Currently we have no way of distinguishing if a Create was called by the running application,
98 // or by a service module. Approach this once we have separated the service modules into their 98 // or by a service module. Approach this once we have separated the service modules into their
99 // own processes 99 // own processes
diff --git a/src/core/hle/kernel/semaphore.cpp b/src/core/hle/kernel/semaphore.cpp
index 71e41079b..16ac22f1d 100644
--- a/src/core/hle/kernel/semaphore.cpp
+++ b/src/core/hle/kernel/semaphore.cpp
@@ -10,10 +10,8 @@
10 10
11namespace Kernel { 11namespace Kernel {
12 12
13Semaphore::Semaphore() { 13Semaphore::Semaphore() {}
14} 14Semaphore::~Semaphore() {}
15Semaphore::~Semaphore() {
16}
17 15
18ResultVal<SharedPtr<Semaphore>> Semaphore::Create(s32 initial_count, s32 max_count, 16ResultVal<SharedPtr<Semaphore>> Semaphore::Create(s32 initial_count, s32 max_count,
19 std::string name) { 17 std::string name) {
diff --git a/src/core/hle/kernel/server_port.cpp b/src/core/hle/kernel/server_port.cpp
index 7c690fa7f..57e93cad4 100644
--- a/src/core/hle/kernel/server_port.cpp
+++ b/src/core/hle/kernel/server_port.cpp
@@ -13,10 +13,8 @@
13 13
14namespace Kernel { 14namespace Kernel {
15 15
16ServerPort::ServerPort() { 16ServerPort::ServerPort() {}
17} 17ServerPort::~ServerPort() {}
18ServerPort::~ServerPort() {
19}
20 18
21bool ServerPort::ShouldWait() { 19bool ServerPort::ShouldWait() {
22 // If there are no pending sessions, we wait until a new one is added. 20 // If there are no pending sessions, we wait until a new one is added.
@@ -27,8 +25,9 @@ void ServerPort::Acquire() {
27 ASSERT_MSG(!ShouldWait(), "object unavailable!"); 25 ASSERT_MSG(!ShouldWait(), "object unavailable!");
28} 26}
29 27
30std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> 28std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> ServerPort::CreatePortPair(
31ServerPort::CreatePortPair(u32 max_sessions, std::string name) { 29 u32 max_sessions, std::string name) {
30
32 SharedPtr<ServerPort> server_port(new ServerPort); 31 SharedPtr<ServerPort> server_port(new ServerPort);
33 SharedPtr<ClientPort> client_port(new ClientPort); 32 SharedPtr<ClientPort> client_port(new ClientPort);
34 33
diff --git a/src/core/hle/kernel/server_port.h b/src/core/hle/kernel/server_port.h
index e43d48674..c3f2ae177 100644
--- a/src/core/hle/kernel/server_port.h
+++ b/src/core/hle/kernel/server_port.h
@@ -23,8 +23,8 @@ public:
23 * @param name Optional name of the ports 23 * @param name Optional name of the ports
24 * @return The created port tuple 24 * @return The created port tuple
25 */ 25 */
26 static std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> 26 static std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> CreatePortPair(
27 CreatePortPair(u32 max_sessions, std::string name = "UnknownPort"); 27 u32 max_sessions, std::string name = "UnknownPort");
28 28
29 std::string GetTypeName() const override { 29 std::string GetTypeName() const override {
30 return "ServerPort"; 30 return "ServerPort";
diff --git a/src/core/hle/kernel/session.cpp b/src/core/hle/kernel/session.cpp
index 61457845a..8a2a7e3fd 100644
--- a/src/core/hle/kernel/session.cpp
+++ b/src/core/hle/kernel/session.cpp
@@ -7,8 +7,6 @@
7 7
8namespace Kernel { 8namespace Kernel {
9 9
10Session::Session() { 10Session::Session() {}
11} 11Session::~Session() {}
12Session::~Session() {
13}
14} 12}
diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp
index 74f40930c..bf511a338 100644
--- a/src/core/hle/kernel/shared_memory.cpp
+++ b/src/core/hle/kernel/shared_memory.cpp
@@ -12,10 +12,8 @@
12 12
13namespace Kernel { 13namespace Kernel {
14 14
15SharedMemory::SharedMemory() { 15SharedMemory::SharedMemory() {}
16} 16SharedMemory::~SharedMemory() {}
17SharedMemory::~SharedMemory() {
18}
19 17
20SharedPtr<SharedMemory> SharedMemory::Create(SharedPtr<Process> owner_process, u32 size, 18SharedPtr<SharedMemory> SharedMemory::Create(SharedPtr<Process> owner_process, u32 size,
21 MemoryPermission permissions, 19 MemoryPermission permissions,
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 59272715f..0df03c9d5 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -61,10 +61,8 @@ inline static u32 const NewThreadId() {
61 return next_thread_id++; 61 return next_thread_id++;
62} 62}
63 63
64Thread::Thread() { 64Thread::Thread() {}
65} 65Thread::~Thread() {}
66Thread::~Thread() {
67}
68 66
69Thread* GetCurrentThread() { 67Thread* GetCurrentThread() {
70 return current_thread; 68 return current_thread;
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp
index 255cb1aca..427a81923 100644
--- a/src/core/hle/kernel/timer.cpp
+++ b/src/core/hle/kernel/timer.cpp
@@ -20,10 +20,8 @@ static int timer_callback_event_type;
20// us to simply use a pool index or similar. 20// us to simply use a pool index or similar.
21static Kernel::HandleTable timer_callback_handle_table; 21static Kernel::HandleTable timer_callback_handle_table;
22 22
23Timer::Timer() { 23Timer::Timer() {}
24} 24Timer::~Timer() {}
25Timer::~Timer() {
26}
27 25
28SharedPtr<Timer> Timer::Create(ResetType reset_type, std::string name) { 26SharedPtr<Timer> Timer::Create(ResetType reset_type, std::string name) {
29 SharedPtr<Timer> timer(new Timer); 27 SharedPtr<Timer> timer(new Timer);
@@ -103,7 +101,6 @@ void TimersInit() {
103 timer_callback_event_type = CoreTiming::RegisterEvent("TimerCallback", TimerCallback); 101 timer_callback_event_type = CoreTiming::RegisterEvent("TimerCallback", TimerCallback);
104} 102}
105 103
106void TimersShutdown() { 104void TimersShutdown() {}
107}
108 105
109} // namespace 106} // namespace
diff --git a/src/core/hle/result.h b/src/core/hle/result.h
index 6e3dd9cd2..492c1ffa6 100644
--- a/src/core/hle/result.h
+++ b/src/core/hle/result.h
@@ -213,8 +213,7 @@ union ResultCode {
213 // error 213 // error
214 BitField<31, 1, u32> is_error; 214 BitField<31, 1, u32> is_error;
215 215
216 explicit ResultCode(u32 raw) : raw(raw) { 216 explicit ResultCode(u32 raw) : raw(raw) {}
217 }
218 ResultCode(ErrorDescription description_, ErrorModule module_, ErrorSummary summary_, 217 ResultCode(ErrorDescription description_, ErrorModule module_, ErrorSummary summary_,
219 ErrorLevel level_) 218 ErrorLevel level_)
220 : raw(0) { 219 : raw(0) {
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp
index b653523a4..528bb1848 100644
--- a/src/core/hle/service/am/am.cpp
+++ b/src/core/hle/service/am/am.cpp
@@ -186,8 +186,7 @@ void Init() {
186 AddService(new AM_U_Interface); 186 AddService(new AM_U_Interface);
187} 187}
188 188
189void Shutdown() { 189void Shutdown() {}
190}
191 190
192} // namespace AM 191} // namespace AM
193 192
diff --git a/src/core/hle/service/am/am_app.cpp b/src/core/hle/service/am/am_app.cpp
index bfc1ca6bd..827e60335 100644
--- a/src/core/hle/service/am/am_app.cpp
+++ b/src/core/hle/service/am/am_app.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/am/am.h"
6#include "core/hle/service/am/am_app.h" 5#include "core/hle/service/am/am_app.h"
6#include "core/hle/service/am/am.h"
7 7
8namespace Service { 8namespace Service {
9namespace AM { 9namespace AM {
diff --git a/src/core/hle/service/am/am_net.cpp b/src/core/hle/service/am/am_net.cpp
index 3a597a34c..d9d9d78c8 100644
--- a/src/core/hle/service/am/am_net.cpp
+++ b/src/core/hle/service/am/am_net.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/am/am.h"
6#include "core/hle/service/am/am_net.h" 5#include "core/hle/service/am/am_net.h"
6#include "core/hle/service/am/am.h"
7 7
8namespace Service { 8namespace Service {
9namespace AM { 9namespace AM {
diff --git a/src/core/hle/service/am/am_sys.cpp b/src/core/hle/service/am/am_sys.cpp
index 8bb58cab7..6f441f9e7 100644
--- a/src/core/hle/service/am/am_sys.cpp
+++ b/src/core/hle/service/am/am_sys.cpp
@@ -2,33 +2,35 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/am/am.h"
6#include "core/hle/service/am/am_sys.h" 5#include "core/hle/service/am/am_sys.h"
6#include "core/hle/service/am/am.h"
7 7
8namespace Service { 8namespace Service {
9namespace AM { 9namespace AM {
10 10
11const Interface::FunctionInfo FunctionTable[] = {{0x00010040, GetTitleCount, "GetTitleCount"}, 11const Interface::FunctionInfo FunctionTable[] = {
12 {0x00020082, GetTitleList, "GetTitleList"}, 12 {0x00010040, GetTitleCount, "GetTitleCount"},
13 {0x00030084, GetTitleInfo, "GetTitleInfo"}, 13 {0x00020082, GetTitleList, "GetTitleList"},
14 {0x000400C0, nullptr, "DeleteApplicationTitle"}, 14 {0x00030084, GetTitleInfo, "GetTitleInfo"},
15 {0x000500C0, nullptr, "GetTitleProductCode"}, 15 {0x000400C0, nullptr, "DeleteApplicationTitle"},
16 {0x000600C0, nullptr, "GetTitleExtDataId"}, 16 {0x000500C0, nullptr, "GetTitleProductCode"},
17 {0x00070080, DeleteTicket, "DeleteTicket"}, 17 {0x000600C0, nullptr, "GetTitleExtDataId"},
18 {0x00080000, GetTicketCount, "GetTicketCount"}, 18 {0x00070080, DeleteTicket, "DeleteTicket"},
19 {0x00090082, GetTicketList, "GetTicketList"}, 19 {0x00080000, GetTicketCount, "GetTicketCount"},
20 {0x000A0000, nullptr, "GetDeviceID"}, 20 {0x00090082, GetTicketList, "GetTicketList"},
21 {0x000D0084, nullptr, "GetPendingTitleInfo"}, 21 {0x000A0000, nullptr, "GetDeviceID"},
22 {0x000E00C0, nullptr, "DeletePendingTitle"}, 22 {0x000D0084, nullptr, "GetPendingTitleInfo"},
23 {0x00140040, nullptr, "FinalizePendingTitles"}, 23 {0x000E00C0, nullptr, "DeletePendingTitle"},
24 {0x00150040, nullptr, "DeleteAllPendingTitles"}, 24 {0x00140040, nullptr, "FinalizePendingTitles"},
25 {0x00180080, nullptr, "InitializeTitleDatabase"}, 25 {0x00150040, nullptr, "DeleteAllPendingTitles"},
26 {0x00190040, nullptr, "ReloadDBS"}, 26 {0x00180080, nullptr, "InitializeTitleDatabase"},
27 {0x001A00C0, nullptr, "GetDSiWareExportSize"}, 27 {0x00190040, nullptr, "ReloadDBS"},
28 {0x001B0144, nullptr, "ExportDSiWare"}, 28 {0x001A00C0, nullptr, "GetDSiWareExportSize"},
29 {0x001C0084, nullptr, "ImportDSiWare"}, 29 {0x001B0144, nullptr, "ExportDSiWare"},
30 {0x00230080, nullptr, "GetPendingTitleCount"}, 30 {0x001C0084, nullptr, "ImportDSiWare"},
31 {0x002400C2, nullptr, "GetPendingTitleList"}}; 31 {0x00230080, nullptr, "GetPendingTitleCount"},
32 {0x002400C2, nullptr, "GetPendingTitleList"},
33};
32 34
33AM_SYS_Interface::AM_SYS_Interface() { 35AM_SYS_Interface::AM_SYS_Interface() {
34 Register(FunctionTable); 36 Register(FunctionTable);
diff --git a/src/core/hle/service/am/am_u.cpp b/src/core/hle/service/am/am_u.cpp
index 32d47741f..c40e56205 100644
--- a/src/core/hle/service/am/am_u.cpp
+++ b/src/core/hle/service/am/am_u.cpp
@@ -2,46 +2,48 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/am/am.h"
6#include "core/hle/service/am/am_u.h" 5#include "core/hle/service/am/am_u.h"
6#include "core/hle/service/am/am.h"
7 7
8namespace Service { 8namespace Service {
9namespace AM { 9namespace AM {
10 10
11const Interface::FunctionInfo FunctionTable[] = {{0x00010040, GetTitleCount, "GetTitleCount"}, 11const Interface::FunctionInfo FunctionTable[] = {
12 {0x00020082, GetTitleList, "GetTitleList"}, 12 {0x00010040, GetTitleCount, "GetTitleCount"},
13 {0x00030084, GetTitleInfo, "GetTitleInfo"}, 13 {0x00020082, GetTitleList, "GetTitleList"},
14 {0x000400C0, nullptr, "DeleteApplicationTitle"}, 14 {0x00030084, GetTitleInfo, "GetTitleInfo"},
15 {0x000500C0, nullptr, "GetTitleProductCode"}, 15 {0x000400C0, nullptr, "DeleteApplicationTitle"},
16 {0x000600C0, nullptr, "GetTitleExtDataId"}, 16 {0x000500C0, nullptr, "GetTitleProductCode"},
17 {0x00070080, DeleteTicket, "DeleteTicket"}, 17 {0x000600C0, nullptr, "GetTitleExtDataId"},
18 {0x00080000, GetTicketCount, "GetTicketCount"}, 18 {0x00070080, DeleteTicket, "DeleteTicket"},
19 {0x00090082, GetTicketList, "GetTicketList"}, 19 {0x00080000, GetTicketCount, "GetTicketCount"},
20 {0x000A0000, nullptr, "GetDeviceID"}, 20 {0x00090082, GetTicketList, "GetTicketList"},
21 {0x000D0084, nullptr, "GetPendingTitleInfo"}, 21 {0x000A0000, nullptr, "GetDeviceID"},
22 {0x000E00C0, nullptr, "DeletePendingTitle"}, 22 {0x000D0084, nullptr, "GetPendingTitleInfo"},
23 {0x00140040, nullptr, "FinalizePendingTitles"}, 23 {0x000E00C0, nullptr, "DeletePendingTitle"},
24 {0x00150040, nullptr, "DeleteAllPendingTitles"}, 24 {0x00140040, nullptr, "FinalizePendingTitles"},
25 {0x00180080, nullptr, "InitializeTitleDatabase"}, 25 {0x00150040, nullptr, "DeleteAllPendingTitles"},
26 {0x00190040, nullptr, "ReloadDBS"}, 26 {0x00180080, nullptr, "InitializeTitleDatabase"},
27 {0x001A00C0, nullptr, "GetDSiWareExportSize"}, 27 {0x00190040, nullptr, "ReloadDBS"},
28 {0x001B0144, nullptr, "ExportDSiWare"}, 28 {0x001A00C0, nullptr, "GetDSiWareExportSize"},
29 {0x001C0084, nullptr, "ImportDSiWare"}, 29 {0x001B0144, nullptr, "ExportDSiWare"},
30 {0x00230080, nullptr, "TitleIDListGetTotal2"}, 30 {0x001C0084, nullptr, "ImportDSiWare"},
31 {0x002400C2, nullptr, "GetTitleIDList2"}, 31 {0x00230080, nullptr, "TitleIDListGetTotal2"},
32 {0x04010080, nullptr, "InstallFIRM"}, 32 {0x002400C2, nullptr, "GetTitleIDList2"},
33 {0x04020040, nullptr, "StartInstallCIADB0"}, 33 {0x04010080, nullptr, "InstallFIRM"},
34 {0x04030000, nullptr, "StartInstallCIADB1"}, 34 {0x04020040, nullptr, "StartInstallCIADB0"},
35 {0x04040002, nullptr, "AbortCIAInstall"}, 35 {0x04030000, nullptr, "StartInstallCIADB1"},
36 {0x04050002, nullptr, "CloseCIAFinalizeInstall"}, 36 {0x04040002, nullptr, "AbortCIAInstall"},
37 {0x04060002, nullptr, "CloseCIA"}, 37 {0x04050002, nullptr, "CloseCIAFinalizeInstall"},
38 {0x040700C2, nullptr, "FinalizeTitlesInstall"}, 38 {0x04060002, nullptr, "CloseCIA"},
39 {0x04080042, nullptr, "GetCiaFileInfo"}, 39 {0x040700C2, nullptr, "FinalizeTitlesInstall"},
40 {0x040E00C2, nullptr, "InstallTitlesFinish"}, 40 {0x04080042, nullptr, "GetCiaFileInfo"},
41 {0x040F0000, nullptr, "InstallNATIVEFIRM"}, 41 {0x040E00C2, nullptr, "InstallTitlesFinish"},
42 {0x041000C0, nullptr, "DeleteTitle"}, 42 {0x040F0000, nullptr, "InstallNATIVEFIRM"},
43 {0x04120000, nullptr, "Initialize"}, 43 {0x041000C0, nullptr, "DeleteTitle"},
44 {0x041700C0, nullptr, "MigrateAGBtoSAV"}}; 44 {0x04120000, nullptr, "Initialize"},
45 {0x041700C0, nullptr, "MigrateAGBtoSAV"},
46};
45 47
46AM_U_Interface::AM_U_Interface() { 48AM_U_Interface::AM_U_Interface() {
47 Register(FunctionTable); 49 Register(FunctionTable);
diff --git a/src/core/hle/service/apt/apt.cpp b/src/core/hle/service/apt/apt.cpp
index c798e8752..dfc1e9c08 100644
--- a/src/core/hle/service/apt/apt.cpp
+++ b/src/core/hle/service/apt/apt.cpp
@@ -90,10 +90,8 @@ void GetSharedFont(Service::Interface* self) {
90 cmd_buff[0] = IPC::MakeHeader(0x44, 2, 2); 90 cmd_buff[0] = IPC::MakeHeader(0x44, 2, 2);
91 cmd_buff[1] = RESULT_SUCCESS.raw; // No error 91 cmd_buff[1] = RESULT_SUCCESS.raw; // No error
92 // Since the SharedMemory interface doesn't provide the address at which the memory was 92 // Since the SharedMemory interface doesn't provide the address at which the memory was
93 // allocated, 93 // allocated, the real APT service calculates this address by scanning the entire address space
94 // the real APT service calculates this address by scanning the entire address space (using 94 // (using svcQueryMemory) and searches for an allocation of the same size as the Shared Font.
95 // svcQueryMemory)
96 // and searches for an allocation of the same size as the Shared Font.
97 cmd_buff[2] = target_address; 95 cmd_buff[2] = target_address;
98 cmd_buff[3] = IPC::CopyHandleDesc(); 96 cmd_buff[3] = IPC::CopyHandleDesc();
99 cmd_buff[4] = Kernel::g_handle_table.Create(shared_font_mem).MoveFrom(); 97 cmd_buff[4] = Kernel::g_handle_table.Create(shared_font_mem).MoveFrom();
diff --git a/src/core/hle/service/apt/apt.h b/src/core/hle/service/apt/apt.h
index fe8b8a7b8..7597b0d3e 100644
--- a/src/core/hle/service/apt/apt.h
+++ b/src/core/hle/service/apt/apt.h
@@ -183,12 +183,10 @@ void GetAppletInfo(Service::Interface* self);
183 183
184/** 184/**
185 * APT::IsRegistered service function. This returns whether the specified AppID is registered with 185 * APT::IsRegistered service function. This returns whether the specified AppID is registered with
186 * NS yet. 186 * NS yet. An AppID is "registered" once the process associated with the AppID uses APT:Enable. Home
187 * An AppID is "registered" once the process associated with the AppID uses APT:Enable. Home Menu 187 * Menu uses this command to determine when the launched process is running and to determine when to
188 * uses this 188 * stop using GSP, etc., while displaying the "Nintendo 3DS" loading screen.
189 * command to determine when the launched process is running and to determine when to stop using GSP 189 *
190 * etc,
191 * while displaying the "Nintendo 3DS" loading screen.
192 * Inputs: 190 * Inputs:
193 * 1 : AppID 191 * 1 : AppID
194 * Outputs: 192 * Outputs:
@@ -264,10 +262,10 @@ void GlanceParameter(Service::Interface* self);
264 * (same flag cleared by APT:ReceiveParameter). 262 * (same flag cleared by APT:ReceiveParameter).
265 * Inputs: 263 * Inputs:
266 * 1 : Flag, when non-zero NS will compare the word after this one with a field in the NS 264 * 1 : Flag, when non-zero NS will compare the word after this one with a field in the NS
267 * state. 265 * state.
268 * 2 : Unknown, this is the same as the first unknown field returned by APT:ReceiveParameter. 266 * 2 : Unknown, this is the same as the first unknown field returned by APT:ReceiveParameter.
269 * 3 : Flag, when non-zero NS will compare the word after this one with a field in the NS 267 * 3 : Flag, when non-zero NS will compare the word after this one with a field in the NS
270 * state. 268 * state.
271 * 4 : AppID 269 * 4 : AppID
272 * Outputs: 270 * Outputs:
273 * 0 : Return header 271 * 0 : Return header
diff --git a/src/core/hle/service/apt/apt_a.cpp b/src/core/hle/service/apt/apt_a.cpp
index 7d47d7675..09198d52b 100644
--- a/src/core/hle/service/apt/apt_a.cpp
+++ b/src/core/hle/service/apt/apt_a.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/apt/apt.h"
6#include "core/hle/service/apt/apt_a.h" 5#include "core/hle/service/apt/apt_a.h"
6#include "core/hle/service/apt/apt.h"
7 7
8namespace Service { 8namespace Service {
9namespace APT { 9namespace APT {
@@ -36,7 +36,8 @@ const Interface::FunctionInfo FunctionTable[] = {
36 {0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"}, 36 {0x00550040, SetScreenCapPostPermission, "SetScreenCapPostPermission"},
37 {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"}, 37 {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
38 {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"}, 38 {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
39 {0x01020000, CheckNew3DS, "CheckNew3DS"}}; 39 {0x01020000, CheckNew3DS, "CheckNew3DS"},
40};
40 41
41APT_A_Interface::APT_A_Interface() { 42APT_A_Interface::APT_A_Interface() {
42 Register(FunctionTable); 43 Register(FunctionTable);
diff --git a/src/core/hle/service/apt/apt_s.cpp b/src/core/hle/service/apt/apt_s.cpp
index 76e71669c..f5afb78e8 100644
--- a/src/core/hle/service/apt/apt_s.cpp
+++ b/src/core/hle/service/apt/apt_s.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/apt/apt.h"
6#include "core/hle/service/apt/apt_s.h" 5#include "core/hle/service/apt/apt_s.h"
6#include "core/hle/service/apt/apt.h"
7 7
8namespace Service { 8namespace Service {
9namespace APT { 9namespace APT {
@@ -96,7 +96,8 @@ const Interface::FunctionInfo FunctionTable[] = {
96 {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"}, 96 {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
97 {0x00580002, nullptr, "GetProgramID"}, 97 {0x00580002, nullptr, "GetProgramID"},
98 {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"}, 98 {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
99 {0x01020000, CheckNew3DS, "CheckNew3DS"}}; 99 {0x01020000, CheckNew3DS, "CheckNew3DS"},
100};
100 101
101APT_S_Interface::APT_S_Interface() { 102APT_S_Interface::APT_S_Interface() {
102 Register(FunctionTable); 103 Register(FunctionTable);
diff --git a/src/core/hle/service/apt/apt_u.cpp b/src/core/hle/service/apt/apt_u.cpp
index 9c6223dd7..184534b01 100644
--- a/src/core/hle/service/apt/apt_u.cpp
+++ b/src/core/hle/service/apt/apt_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/apt/apt.h"
6#include "core/hle/service/apt/apt_u.h" 5#include "core/hle/service/apt/apt_u.h"
6#include "core/hle/service/apt/apt.h"
7 7
8namespace Service { 8namespace Service {
9namespace APT { 9namespace APT {
@@ -96,7 +96,8 @@ const Interface::FunctionInfo FunctionTable[] = {
96 {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"}, 96 {0x00560000, GetScreenCapPostPermission, "GetScreenCapPostPermission"},
97 {0x00580002, nullptr, "GetProgramID"}, 97 {0x00580002, nullptr, "GetProgramID"},
98 {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"}, 98 {0x01010000, CheckNew3DSApp, "CheckNew3DSApp"},
99 {0x01020000, CheckNew3DS, "CheckNew3DS"}}; 99 {0x01020000, CheckNew3DS, "CheckNew3DS"},
100};
100 101
101APT_U_Interface::APT_U_Interface() { 102APT_U_Interface::APT_U_Interface() {
102 Register(FunctionTable); 103 Register(FunctionTable);
diff --git a/src/core/hle/service/boss/boss.cpp b/src/core/hle/service/boss/boss.cpp
index 867b31fbf..757a8c2c7 100644
--- a/src/core/hle/service/boss/boss.cpp
+++ b/src/core/hle/service/boss/boss.cpp
@@ -17,8 +17,7 @@ void Init() {
17 AddService(new BOSS_U_Interface); 17 AddService(new BOSS_U_Interface);
18} 18}
19 19
20void Shutdown() { 20void Shutdown() {}
21}
22 21
23} // namespace BOSS 22} // namespace BOSS
24 23
diff --git a/src/core/hle/service/cam/cam.h b/src/core/hle/service/cam/cam.h
index a87183493..ec9b835f1 100644
--- a/src/core/hle/service/cam/cam.h
+++ b/src/core/hle/service/cam/cam.h
@@ -24,14 +24,31 @@ enum class CameraSelect : u8 {
24 In1Out1 = Out1 | In1, 24 In1Out1 = Out1 | In1,
25 Out1Out2 = Out1 | Out2, 25 Out1Out2 = Out1 | Out2,
26 In1Out2 = In1 | Out2, 26 In1Out2 = In1 | Out2,
27 All = Out1 | In1 | Out2 27 All = Out1 | In1 | Out2,
28}; 28};
29 29
30enum class Effect : u8 { None = 0, Mono = 1, Sepia = 2, Negative = 3, Negafilm = 4, Sepia01 = 5 }; 30enum class Effect : u8 {
31 None = 0,
32 Mono = 1,
33 Sepia = 2,
34 Negative = 3,
35 Negafilm = 4,
36 Sepia01 = 5,
37};
31 38
32enum class Context : u8 { None = 0, A = 1, B = 2, Both = A | B }; 39enum class Context : u8 {
40 None = 0,
41 A = 1,
42 B = 2,
43 Both = A | B,
44};
33 45
34enum class Flip : u8 { None = 0, Horizontal = 1, Vertical = 2, Reverse = 3 }; 46enum class Flip : u8 {
47 None = 0,
48 Horizontal = 1,
49 Vertical = 2,
50 Reverse = 3,
51};
35 52
36enum class Size : u8 { 53enum class Size : u8 {
37 VGA = 0, 54 VGA = 0,
@@ -42,7 +59,7 @@ enum class Size : u8 {
42 DS_LCD = 5, 59 DS_LCD = 5,
43 DS_LCDx4 = 6, 60 DS_LCDx4 = 6,
44 CTR_TOP_LCD = 7, 61 CTR_TOP_LCD = 7,
45 CTR_BOTTOM_LCD = QVGA 62 CTR_BOTTOM_LCD = QVGA,
46}; 63};
47 64
48enum class FrameRate : u8 { 65enum class FrameRate : u8 {
@@ -58,10 +75,14 @@ enum class FrameRate : u8 {
58 Rate_30_To_5 = 9, 75 Rate_30_To_5 = 9,
59 Rate_15_To_10 = 10, 76 Rate_15_To_10 = 10,
60 Rate_20_To_10 = 11, 77 Rate_20_To_10 = 11,
61 Rate_30_To_10 = 12 78 Rate_30_To_10 = 12,
62}; 79};
63 80
64enum class ShutterSoundType : u8 { Normal = 0, Movie = 1, MovieEnd = 2 }; 81enum class ShutterSoundType : u8 {
82 Normal = 0,
83 Movie = 1,
84 MovieEnd = 2,
85};
65 86
66enum class WhiteBalance : u8 { 87enum class WhiteBalance : u8 {
67 BalanceAuto = 0, 88 BalanceAuto = 0,
@@ -77,10 +98,16 @@ enum class WhiteBalance : u8 {
77 BalanceDaylight = Balance5200K, 98 BalanceDaylight = Balance5200K,
78 BalanceCloudy = Balance6000K, 99 BalanceCloudy = Balance6000K,
79 BalanceHorizon = Balance6000K, 100 BalanceHorizon = Balance6000K,
80 BalanceShade = Balance7000K 101 BalanceShade = Balance7000K,
81}; 102};
82 103
83enum class PhotoMode : u8 { Normal = 0, Portrait = 1, Landscape = 2, Nightview = 3, Letter0 = 4 }; 104enum class PhotoMode : u8 {
105 Normal = 0,
106 Portrait = 1,
107 Landscape = 2,
108 Nightview = 3,
109 Letter0 = 4,
110};
84 111
85enum class LensCorrection : u8 { 112enum class LensCorrection : u8 {
86 Off = 0, 113 Off = 0,
@@ -88,7 +115,7 @@ enum class LensCorrection : u8 {
88 On90 = 2, 115 On90 = 2,
89 Dark = Off, 116 Dark = Off,
90 Normal = On70, 117 Normal = On70,
91 Bright = On90 118 Bright = On90,
92}; 119};
93 120
94enum class Contrast : u8 { 121enum class Contrast : u8 {
@@ -105,10 +132,13 @@ enum class Contrast : u8 {
105 Pattern11 = 11, 132 Pattern11 = 11,
106 Low = Pattern05, 133 Low = Pattern05,
107 Normal = Pattern06, 134 Normal = Pattern06,
108 High = Pattern07 135 High = Pattern07,
109}; 136};
110 137
111enum class OutputFormat : u8 { YUV422 = 0, RGB565 = 1 }; 138enum class OutputFormat : u8 {
139 YUV422 = 0,
140 RGB565 = 1,
141};
112 142
113/// Stereo camera calibration data. 143/// Stereo camera calibration data.
114struct StereoCameraCalibrationData { 144struct StereoCameraCalibrationData {
diff --git a/src/core/hle/service/cam/cam_u.cpp b/src/core/hle/service/cam/cam_u.cpp
index af2123e5b..125aa7d1f 100644
--- a/src/core/hle/service/cam/cam_u.cpp
+++ b/src/core/hle/service/cam/cam_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/cam/cam.h"
6#include "core/hle/service/cam/cam_u.h" 5#include "core/hle/service/cam/cam_u.h"
6#include "core/hle/service/cam/cam.h"
7 7
8namespace Service { 8namespace Service {
9namespace CAM { 9namespace CAM {
diff --git a/src/core/hle/service/cecd/cecd_u.cpp b/src/core/hle/service/cecd/cecd_u.cpp
index 4b747de7b..f220bba12 100644
--- a/src/core/hle/service/cecd/cecd_u.cpp
+++ b/src/core/hle/service/cecd/cecd_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/cecd/cecd.h"
6#include "core/hle/service/cecd/cecd_u.h" 5#include "core/hle/service/cecd/cecd_u.h"
6#include "core/hle/service/cecd/cecd.h"
7 7
8namespace Service { 8namespace Service {
9namespace CECD { 9namespace CECD {
diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp
index fe97a69d1..aff033bde 100644
--- a/src/core/hle/service/cfg/cfg.cpp
+++ b/src/core/hle/service/cfg/cfg.cpp
@@ -101,8 +101,9 @@ static const ConsoleCountryInfo COUNTRY_INFO = {{0, 0, 0}, UNITED_STATES_COUNTRY
101 * Thanks Normmatt for providing this information 101 * Thanks Normmatt for providing this information
102 */ 102 */
103static const std::array<float, 8> STEREO_CAMERA_SETTINGS = { 103static const std::array<float, 8> STEREO_CAMERA_SETTINGS = {
104 {62.0f, 289.0f, 76.80000305175781f, 46.08000183105469f, 10.0f, 5.0f, 55.58000183105469f, 104 62.0f, 289.0f, 76.80000305175781f, 46.08000183105469f,
105 21.56999969482422f}}; 105 10.0f, 5.0f, 55.58000183105469f, 21.56999969482422f,
106};
106static_assert(sizeof(STEREO_CAMERA_SETTINGS) == 0x20, 107static_assert(sizeof(STEREO_CAMERA_SETTINGS) == 0x20,
107 "STEREO_CAMERA_SETTINGS must be exactly 0x20 bytes"); 108 "STEREO_CAMERA_SETTINGS must be exactly 0x20 bytes");
108 109
@@ -110,8 +111,9 @@ static const u32 CONFIG_SAVEFILE_SIZE = 0x8000;
110static std::array<u8, CONFIG_SAVEFILE_SIZE> cfg_config_file_buffer; 111static std::array<u8, CONFIG_SAVEFILE_SIZE> cfg_config_file_buffer;
111 112
112static Service::FS::ArchiveHandle cfg_system_save_data_archive; 113static Service::FS::ArchiveHandle cfg_system_save_data_archive;
113static const std::vector<u8> cfg_system_savedata_id = {0x00, 0x00, 0x00, 0x00, 114static const std::vector<u8> cfg_system_savedata_id = {
114 0x17, 0x00, 0x01, 0x00}; 115 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x01, 0x00,
116};
115 117
116void GetCountryCodeString(Service::Interface* self) { 118void GetCountryCodeString(Service::Interface* self) {
117 u32* cmd_buff = Kernel::GetCommandBuffer(); 119 u32* cmd_buff = Kernel::GetCommandBuffer();
@@ -528,8 +530,7 @@ void Init() {
528 LoadConfigNANDSaveFile(); 530 LoadConfigNANDSaveFile();
529} 531}
530 532
531void Shutdown() { 533void Shutdown() {}
532}
533 534
534void SetUsername(const std::u16string& name) { 535void SetUsername(const std::u16string& name) {
535 ASSERT(name.size() <= 10); 536 ASSERT(name.size() <= 10);
diff --git a/src/core/hle/service/cfg/cfg.h b/src/core/hle/service/cfg/cfg.h
index 8cb231d72..c7c2ab41d 100644
--- a/src/core/hle/service/cfg/cfg.h
+++ b/src/core/hle/service/cfg/cfg.h
@@ -79,7 +79,7 @@ static const std::array<u16, 187> country_codes = {{
79 C("CN"), 0, 0, 0, 0, 0, 0, 0, // 160-167 79 C("CN"), 0, 0, 0, 0, 0, 0, 0, // 160-167
80 C("AE"), C("IN"), C("EG"), C("OM"), C("QA"), C("KW"), C("SA"), C("SY"), // 168-175 80 C("AE"), C("IN"), C("EG"), C("OM"), C("QA"), C("KW"), C("SA"), C("SY"), // 168-175
81 C("BH"), C("JO"), 0, 0, 0, 0, 0, 0, // 176-183 81 C("BH"), C("JO"), 0, 0, 0, 0, 0, 0, // 176-183
82 C("SM"), C("VA"), C("BM") // 184-186 82 C("SM"), C("VA"), C("BM"), // 184-186
83}}; 83}};
84 84
85/** 85/**
@@ -218,8 +218,9 @@ void FormatConfig(Service::Interface* self);
218 218
219/** 219/**
220 * Reads a block with the specified id and flag from the Config savegame buffer 220 * Reads a block with the specified id and flag from the Config savegame buffer
221 * and writes the output to output. 221 * and writes the output to output. The input size must match exactly the size of the requested
222 * The input size must match exactly the size of the requested block 222 * block.
223 *
223 * @param block_id The id of the block we want to read 224 * @param block_id The id of the block we want to read
224 * @param size The size of the block we want to read 225 * @param size The size of the block we want to read
225 * @param flag The requested block must have this flag set 226 * @param flag The requested block must have this flag set
@@ -230,8 +231,8 @@ ResultCode GetConfigInfoBlock(u32 block_id, u32 size, u32 flag, void* output);
230 231
231/** 232/**
232 * Reads data from input and writes to a block with the specified id and flag 233 * Reads data from input and writes to a block with the specified id and flag
233 * in the Config savegame buffer. 234 * in the Config savegame buffer. The input size must match exactly the size of the target block.
234 * The input size must match exactly the size of the target block 235 *
235 * @param block_id The id of the block we want to write 236 * @param block_id The id of the block we want to write
236 * @param size The size of the block we want to write 237 * @param size The size of the block we want to write
237 * @param flag The target block must have this flag set 238 * @param flag The target block must have this flag set
@@ -242,8 +243,8 @@ ResultCode SetConfigInfoBlock(u32 block_id, u32 size, u32 flag, const void* inpu
242 243
243/** 244/**
244 * Creates a block with the specified id and writes the input data to the cfg savegame buffer in 245 * Creates a block with the specified id and writes the input data to the cfg savegame buffer in
245 * memory. 246 * memory. The config savegame file in the filesystem is not updated.
246 * The config savegame file in the filesystem is not updated. 247 *
247 * @param block_id The id of the block we want to create 248 * @param block_id The id of the block we want to create
248 * @param size The size of the block we want to create 249 * @param size The size of the block we want to create
249 * @param flags The flags of the new block 250 * @param flags The flags of the new block
diff --git a/src/core/hle/service/cfg/cfg_i.cpp b/src/core/hle/service/cfg/cfg_i.cpp
index 2ff52c8b8..ed0217e53 100644
--- a/src/core/hle/service/cfg/cfg_i.cpp
+++ b/src/core/hle/service/cfg/cfg_i.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/cfg/cfg.h"
6#include "core/hle/service/cfg/cfg_i.h" 5#include "core/hle/service/cfg/cfg_i.h"
6#include "core/hle/service/cfg/cfg.h"
7 7
8namespace Service { 8namespace Service {
9namespace CFG { 9namespace CFG {
diff --git a/src/core/hle/service/cfg/cfg_s.cpp b/src/core/hle/service/cfg/cfg_s.cpp
index eed26dec7..51e7b9752 100644
--- a/src/core/hle/service/cfg/cfg_s.cpp
+++ b/src/core/hle/service/cfg/cfg_s.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/cfg/cfg.h"
6#include "core/hle/service/cfg/cfg_s.h" 5#include "core/hle/service/cfg/cfg_s.h"
6#include "core/hle/service/cfg/cfg.h"
7 7
8namespace Service { 8namespace Service {
9namespace CFG { 9namespace CFG {
diff --git a/src/core/hle/service/cfg/cfg_u.cpp b/src/core/hle/service/cfg/cfg_u.cpp
index f28217134..3f812291b 100644
--- a/src/core/hle/service/cfg/cfg_u.cpp
+++ b/src/core/hle/service/cfg/cfg_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/cfg/cfg.h"
6#include "core/hle/service/cfg/cfg_u.h" 5#include "core/hle/service/cfg/cfg_u.h"
6#include "core/hle/service/cfg/cfg.h"
7 7
8namespace Service { 8namespace Service {
9namespace CFG { 9namespace CFG {
diff --git a/src/core/hle/service/dlp/dlp.cpp b/src/core/hle/service/dlp/dlp.cpp
index fd124e819..8f4b67a5d 100644
--- a/src/core/hle/service/dlp/dlp.cpp
+++ b/src/core/hle/service/dlp/dlp.cpp
@@ -17,8 +17,7 @@ void Init() {
17 AddService(new DLP_SRVR_Interface); 17 AddService(new DLP_SRVR_Interface);
18} 18}
19 19
20void Shutdown() { 20void Shutdown() {}
21}
22 21
23} // namespace DLP 22} // namespace DLP
24} // namespace Service 23} // namespace Service
diff --git a/src/core/hle/service/err_f.cpp b/src/core/hle/service/err_f.cpp
index 2cd8269de..a23f5896d 100644
--- a/src/core/hle/service/err_f.cpp
+++ b/src/core/hle/service/err_f.cpp
@@ -173,7 +173,9 @@ static void ThrowFatalError(Service::Interface* self) {
173 cmd_buff[1] = 0; // No error 173 cmd_buff[1] = 0; // No error
174} 174}
175 175
176const Interface::FunctionInfo FunctionTable[] = {{0x00010800, ThrowFatalError, "ThrowFatalError"}}; 176const Interface::FunctionInfo FunctionTable[] = {
177 {0x00010800, ThrowFatalError, "ThrowFatalError"},
178};
177 179
178//////////////////////////////////////////////////////////////////////////////////////////////////// 180////////////////////////////////////////////////////////////////////////////////////////////////////
179// Interface class 181// Interface class
diff --git a/src/core/hle/service/frd/frd.cpp b/src/core/hle/service/frd/frd.cpp
index 1e9fe178f..050665b48 100644
--- a/src/core/hle/service/frd/frd.cpp
+++ b/src/core/hle/service/frd/frd.cpp
@@ -108,8 +108,7 @@ void Init() {
108 AddService(new FRD_U_Interface); 108 AddService(new FRD_U_Interface);
109} 109}
110 110
111void Shutdown() { 111void Shutdown() {}
112}
113 112
114} // namespace FRD 113} // namespace FRD
115 114
diff --git a/src/core/hle/service/frd/frd_u.cpp b/src/core/hle/service/frd/frd_u.cpp
index bd1c9c16b..92b53f2ef 100644
--- a/src/core/hle/service/frd/frd_u.cpp
+++ b/src/core/hle/service/frd/frd_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/frd/frd.h"
6#include "core/hle/service/frd/frd_u.h" 5#include "core/hle/service/frd/frd_u.h"
6#include "core/hle/service/frd/frd.h"
7 7
8namespace Service { 8namespace Service {
9namespace FRD { 9namespace FRD {
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 1b851eade..77fe5ab6c 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -90,11 +90,9 @@ enum class DirectoryCommand : u32 {
90}; 90};
91 91
92File::File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& path) 92File::File(std::unique_ptr<FileSys::FileBackend>&& backend, const FileSys::Path& path)
93 : path(path), priority(0), backend(std::move(backend)) { 93 : path(path), priority(0), backend(std::move(backend)) {}
94}
95 94
96File::~File() { 95File::~File() {}
97}
98 96
99ResultVal<bool> File::SyncRequest() { 97ResultVal<bool> File::SyncRequest() {
100 u32* cmd_buff = Kernel::GetCommandBuffer(); 98 u32* cmd_buff = Kernel::GetCommandBuffer();
@@ -205,11 +203,9 @@ ResultVal<bool> File::SyncRequest() {
205 203
206Directory::Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend, 204Directory::Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend,
207 const FileSys::Path& path) 205 const FileSys::Path& path)
208 : path(path), backend(std::move(backend)) { 206 : path(path), backend(std::move(backend)) {}
209}
210 207
211Directory::~Directory() { 208Directory::~Directory() {}
212}
213 209
214ResultVal<bool> Directory::SyncRequest() { 210ResultVal<bool> Directory::SyncRequest() {
215 u32* cmd_buff = Kernel::GetCommandBuffer(); 211 u32* cmd_buff = Kernel::GetCommandBuffer();
diff --git a/src/core/hle/service/fs/fs_user.cpp b/src/core/hle/service/fs/fs_user.cpp
index a0adad634..605832214 100644
--- a/src/core/hle/service/fs/fs_user.cpp
+++ b/src/core/hle/service/fs/fs_user.cpp
@@ -968,7 +968,8 @@ const Interface::FunctionInfo FunctionTable[] = {
968 {0x086700C4, nullptr, "ControlSecureSave"}, 968 {0x086700C4, nullptr, "ControlSecureSave"},
969 {0x08680000, nullptr, "GetMediaType"}, 969 {0x08680000, nullptr, "GetMediaType"},
970 {0x08690000, nullptr, "GetNandEraseCount"}, 970 {0x08690000, nullptr, "GetNandEraseCount"},
971 {0x086A0082, nullptr, "ReadNandReport"}}; 971 {0x086A0082, nullptr, "ReadNandReport"},
972};
972 973
973//////////////////////////////////////////////////////////////////////////////////////////////////// 974////////////////////////////////////////////////////////////////////////////////////////////////////
974// Interface class 975// Interface class
diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp
index b273aac47..2dff1e16c 100644
--- a/src/core/hle/service/gsp_gpu.cpp
+++ b/src/core/hle/service/gsp_gpu.cpp
@@ -29,10 +29,9 @@ const static u32 REGS_BEGIN = 0x1EB00000;
29 29
30namespace GSP_GPU { 30namespace GSP_GPU {
31 31
32const ResultCode 32const ResultCode ERR_GSP_REGS_OUTOFRANGE_OR_MISALIGNED(
33 ERR_GSP_REGS_OUTOFRANGE_OR_MISALIGNED(ErrorDescription::OutofRangeOrMisalignedAddress, 33 ErrorDescription::OutofRangeOrMisalignedAddress, ErrorModule::GX, ErrorSummary::InvalidArgument,
34 ErrorModule::GX, ErrorSummary::InvalidArgument, 34 ErrorLevel::Usage); // 0xE0E02A01
35 ErrorLevel::Usage); // 0xE0E02A01
36const ResultCode ERR_GSP_REGS_MISALIGNED(ErrorDescription::MisalignedSize, ErrorModule::GX, 35const ResultCode ERR_GSP_REGS_MISALIGNED(ErrorDescription::MisalignedSize, ErrorModule::GX,
37 ErrorSummary::InvalidArgument, 36 ErrorSummary::InvalidArgument,
38 ErrorLevel::Usage); // 0xE0E02BF2 37 ErrorLevel::Usage); // 0xE0E02BF2
diff --git a/src/core/hle/service/gsp_lcd.cpp b/src/core/hle/service/gsp_lcd.cpp
index 3922cd197..b916dd759 100644
--- a/src/core/hle/service/gsp_lcd.cpp
+++ b/src/core/hle/service/gsp_lcd.cpp
@@ -9,11 +9,15 @@
9 9
10namespace GSP_LCD { 10namespace GSP_LCD {
11 11
12const Interface::FunctionInfo FunctionTable[] = {{0x000F0000, nullptr, "PowerOnAllBacklights"}, 12const Interface::FunctionInfo FunctionTable[] = {
13 {0x00100000, nullptr, "PowerOffAllBacklights"}, 13 // clang-format off
14 {0x00110040, nullptr, "PowerOnBacklight"}, 14 {0x000F0000, nullptr, "PowerOnAllBacklights"},
15 {0x00120040, nullptr, "PowerOffBacklight"}, 15 {0x00100000, nullptr, "PowerOffAllBacklights"},
16 {0x00130040, nullptr, "SetLedForceOff"}}; 16 {0x00110040, nullptr, "PowerOnBacklight"},
17 {0x00120040, nullptr, "PowerOffBacklight"},
18 {0x00130040, nullptr, "SetLedForceOff"},
19 // clang-format on
20};
17 21
18//////////////////////////////////////////////////////////////////////////////////////////////////// 22////////////////////////////////////////////////////////////////////////////////////////////////////
19// Interface class 23// Interface class
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index d915a3105..5a2edd3c0 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -40,11 +40,10 @@ static int enable_accelerometer_count = 0; // positive means enabled
40static int enable_gyroscope_count = 0; // positive means enabled 40static int enable_gyroscope_count = 0; // positive means enabled
41 41
42static PadState GetCirclePadDirectionState(s16 circle_pad_x, s16 circle_pad_y) { 42static PadState GetCirclePadDirectionState(s16 circle_pad_x, s16 circle_pad_y) {
43 constexpr float TAN30 = 0.577350269, 43 // 30 degree and 60 degree are angular thresholds for directions
44 TAN60 = 44 constexpr float TAN30 = 0.577350269, TAN60 = 1 / TAN30;
45 1 / TAN30; // 30 degree and 60 degree are angular thresholds for directions 45 // a circle pad radius greater than 40 will trigger circle pad direction
46 constexpr int CIRCLE_PAD_THRESHOLD_SQUARE = 46 constexpr int CIRCLE_PAD_THRESHOLD_SQUARE = 40 * 40;
47 40 * 40; // a circle pad radius greater than 40 will trigger circle pad direction
48 PadState state; 47 PadState state;
49 state.hex = 0; 48 state.hex = 0;
50 49
diff --git a/src/core/hle/service/hid/hid_spvr.cpp b/src/core/hle/service/hid/hid_spvr.cpp
index 09007e304..00a0902c8 100644
--- a/src/core/hle/service/hid/hid_spvr.cpp
+++ b/src/core/hle/service/hid/hid_spvr.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/hid/hid.h"
6#include "core/hle/service/hid/hid_spvr.h" 5#include "core/hle/service/hid/hid_spvr.h"
6#include "core/hle/service/hid/hid.h"
7 7
8namespace Service { 8namespace Service {
9namespace HID { 9namespace HID {
diff --git a/src/core/hle/service/hid/hid_user.cpp b/src/core/hle/service/hid/hid_user.cpp
index 42591543c..433e175bb 100644
--- a/src/core/hle/service/hid/hid_user.cpp
+++ b/src/core/hle/service/hid/hid_user.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/hid/hid.h"
6#include "core/hle/service/hid/hid_user.h" 5#include "core/hle/service/hid/hid_user.h"
6#include "core/hle/service/hid/hid.h"
7 7
8namespace Service { 8namespace Service {
9namespace HID { 9namespace HID {
diff --git a/src/core/hle/service/ir/ir_rst.cpp b/src/core/hle/service/ir/ir_rst.cpp
index 1f10ebd3d..5e7a011ff 100644
--- a/src/core/hle/service/ir/ir_rst.cpp
+++ b/src/core/hle/service/ir/ir_rst.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/ir/ir.h"
6#include "core/hle/service/ir/ir_rst.h" 5#include "core/hle/service/ir/ir_rst.h"
6#include "core/hle/service/ir/ir.h"
7 7
8namespace Service { 8namespace Service {
9namespace IR { 9namespace IR {
diff --git a/src/core/hle/service/ir/ir_u.cpp b/src/core/hle/service/ir/ir_u.cpp
index be4049da9..429615f31 100644
--- a/src/core/hle/service/ir/ir_u.cpp
+++ b/src/core/hle/service/ir/ir_u.cpp
@@ -8,15 +8,26 @@ namespace Service {
8namespace IR { 8namespace IR {
9 9
10const Interface::FunctionInfo FunctionTable[] = { 10const Interface::FunctionInfo FunctionTable[] = {
11 {0x00010000, nullptr, "Initialize"}, {0x00020000, nullptr, "Shutdown"}, 11 // clang-format off
12 {0x00030042, nullptr, "StartSendTransfer"}, {0x00040000, nullptr, "WaitSendTransfer"}, 12 {0x00010000, nullptr, "Initialize"},
13 {0x000500C2, nullptr, "StartRecvTransfer"}, {0x00060000, nullptr, "WaitRecvTransfer"}, 13 {0x00020000, nullptr, "Shutdown"},
14 {0x00070080, nullptr, "GetRecvTransferCount"}, {0x00080000, nullptr, "GetSendState"}, 14 {0x00030042, nullptr, "StartSendTransfer"},
15 {0x00090040, nullptr, "SetBitRate"}, {0x000A0000, nullptr, "GetBitRate"}, 15 {0x00040000, nullptr, "WaitSendTransfer"},
16 {0x000B0040, nullptr, "SetIRLEDState"}, {0x000C0000, nullptr, "GetIRLEDRecvState"}, 16 {0x000500C2, nullptr, "StartRecvTransfer"},
17 {0x000D0000, nullptr, "GetSendFinishedEvent"}, {0x000E0000, nullptr, "GetRecvFinishedEvent"}, 17 {0x00060000, nullptr, "WaitRecvTransfer"},
18 {0x000F0000, nullptr, "GetTransferState"}, {0x00100000, nullptr, "GetErrorStatus"}, 18 {0x00070080, nullptr, "GetRecvTransferCount"},
19 {0x00110040, nullptr, "SetSleepModeActive"}, {0x00120040, nullptr, "SetSleepModeState"}, 19 {0x00080000, nullptr, "GetSendState"},
20 {0x00090040, nullptr, "SetBitRate"},
21 {0x000A0000, nullptr, "GetBitRate"},
22 {0x000B0040, nullptr, "SetIRLEDState"},
23 {0x000C0000, nullptr, "GetIRLEDRecvState"},
24 {0x000D0000, nullptr, "GetSendFinishedEvent"},
25 {0x000E0000, nullptr, "GetRecvFinishedEvent"},
26 {0x000F0000, nullptr, "GetTransferState"},
27 {0x00100000, nullptr, "GetErrorStatus"},
28 {0x00110040, nullptr, "SetSleepModeActive"},
29 {0x00120040, nullptr, "SetSleepModeState"},
30 // clang-format off
20}; 31};
21 32
22IR_U_Interface::IR_U_Interface() { 33IR_U_Interface::IR_U_Interface() {
diff --git a/src/core/hle/service/ir/ir_user.cpp b/src/core/hle/service/ir/ir_user.cpp
index 6cff1d544..cca71a0dd 100644
--- a/src/core/hle/service/ir/ir_user.cpp
+++ b/src/core/hle/service/ir/ir_user.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/ir/ir.h"
6#include "core/hle/service/ir/ir_user.h" 5#include "core/hle/service/ir/ir_user.h"
6#include "core/hle/service/ir/ir.h"
7 7
8namespace Service { 8namespace Service {
9namespace IR { 9namespace IR {
diff --git a/src/core/hle/service/ldr_ro/cro_helper.cpp b/src/core/hle/service/ldr_ro/cro_helper.cpp
index 5757a4e64..b5da9a960 100644
--- a/src/core/hle/service/ldr_ro/cro_helper.cpp
+++ b/src/core/hle/service/ldr_ro/cro_helper.cpp
@@ -22,21 +22,23 @@ static ResultCode CROFormatError(u32 description) {
22 ErrorSummary::WrongArgument, ErrorLevel::Permanent); 22 ErrorSummary::WrongArgument, ErrorLevel::Permanent);
23} 23}
24 24
25const std::array<int, 17> CROHelper::ENTRY_SIZE{ 25const std::array<int, 17> CROHelper::ENTRY_SIZE{{
26 {1, // code 26 1, // code
27 1, // data 27 1, // data
28 1, // module name 28 1, // module name
29 sizeof(SegmentEntry), sizeof(ExportNamedSymbolEntry), sizeof(ExportIndexedSymbolEntry), 29 sizeof(SegmentEntry), sizeof(ExportNamedSymbolEntry), sizeof(ExportIndexedSymbolEntry),
30 1, // export strings 30 1, // export strings
31 sizeof(ExportTreeEntry), sizeof(ImportModuleEntry), sizeof(ExternalRelocationEntry), 31 sizeof(ExportTreeEntry), sizeof(ImportModuleEntry), sizeof(ExternalRelocationEntry),
32 sizeof(ImportNamedSymbolEntry), sizeof(ImportIndexedSymbolEntry), 32 sizeof(ImportNamedSymbolEntry), sizeof(ImportIndexedSymbolEntry),
33 sizeof(ImportAnonymousSymbolEntry), 33 sizeof(ImportAnonymousSymbolEntry),
34 1, // import strings 34 1, // import strings
35 sizeof(StaticAnonymousSymbolEntry), sizeof(InternalRelocationEntry), 35 sizeof(StaticAnonymousSymbolEntry), sizeof(InternalRelocationEntry),
36 sizeof(StaticRelocationEntry)}}; 36 sizeof(StaticRelocationEntry),
37 37}};
38const std::array<CROHelper::HeaderField, 4> CROHelper::FIX_BARRIERS{ 38
39 {Fix0Barrier, Fix1Barrier, Fix2Barrier, Fix3Barrier}}; 39const std::array<CROHelper::HeaderField, 4> CROHelper::FIX_BARRIERS{{
40 Fix0Barrier, Fix1Barrier, Fix2Barrier, Fix3Barrier,
41}};
40 42
41VAddr CROHelper::SegmentTagToAddress(SegmentTag segment_tag) const { 43VAddr CROHelper::SegmentTagToAddress(SegmentTag segment_tag) const {
42 u32 segment_num = GetField(SegmentNum); 44 u32 segment_num = GetField(SegmentNum);
@@ -204,13 +206,14 @@ ResultCode CROHelper::RebaseHeader(u32 cro_size) {
204 return error; 206 return error;
205 207
206 // verifies that all offsets are in the correct order 208 // verifies that all offsets are in the correct order
207 constexpr std::array<HeaderField, 18> OFFSET_ORDER = { 209 constexpr std::array<HeaderField, 18> OFFSET_ORDER = {{
208 {CodeOffset, ModuleNameOffset, SegmentTableOffset, ExportNamedSymbolTableOffset, 210 CodeOffset, ModuleNameOffset, SegmentTableOffset, ExportNamedSymbolTableOffset,
209 ExportTreeTableOffset, ExportIndexedSymbolTableOffset, ExportStringsOffset, 211 ExportTreeTableOffset, ExportIndexedSymbolTableOffset, ExportStringsOffset,
210 ImportModuleTableOffset, ExternalRelocationTableOffset, ImportNamedSymbolTableOffset, 212 ImportModuleTableOffset, ExternalRelocationTableOffset, ImportNamedSymbolTableOffset,
211 ImportIndexedSymbolTableOffset, ImportAnonymousSymbolTableOffset, ImportStringsOffset, 213 ImportIndexedSymbolTableOffset, ImportAnonymousSymbolTableOffset, ImportStringsOffset,
212 StaticAnonymousSymbolTableOffset, InternalRelocationTableOffset, 214 StaticAnonymousSymbolTableOffset, InternalRelocationTableOffset,
213 StaticRelocationTableOffset, DataOffset, FileSize}}; 215 StaticRelocationTableOffset, DataOffset, FileSize,
216 }};
214 217
215 u32 prev_offset = GetField(OFFSET_ORDER[0]); 218 u32 prev_offset = GetField(OFFSET_ORDER[0]);
216 u32 cur_offset; 219 u32 cur_offset;
diff --git a/src/core/hle/service/ldr_ro/cro_helper.h b/src/core/hle/service/ldr_ro/cro_helper.h
index e4457d4be..e1b8221bd 100644
--- a/src/core/hle/service/ldr_ro/cro_helper.h
+++ b/src/core/hle/service/ldr_ro/cro_helper.h
@@ -40,8 +40,7 @@ static constexpr u32 CRO_HASH_SIZE = 0x80;
40/// Represents a loaded module (CRO) with interfaces manipulating it. 40/// Represents a loaded module (CRO) with interfaces manipulating it.
41class CROHelper final { 41class CROHelper final {
42public: 42public:
43 explicit CROHelper(VAddr cro_address) : module_address(cro_address) { 43 explicit CROHelper(VAddr cro_address) : module_address(cro_address) {}
44 }
45 44
46 std::string ModuleName() const { 45 std::string ModuleName() const {
47 return Memory::ReadCString(GetField(ModuleNameOffset), GetField(ModuleNameSize)); 46 return Memory::ReadCString(GetField(ModuleNameOffset), GetField(ModuleNameSize));
@@ -152,8 +151,7 @@ private:
152 151
153 /** 152 /**
154 * Each item in this enum represents a u32 field in the header begin from address+0x80, 153 * Each item in this enum represents a u32 field in the header begin from address+0x80,
155 * successively. 154 * successively. We don't directly use a struct here, to avoid GetPointer, reinterpret_cast, or
156 * We don't directly use a struct here, to avoid GetPointer, reinterpret_cast, or
157 * Read/WriteBlock repeatedly. 155 * Read/WriteBlock repeatedly.
158 */ 156 */
159 enum HeaderField { 157 enum HeaderField {
@@ -234,8 +232,7 @@ private:
234 BitField<4, 28, u32_le> offset_into_segment; 232 BitField<4, 28, u32_le> offset_into_segment;
235 233
236 SegmentTag() = default; 234 SegmentTag() = default;
237 explicit SegmentTag(u32 raw_) : raw(raw_) { 235 explicit SegmentTag(u32 raw_) : raw(raw_) {}
238 }
239 }; 236 };
240 237
241 /// Information of a segment in this module. 238 /// Information of a segment in this module.
diff --git a/src/core/hle/service/ldr_ro/ldr_ro.cpp b/src/core/hle/service/ldr_ro/ldr_ro.cpp
index ae5d3921f..a8fc2c015 100644
--- a/src/core/hle/service/ldr_ro/ldr_ro.cpp
+++ b/src/core/hle/service/ldr_ro/ldr_ro.cpp
@@ -750,11 +750,17 @@ static void Shutdown(Service::Interface* self) {
750} 750}
751 751
752const Interface::FunctionInfo FunctionTable[] = { 752const Interface::FunctionInfo FunctionTable[] = {
753 {0x000100C2, Initialize, "Initialize"}, {0x00020082, LoadCRR, "LoadCRR"}, 753 // clang-format off
754 {0x00030042, UnloadCRR, "UnloadCRR"}, {0x000402C2, LoadCRO<false>, "LoadCRO"}, 754 {0x000100C2, Initialize, "Initialize"},
755 {0x000500C2, UnloadCRO, "UnloadCRO"}, {0x00060042, LinkCRO, "LinkCRO"}, 755 {0x00020082, LoadCRR, "LoadCRR"},
756 {0x00070042, UnlinkCRO, "UnlinkCRO"}, {0x00080042, Shutdown, "Shutdown"}, 756 {0x00030042, UnloadCRR, "UnloadCRR"},
757 {0x000402C2, LoadCRO<false>, "LoadCRO"},
758 {0x000500C2, UnloadCRO, "UnloadCRO"},
759 {0x00060042, LinkCRO, "LinkCRO"},
760 {0x00070042, UnlinkCRO, "UnlinkCRO"},
761 {0x00080042, Shutdown, "Shutdown"},
757 {0x000902C2, LoadCRO<true>, "LoadCRO_New"}, 762 {0x000902C2, LoadCRO<true>, "LoadCRO_New"},
763 // clang-format on
758}; 764};
759 765
760//////////////////////////////////////////////////////////////////////////////////////////////////// 766////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/hle/service/ndm/ndm.cpp b/src/core/hle/service/ndm/ndm.cpp
index 9f1536aef..fcfa4b336 100644
--- a/src/core/hle/service/ndm/ndm.cpp
+++ b/src/core/hle/service/ndm/ndm.cpp
@@ -11,12 +11,16 @@
11namespace Service { 11namespace Service {
12namespace NDM { 12namespace NDM {
13 13
14enum : u32 { DEFAULT_RETRY_INTERVAL = 10, DEFAULT_SCAN_INTERVAL = 30 }; 14enum : u32 {
15 DEFAULT_RETRY_INTERVAL = 10,
16 DEFAULT_SCAN_INTERVAL = 30,
17};
15 18
16static DaemonMask daemon_bit_mask = DaemonMask::Default; 19static DaemonMask daemon_bit_mask = DaemonMask::Default;
17static DaemonMask default_daemon_bit_mask = DaemonMask::Default; 20static DaemonMask default_daemon_bit_mask = DaemonMask::Default;
18static std::array<DaemonStatus, 4> daemon_status = {DaemonStatus::Idle, DaemonStatus::Idle, 21static std::array<DaemonStatus, 4> daemon_status = {
19 DaemonStatus::Idle, DaemonStatus::Idle}; 22 DaemonStatus::Idle, DaemonStatus::Idle, DaemonStatus::Idle, DaemonStatus::Idle,
23};
20static ExclusiveState exclusive_state = ExclusiveState::None; 24static ExclusiveState exclusive_state = ExclusiveState::None;
21static u32 scan_interval = DEFAULT_SCAN_INTERVAL; 25static u32 scan_interval = DEFAULT_SCAN_INTERVAL;
22static u32 retry_interval = DEFAULT_RETRY_INTERVAL; 26static u32 retry_interval = DEFAULT_RETRY_INTERVAL;
@@ -227,8 +231,7 @@ void Init() {
227 AddService(new NDM_U_Interface); 231 AddService(new NDM_U_Interface);
228} 232}
229 233
230void Shutdown() { 234void Shutdown() {}
231}
232 235
233} // namespace NDM 236} // namespace NDM
234} // namespace Service 237} // namespace Service
diff --git a/src/core/hle/service/ndm/ndm.h b/src/core/hle/service/ndm/ndm.h
index fb574541d..979e7fcf1 100644
--- a/src/core/hle/service/ndm/ndm.h
+++ b/src/core/hle/service/ndm/ndm.h
@@ -12,7 +12,12 @@ class Interface;
12 12
13namespace NDM { 13namespace NDM {
14 14
15enum class Daemon : u32 { Cec = 0, Boss = 1, Nim = 2, Friend = 3 }; 15enum class Daemon : u32 {
16 Cec = 0,
17 Boss = 1,
18 Nim = 2,
19 Friend = 3,
20};
16 21
17enum class DaemonMask : u32 { 22enum class DaemonMask : u32 {
18 None = 0, 23 None = 0,
@@ -21,7 +26,7 @@ enum class DaemonMask : u32 {
21 Nim = (1 << static_cast<u32>(Daemon::Nim)), 26 Nim = (1 << static_cast<u32>(Daemon::Nim)),
22 Friend = (1 << static_cast<u32>(Daemon::Friend)), 27 Friend = (1 << static_cast<u32>(Daemon::Friend)),
23 Default = Cec | Friend, 28 Default = Cec | Friend,
24 All = Cec | Boss | Nim | Friend 29 All = Cec | Boss | Nim | Friend,
25}; 30};
26 31
27enum class DaemonStatus : u32 { Busy = 0, Idle = 1, Suspending = 2, Suspended = 3 }; 32enum class DaemonStatus : u32 { Busy = 0, Idle = 1, Suspending = 2, Suspended = 3 };
diff --git a/src/core/hle/service/ndm/ndm_u.cpp b/src/core/hle/service/ndm/ndm_u.cpp
index f5c7a341a..4fc93850d 100644
--- a/src/core/hle/service/ndm/ndm_u.cpp
+++ b/src/core/hle/service/ndm/ndm_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/ndm/ndm.h"
6#include "core/hle/service/ndm/ndm_u.h" 5#include "core/hle/service/ndm/ndm_u.h"
6#include "core/hle/service/ndm/ndm.h"
7 7
8namespace Service { 8namespace Service {
9namespace NDM { 9namespace NDM {
diff --git a/src/core/hle/service/news/news.cpp b/src/core/hle/service/news/news.cpp
index 983e0777c..e09ea5681 100644
--- a/src/core/hle/service/news/news.cpp
+++ b/src/core/hle/service/news/news.cpp
@@ -19,8 +19,7 @@ void Init() {
19 AddService(new NEWS_U_Interface); 19 AddService(new NEWS_U_Interface);
20} 20}
21 21
22void Shutdown() { 22void Shutdown() {}
23}
24 23
25} // namespace NEWS 24} // namespace NEWS
26 25
diff --git a/src/core/hle/service/news/news_s.cpp b/src/core/hle/service/news/news_s.cpp
index dda3d0f6a..0e4b650f3 100644
--- a/src/core/hle/service/news/news_s.cpp
+++ b/src/core/hle/service/news/news_s.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/news/news.h"
6#include "core/hle/service/news/news_s.h" 5#include "core/hle/service/news/news_s.h"
6#include "core/hle/service/news/news.h"
7 7
8namespace Service { 8namespace Service {
9namespace NEWS { 9namespace NEWS {
diff --git a/src/core/hle/service/nim/nim.cpp b/src/core/hle/service/nim/nim.cpp
index f3c01d6e6..a7b76ed67 100644
--- a/src/core/hle/service/nim/nim.cpp
+++ b/src/core/hle/service/nim/nim.cpp
@@ -31,8 +31,7 @@ void Init() {
31 AddService(new NIM_U_Interface); 31 AddService(new NIM_U_Interface);
32} 32}
33 33
34void Shutdown() { 34void Shutdown() {}
35}
36 35
37} // namespace NIM 36} // namespace NIM
38 37
diff --git a/src/core/hle/service/nim/nim_u.cpp b/src/core/hle/service/nim/nim_u.cpp
index 7e07d02e8..a4fd9781f 100644
--- a/src/core/hle/service/nim/nim_u.cpp
+++ b/src/core/hle/service/nim/nim_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/nim/nim.h"
6#include "core/hle/service/nim/nim_u.h" 5#include "core/hle/service/nim/nim_u.h"
6#include "core/hle/service/nim/nim.h"
7 7
8namespace Service { 8namespace Service {
9namespace NIM { 9namespace NIM {
diff --git a/src/core/hle/service/ptm/ptm.cpp b/src/core/hle/service/ptm/ptm.cpp
index 80fa09f5f..29b9071c8 100644
--- a/src/core/hle/service/ptm/ptm.cpp
+++ b/src/core/hle/service/ptm/ptm.cpp
@@ -144,8 +144,7 @@ void Init() {
144 } 144 }
145} 145}
146 146
147void Shutdown() { 147void Shutdown() {}
148}
149 148
150} // namespace PTM 149} // namespace PTM
151} // namespace Service 150} // namespace Service
diff --git a/src/core/hle/service/ptm/ptm_sysm.cpp b/src/core/hle/service/ptm/ptm_sysm.cpp
index 693158dbf..590660f60 100644
--- a/src/core/hle/service/ptm/ptm_sysm.cpp
+++ b/src/core/hle/service/ptm/ptm_sysm.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/ptm/ptm.h"
6#include "core/hle/service/ptm/ptm_sysm.h" 5#include "core/hle/service/ptm/ptm_sysm.h"
6#include "core/hle/service/ptm/ptm.h"
7 7
8namespace Service { 8namespace Service {
9namespace PTM { 9namespace PTM {
diff --git a/src/core/hle/service/ptm/ptm_u.cpp b/src/core/hle/service/ptm/ptm_u.cpp
index 65e868393..155e10df1 100644
--- a/src/core/hle/service/ptm/ptm_u.cpp
+++ b/src/core/hle/service/ptm/ptm_u.cpp
@@ -2,8 +2,8 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/ptm/ptm.h"
6#include "core/hle/service/ptm/ptm_u.h" 5#include "core/hle/service/ptm/ptm_u.h"
6#include "core/hle/service/ptm/ptm.h"
7 7
8namespace Service { 8namespace Service {
9namespace PTM { 9namespace PTM {
diff --git a/src/core/hle/service/soc_u.cpp b/src/core/hle/service/soc_u.cpp
index 695b286c0..302ab55b7 100644
--- a/src/core/hle/service/soc_u.cpp
+++ b/src/core/hle/service/soc_u.cpp
@@ -63,82 +63,84 @@ static const s32 SOCKET_ERROR_VALUE = -1;
63namespace SOC_U { 63namespace SOC_U {
64 64
65/// Holds the translation from system network errors to 3DS network errors 65/// Holds the translation from system network errors to 3DS network errors
66static const std::unordered_map<int, int> error_map = {{{E2BIG, 1}, 66static const std::unordered_map<int, int> error_map = {{
67 {ERRNO(EACCES), 2}, 67 {E2BIG, 1},
68 {ERRNO(EADDRINUSE), 3}, 68 {ERRNO(EACCES), 2},
69 {ERRNO(EADDRNOTAVAIL), 4}, 69 {ERRNO(EADDRINUSE), 3},
70 {ERRNO(EAFNOSUPPORT), 5}, 70 {ERRNO(EADDRNOTAVAIL), 4},
71 {ERRNO(EAGAIN), 6}, 71 {ERRNO(EAFNOSUPPORT), 5},
72 {ERRNO(EALREADY), 7}, 72 {ERRNO(EAGAIN), 6},
73 {ERRNO(EBADF), 8}, 73 {ERRNO(EALREADY), 7},
74 {EBADMSG, 9}, 74 {ERRNO(EBADF), 8},
75 {EBUSY, 10}, 75 {EBADMSG, 9},
76 {ECANCELED, 11}, 76 {EBUSY, 10},
77 {ECHILD, 12}, 77 {ECANCELED, 11},
78 {ERRNO(ECONNABORTED), 13}, 78 {ECHILD, 12},
79 {ERRNO(ECONNREFUSED), 14}, 79 {ERRNO(ECONNABORTED), 13},
80 {ERRNO(ECONNRESET), 15}, 80 {ERRNO(ECONNREFUSED), 14},
81 {EDEADLK, 16}, 81 {ERRNO(ECONNRESET), 15},
82 {ERRNO(EDESTADDRREQ), 17}, 82 {EDEADLK, 16},
83 {EDOM, 18}, 83 {ERRNO(EDESTADDRREQ), 17},
84 {ERRNO(EDQUOT), 19}, 84 {EDOM, 18},
85 {EEXIST, 20}, 85 {ERRNO(EDQUOT), 19},
86 {ERRNO(EFAULT), 21}, 86 {EEXIST, 20},
87 {EFBIG, 22}, 87 {ERRNO(EFAULT), 21},
88 {ERRNO(EHOSTUNREACH), 23}, 88 {EFBIG, 22},
89 {EIDRM, 24}, 89 {ERRNO(EHOSTUNREACH), 23},
90 {EILSEQ, 25}, 90 {EIDRM, 24},
91 {ERRNO(EINPROGRESS), 26}, 91 {EILSEQ, 25},
92 {ERRNO(EINTR), 27}, 92 {ERRNO(EINPROGRESS), 26},
93 {ERRNO(EINVAL), 28}, 93 {ERRNO(EINTR), 27},
94 {EIO, 29}, 94 {ERRNO(EINVAL), 28},
95 {ERRNO(EISCONN), 30}, 95 {EIO, 29},
96 {EISDIR, 31}, 96 {ERRNO(EISCONN), 30},
97 {ERRNO(ELOOP), 32}, 97 {EISDIR, 31},
98 {ERRNO(EMFILE), 33}, 98 {ERRNO(ELOOP), 32},
99 {EMLINK, 34}, 99 {ERRNO(EMFILE), 33},
100 {ERRNO(EMSGSIZE), 35}, 100 {EMLINK, 34},
101 {ERRNO(EMULTIHOP), 36}, 101 {ERRNO(EMSGSIZE), 35},
102 {ERRNO(ENAMETOOLONG), 37}, 102 {ERRNO(EMULTIHOP), 36},
103 {ERRNO(ENETDOWN), 38}, 103 {ERRNO(ENAMETOOLONG), 37},
104 {ERRNO(ENETRESET), 39}, 104 {ERRNO(ENETDOWN), 38},
105 {ERRNO(ENETUNREACH), 40}, 105 {ERRNO(ENETRESET), 39},
106 {ENFILE, 41}, 106 {ERRNO(ENETUNREACH), 40},
107 {ERRNO(ENOBUFS), 42}, 107 {ENFILE, 41},
108 {ENODATA, 43}, 108 {ERRNO(ENOBUFS), 42},
109 {ENODEV, 44}, 109 {ENODATA, 43},
110 {ENOENT, 45}, 110 {ENODEV, 44},
111 {ENOEXEC, 46}, 111 {ENOENT, 45},
112 {ENOLCK, 47}, 112 {ENOEXEC, 46},
113 {ENOLINK, 48}, 113 {ENOLCK, 47},
114 {ENOMEM, 49}, 114 {ENOLINK, 48},
115 {ENOMSG, 50}, 115 {ENOMEM, 49},
116 {ERRNO(ENOPROTOOPT), 51}, 116 {ENOMSG, 50},
117 {ENOSPC, 52}, 117 {ERRNO(ENOPROTOOPT), 51},
118 {ENOSR, 53}, 118 {ENOSPC, 52},
119 {ENOSTR, 54}, 119 {ENOSR, 53},
120 {ENOSYS, 55}, 120 {ENOSTR, 54},
121 {ERRNO(ENOTCONN), 56}, 121 {ENOSYS, 55},
122 {ENOTDIR, 57}, 122 {ERRNO(ENOTCONN), 56},
123 {ERRNO(ENOTEMPTY), 58}, 123 {ENOTDIR, 57},
124 {ERRNO(ENOTSOCK), 59}, 124 {ERRNO(ENOTEMPTY), 58},
125 {ENOTSUP, 60}, 125 {ERRNO(ENOTSOCK), 59},
126 {ENOTTY, 61}, 126 {ENOTSUP, 60},
127 {ENXIO, 62}, 127 {ENOTTY, 61},
128 {ERRNO(EOPNOTSUPP), 63}, 128 {ENXIO, 62},
129 {EOVERFLOW, 64}, 129 {ERRNO(EOPNOTSUPP), 63},
130 {EPERM, 65}, 130 {EOVERFLOW, 64},
131 {EPIPE, 66}, 131 {EPERM, 65},
132 {EPROTO, 67}, 132 {EPIPE, 66},
133 {ERRNO(EPROTONOSUPPORT), 68}, 133 {EPROTO, 67},
134 {ERRNO(EPROTOTYPE), 69}, 134 {ERRNO(EPROTONOSUPPORT), 68},
135 {ERANGE, 70}, 135 {ERRNO(EPROTOTYPE), 69},
136 {EROFS, 71}, 136 {ERANGE, 70},
137 {ESPIPE, 72}, 137 {EROFS, 71},
138 {ESRCH, 73}, 138 {ESPIPE, 72},
139 {ERRNO(ESTALE), 74}, 139 {ESRCH, 73},
140 {ETIME, 75}, 140 {ERRNO(ESTALE), 74},
141 {ERRNO(ETIMEDOUT), 76}}}; 141 {ETIME, 75},
142 {ERRNO(ETIMEDOUT), 76},
143}};
142 144
143/// Converts a network error from platform-specific to 3ds-specific 145/// Converts a network error from platform-specific to 3ds-specific
144static int TranslateError(int error) { 146static int TranslateError(int error) {
diff --git a/src/core/hle/service/ssl_c.cpp b/src/core/hle/service/ssl_c.cpp
index 47c4a8cb0..78ab922ca 100644
--- a/src/core/hle/service/ssl_c.cpp
+++ b/src/core/hle/service/ssl_c.cpp
@@ -79,7 +79,8 @@ const Interface::FunctionInfo FunctionTable[] = {
79 {0x00190080, nullptr, "ContextSetClientCert"}, 79 {0x00190080, nullptr, "ContextSetClientCert"},
80 {0x001B0080, nullptr, "ContextClearOpt"}, 80 {0x001B0080, nullptr, "ContextClearOpt"},
81 {0x001E0040, nullptr, "DestroyContext"}, 81 {0x001E0040, nullptr, "DestroyContext"},
82 {0x001F0082, nullptr, "ContextInitSharedmem"}}; 82 {0x001F0082, nullptr, "ContextInitSharedmem"},
83};
83 84
84//////////////////////////////////////////////////////////////////////////////////////////////////// 85////////////////////////////////////////////////////////////////////////////////////////////////////
85// Interface class 86// Interface class
diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp
index 278548e0e..d3c6d073e 100644
--- a/src/core/hle/service/y2r_u.cpp
+++ b/src/core/hle/service/y2r_u.cpp
@@ -73,8 +73,8 @@ ResultCode ConversionConfiguration::SetInputLines(u16 lines) {
73 return RESULT_SUCCESS; 73 return RESULT_SUCCESS;
74} 74}
75 75
76ResultCode 76ResultCode ConversionConfiguration::SetStandardCoefficient(
77ConversionConfiguration::SetStandardCoefficient(StandardCoefficient standard_coefficient) { 77 StandardCoefficient standard_coefficient) {
78 size_t index = static_cast<size_t>(standard_coefficient); 78 size_t index = static_cast<size_t>(standard_coefficient);
79 if (index >= ARRAY_SIZE(standard_coefficients)) { 79 if (index >= ARRAY_SIZE(standard_coefficients)) {
80 return ResultCode(ErrorDescription::InvalidEnumValue, ErrorModule::CAM, 80 return ResultCode(ErrorDescription::InvalidEnumValue, ErrorModule::CAM,
diff --git a/src/core/hw/hw.cpp b/src/core/hw/hw.cpp
index db224c9aa..71f44cbc4 100644
--- a/src/core/hw/hw.cpp
+++ b/src/core/hw/hw.cpp
@@ -82,8 +82,7 @@ template void Write<u16>(u32 addr, const u16 data);
82template void Write<u8>(u32 addr, const u8 data); 82template void Write<u8>(u32 addr, const u8 data);
83 83
84/// Update hardware 84/// Update hardware
85void Update() { 85void Update() {}
86}
87 86
88/// Initialize hardware 87/// Initialize hardware
89void Init() { 88void Init() {
diff --git a/src/core/hw/y2r.cpp b/src/core/hw/y2r.cpp
index 5a68d7e65..838b14163 100644
--- a/src/core/hw/y2r.cpp
+++ b/src/core/hw/y2r.cpp
@@ -61,7 +61,7 @@ static void ConvertYUVToRGB(InputFormat input_format, const u8* input_Y, const u
61 s32 cY = c[0] * Y; 61 s32 cY = c[0] * Y;
62 62
63 s32 r = cY + c[1] * V; 63 s32 r = cY + c[1] * V;
64 s32 g = cY - c[3] * U - c[2] * V; 64 s32 g = cY - c[2] * V - c[3] * U;
65 s32 b = cY + c[4] * U; 65 s32 b = cY + c[4] * U;
66 66
67 const s32 rounding_offset = 0x18; 67 const s32 rounding_offset = 0x18;
@@ -144,16 +144,30 @@ static void SendData(const u32* input, ConversionBuffer& buf, int amount_of_data
144 } 144 }
145} 145}
146 146
147static const u8 linear_lut[64] = { 147static const u8 linear_lut[TILE_SIZE] = {
148 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 148 // clang-format off
149 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 149 0, 1, 2, 3, 4, 5, 6, 7,
150 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 150 8, 9, 10, 11, 12, 13, 14, 15,
151 16, 17, 18, 19, 20, 21, 22, 23,
152 24, 25, 26, 27, 28, 29, 30, 31,
153 32, 33, 34, 35, 36, 37, 38, 39,
154 40, 41, 42, 43, 44, 45, 46, 47,
155 48, 49, 50, 51, 52, 53, 54, 55,
156 56, 57, 58, 59, 60, 61, 62, 63,
157 // clang-format on
151}; 158};
152 159
153static const u8 morton_lut[64] = { 160static const u8 morton_lut[TILE_SIZE] = {
154 0, 1, 4, 5, 16, 17, 20, 21, 2, 3, 6, 7, 18, 19, 22, 23, 8, 9, 12, 13, 24, 25, 161 // clang-format off
155 28, 29, 10, 11, 14, 15, 26, 27, 30, 31, 32, 33, 36, 37, 48, 49, 52, 53, 34, 35, 38, 39, 162 0, 1, 4, 5, 16, 17, 20, 21,
156 50, 51, 54, 55, 40, 41, 44, 45, 56, 57, 60, 61, 42, 43, 46, 47, 58, 59, 62, 63, 163 2, 3, 6, 7, 18, 19, 22, 23,
164 8, 9, 12, 13, 24, 25, 28, 29,
165 10, 11, 14, 15, 26, 27, 30, 31,
166 32, 33, 36, 37, 48, 49, 52, 53,
167 34, 35, 38, 39, 50, 51, 54, 55,
168 40, 41, 44, 45, 56, 57, 60, 61,
169 42, 43, 46, 47, 58, 59, 62, 63,
170 // clang-format on
157}; 171};
158 172
159static void RotateTile0(const ImageTile& input, ImageTile& output, int height, 173static void RotateTile0(const ImageTile& input, ImageTile& output, int height,
diff --git a/src/core/loader/3dsx.h b/src/core/loader/3dsx.h
index 09a788a1c..8d15ba555 100644
--- a/src/core/loader/3dsx.h
+++ b/src/core/loader/3dsx.h
@@ -19,8 +19,7 @@ class AppLoader_THREEDSX final : public AppLoader {
19public: 19public:
20 AppLoader_THREEDSX(FileUtil::IOFile&& file, const std::string& filename, 20 AppLoader_THREEDSX(FileUtil::IOFile&& file, const std::string& filename,
21 const std::string& filepath) 21 const std::string& filepath)
22 : AppLoader(std::move(file)), filename(std::move(filename)), filepath(filepath) { 22 : AppLoader(std::move(file)), filename(std::move(filename)), filepath(filepath) {}
23 }
24 23
25 /** 24 /**
26 * Returns the type of the file 25 * Returns the type of the file
diff --git a/src/core/loader/elf.h b/src/core/loader/elf.h
index 0b1456c64..04a9b482d 100644
--- a/src/core/loader/elf.h
+++ b/src/core/loader/elf.h
@@ -18,8 +18,7 @@ namespace Loader {
18class AppLoader_ELF final : public AppLoader { 18class AppLoader_ELF final : public AppLoader {
19public: 19public:
20 AppLoader_ELF(FileUtil::IOFile&& file, std::string filename) 20 AppLoader_ELF(FileUtil::IOFile&& file, std::string filename)
21 : AppLoader(std::move(file)), filename(std::move(filename)) { 21 : AppLoader(std::move(file)), filename(std::move(filename)) {}
22 }
23 22
24 /** 23 /**
25 * Returns the type of the file 24 * Returns the type of the file
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h
index 5f48d2ffe..fdfee835c 100644
--- a/src/core/loader/loader.h
+++ b/src/core/loader/loader.h
@@ -81,10 +81,8 @@ constexpr u32 MakeMagic(char a, char b, char c, char d) {
81/// Interface for loading an application 81/// Interface for loading an application
82class AppLoader : NonCopyable { 82class AppLoader : NonCopyable {
83public: 83public:
84 AppLoader(FileUtil::IOFile&& file) : file(std::move(file)) { 84 AppLoader(FileUtil::IOFile&& file) : file(std::move(file)) {}
85 } 85 virtual ~AppLoader() {}
86 virtual ~AppLoader() {
87 }
88 86
89 /** 87 /**
90 * Returns the type of this file 88 * Returns the type of this file
diff --git a/src/core/loader/ncch.h b/src/core/loader/ncch.h
index 0cd70f70c..f53f8100e 100644
--- a/src/core/loader/ncch.h
+++ b/src/core/loader/ncch.h
@@ -164,8 +164,7 @@ namespace Loader {
164class AppLoader_NCCH final : public AppLoader { 164class AppLoader_NCCH final : public AppLoader {
165public: 165public:
166 AppLoader_NCCH(FileUtil::IOFile&& file, const std::string& filepath) 166 AppLoader_NCCH(FileUtil::IOFile&& file, const std::string& filepath)
167 : AppLoader(std::move(file)), filepath(filepath) { 167 : AppLoader(std::move(file)), filepath(filepath) {}
168 }
169 168
170 /** 169 /**
171 * Returns the type of the file 170 * Returns the type of the file
diff --git a/src/core/tracer/citrace.h b/src/core/tracer/citrace.h
index ac26e872b..215f86359 100644
--- a/src/core/tracer/citrace.h
+++ b/src/core/tracer/citrace.h
@@ -76,7 +76,12 @@ struct CTMemoryLoad {
76struct CTRegisterWrite { 76struct CTRegisterWrite {
77 u32 physical_address; 77 u32 physical_address;
78 78
79 enum : u32 { SIZE_8 = 0xD1, SIZE_16 = 0xD2, SIZE_32 = 0xD3, SIZE_64 = 0xD4 } size; 79 enum : u32 {
80 SIZE_8 = 0xD1,
81 SIZE_16 = 0xD2,
82 SIZE_32 = 0xD3,
83 SIZE_64 = 0xD4,
84 } size;
80 85
81 // TODO: Make it clearer which bits of this member are used for sizes other than 32 bits 86 // TODO: Make it clearer which bits of this member are used for sizes other than 32 bits
82 u64 value; 87 u64 value;
diff --git a/src/core/tracer/recorder.cpp b/src/core/tracer/recorder.cpp
index 8fd0018c4..11a289b2c 100644
--- a/src/core/tracer/recorder.cpp
+++ b/src/core/tracer/recorder.cpp
@@ -12,8 +12,7 @@
12 12
13namespace CiTrace { 13namespace CiTrace {
14 14
15Recorder::Recorder(const InitialState& initial_state) : initial_state(initial_state) { 15Recorder::Recorder(const InitialState& initial_state) : initial_state(initial_state) {}
16}
17 16
18void Recorder::Finish(const std::string& filename) { 17void Recorder::Finish(const std::string& filename) {
19 // Setup CiTrace header 18 // Setup CiTrace header