diff --git a/CMakeLists.txt b/CMakeLists.txt index c5725ff0..087558d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,6 +130,7 @@ set(FS_SOURCE_FILES src/core/fs/archive_self_ncch.cpp src/core/fs/archive_save_d src/core/fs/ivfc.cpp ) +set(APPLET_SOURCE_FILES src/core/applets/applet.cpp src/core/applets/mii_selector.cpp) set(RENDERER_SW_SOURCE_FILES src/core/renderer_sw/renderer_sw.cpp) set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp @@ -157,7 +158,7 @@ set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp include/crypto/aes_engine.hpp include/metaprogramming.hpp include/PICA/pica_vertex.hpp include/config.hpp include/services/ir_user.hpp include/http_server.hpp include/cheats.hpp include/action_replay.hpp include/renderer_sw/renderer_sw.hpp include/compiler_builtins.hpp - include/fs/romfs.hpp include/fs/ivfc.hpp + include/fs/romfs.hpp include/fs/ivfc.hpp include/applets/applet.hpp include/applets/mii_selector.hpp ) set(THIRD_PARTY_SOURCE_FILES third_party/imgui/imgui.cpp @@ -175,6 +176,7 @@ source_group("Source Files\\Core\\Filesystem" FILES ${FS_SOURCE_FILES}) source_group("Source Files\\Core\\Kernel" FILES ${KERNEL_SOURCE_FILES}) source_group("Source Files\\Core\\Loader" FILES ${LOADER_SOURCE_FILES}) source_group("Source Files\\Core\\Services" FILES ${SERVICE_SOURCE_FILES}) +source_group("Source Files\\Core\\Applets" FILES ${APPLET_SOURCE_FILES}) source_group("Source Files\\Core\\PICA" FILES ${PICA_SOURCE_FILES}) source_group("Source Files\\Core\\Software Renderer" FILES ${RENDERER_SW_SOURCE_FILES}) source_group("Source Files\\Third Party" FILES ${THIRD_PARTY_SOURCE_FILES}) @@ -236,7 +238,7 @@ endif() source_group("Header Files\\Core" FILES ${HEADER_FILES}) set(ALL_SOURCES ${SOURCE_FILES} ${FS_SOURCE_FILES} ${CRYPTO_SOURCE_FILES} ${KERNEL_SOURCE_FILES} ${LOADER_SOURCE_FILES} ${SERVICE_SOURCE_FILES} - ${RENDERER_SW_SOURCE_FILES} ${PICA_SOURCE_FILES} ${THIRD_PARTY_SOURCE_FILES} ${HEADER_FILES}) + ${APPLET_SOURCE_FILES} ${RENDERER_SW_SOURCE_FILES} ${PICA_SOURCE_FILES} ${THIRD_PARTY_SOURCE_FILES} ${HEADER_FILES}) if(ENABLE_OPENGL) # Add the OpenGL source files to ALL_SOURCES diff --git a/include/applets/applet.hpp b/include/applets/applet.hpp new file mode 100644 index 00000000..9f31f4e4 --- /dev/null +++ b/include/applets/applet.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "helpers.hpp" +#include "memory.hpp" +#include "result/result.hpp" + +class AppletBase { + Memory& mem; + + public: + // Called by APT::StartLibraryApplet and similar + virtual Result::HorizonResult start() = 0; + virtual void reset() = 0; + + AppletBase(Memory& mem) : mem(mem) {} +}; \ No newline at end of file diff --git a/include/applets/mii_selector.hpp b/include/applets/mii_selector.hpp new file mode 100644 index 00000000..fb0f3325 --- /dev/null +++ b/include/applets/mii_selector.hpp @@ -0,0 +1,8 @@ +#include "applets/applet.hpp" + +class MiiSelectorApplet final : public AppletBase { + virtual Result::HorizonResult start() override; + virtual void reset() override; + + MiiSelectorApplet(Memory& memory) : AppletBase(memory) {} +}; \ No newline at end of file diff --git a/src/core/applets/applet.cpp b/src/core/applets/applet.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/core/applets/mii_selector.cpp b/src/core/applets/mii_selector.cpp new file mode 100644 index 00000000..f35f8f0f --- /dev/null +++ b/src/core/applets/mii_selector.cpp @@ -0,0 +1,5 @@ +#include "applets/mii_selector.hpp" + +void MiiSelectorApplet::reset() {} + +Result::HorizonResult MiiSelectorApplet::start() { return Result::Success; } \ No newline at end of file