early-access version 2188

This commit is contained in:
pineappleEA 2021-11-05 16:31:40 +01:00
parent 5f43bc959e
commit c0d328a7bf
64 changed files with 172 additions and 184 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access yuzu emulator early access
============= =============
This is the source code for early-access 2187. This is the source code for early-access 2188.
## Legal Notice ## Legal Notice

View file

@ -350,7 +350,7 @@ struct System::Impl {
} }
Service::Glue::ApplicationLaunchProperty launch{}; Service::Glue::ApplicationLaunchProperty launch{};
launch.title_id = process.GetTitleID(); launch.title_id = process.GetProgramID();
FileSys::PatchManager pm{launch.title_id, fs_controller, *content_provider}; FileSys::PatchManager pm{launch.title_id, fs_controller, *content_provider};
launch.version = pm.GetGameVersion().value_or(0); launch.version = pm.GetGameVersion().value_or(0);
@ -649,6 +649,10 @@ const Core::SpeedLimiter& System::SpeedLimiter() const {
return impl->speed_limiter; return impl->speed_limiter;
} }
u64 System::GetCurrentProcessProgramID() const {
return impl->kernel.CurrentProcess()->GetProgramID();
}
Loader::ResultStatus System::GetGameName(std::string& out) const { Loader::ResultStatus System::GetGameName(std::string& out) const {
return impl->GetGameName(out); return impl->GetGameName(out);
} }

View file

@ -307,6 +307,8 @@ public:
/// Provides a constant reference to the speed limiter /// Provides a constant reference to the speed limiter
[[nodiscard]] const Core::SpeedLimiter& SpeedLimiter() const; [[nodiscard]] const Core::SpeedLimiter& SpeedLimiter() const;
[[nodiscard]] u64 GetCurrentProcessProgramID() const;
/// Gets the name of the current game /// Gets the name of the current game
[[nodiscard]] Loader::ResultStatus GetGameName(std::string& out) const; [[nodiscard]] Loader::ResultStatus GetGameName(std::string& out) const;

View file

@ -9,7 +9,6 @@
#include "core/core.h" #include "core/core.h"
#include "core/file_sys/savedata_factory.h" #include "core/file_sys/savedata_factory.h"
#include "core/file_sys/vfs.h" #include "core/file_sys/vfs.h"
#include "core/hle/kernel/k_process.h"
namespace FileSys { namespace FileSys {
@ -143,7 +142,7 @@ std::string SaveDataFactory::GetFullPath(Core::System& system, SaveDataSpaceId s
// be interpreted as the title id of the current process. // be interpreted as the title id of the current process.
if (type == SaveDataType::SaveData || type == SaveDataType::DeviceSaveData) { if (type == SaveDataType::SaveData || type == SaveDataType::DeviceSaveData) {
if (title_id == 0) { if (title_id == 0) {
title_id = system.CurrentProcess()->GetTitleID(); title_id = system.GetCurrentProcessProgramID();
} }
} }

View file

@ -2,6 +2,7 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included // Refer to the license.txt file included
#include "common/settings.h"
#include "core/hid/emulated_console.h" #include "core/hid/emulated_console.h"
#include "core/hid/input_converter.h" #include "core/hid/input_converter.h"

View file

@ -15,7 +15,6 @@
#include "common/param_package.h" #include "common/param_package.h"
#include "common/point.h" #include "common/point.h"
#include "common/quaternion.h" #include "common/quaternion.h"
#include "common/settings.h"
#include "common/vector_math.h" #include "common/vector_math.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
#include "core/hid/motion_input.h" #include "core/hid/motion_input.h"

View file

@ -15,7 +15,6 @@
#include "common/param_package.h" #include "common/param_package.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
#include "core/hid/motion_input.h"
namespace Core::HID { namespace Core::HID {
@ -103,7 +102,7 @@ public:
/// Reverts any mapped changes made that weren't saved /// Reverts any mapped changes made that weren't saved
void RestoreConfig(); void RestoreConfig();
/// Returns the current mapped motion device /// Returns the current mapped mouse button device
Common::ParamPackage GetMouseButtonParam(std::size_t index) const; Common::ParamPackage GetMouseButtonParam(std::size_t index) const;
/** /**

View file

@ -154,8 +154,8 @@ public:
return process_id; return process_id;
} }
/// Gets the title ID corresponding to this process. /// Gets the program ID corresponding to this process.
u64 GetTitleID() const { u64 GetProgramID() const {
return program_id; return program_id;
} }

View file

@ -768,7 +768,7 @@ static ResultCode GetInfo(Core::System& system, u64* result, u64 info_id, Handle
return ResultSuccess; return ResultSuccess;
case GetInfoType::TitleId: case GetInfoType::TitleId:
*result = process->GetTitleID(); *result = process->GetProgramID();
return ResultSuccess; return ResultSuccess;
case GetInfoType::UserExceptionContextAddr: case GetInfoType::UserExceptionContextAddr:

View file

@ -16,7 +16,6 @@
#include "core/file_sys/control_metadata.h" #include "core/file_sys/control_metadata.h"
#include "core/file_sys/patch_manager.h" #include "core/file_sys/patch_manager.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/kernel.h"
#include "core/hle/service/acc/acc.h" #include "core/hle/service/acc/acc.h"
#include "core/hle/service/acc/acc_aa.h" #include "core/hle/service/acc/acc_aa.h"
@ -759,9 +758,8 @@ ResultCode Module::Interface::InitializeApplicationInfoBase() {
// TODO(ogniK): This should be changed to reflect the target process for when we have multiple // TODO(ogniK): This should be changed to reflect the target process for when we have multiple
// processes emulated. As we don't actually have pid support we should assume we're just using // processes emulated. As we don't actually have pid support we should assume we're just using
// our own process // our own process
const auto& current_process = system.Kernel().CurrentProcess();
const auto launch_property = const auto launch_property =
system.GetARPManager().GetLaunchProperty(current_process->GetTitleID()); system.GetARPManager().GetLaunchProperty(system.GetCurrentProcessProgramID());
if (launch_property.Failed()) { if (launch_property.Failed()) {
LOG_ERROR(Service_ACC, "Failed to get launch property"); LOG_ERROR(Service_ACC, "Failed to get launch property");
@ -805,7 +803,7 @@ void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx
bool is_locked = false; bool is_locked = false;
if (res != Loader::ResultStatus::Success) { if (res != Loader::ResultStatus::Success) {
const FileSys::PatchManager pm{system.CurrentProcess()->GetTitleID(), const FileSys::PatchManager pm{system.GetCurrentProcessProgramID(),
system.GetFileSystemController(), system.GetFileSystemController(),
system.GetContentProvider()}; system.GetContentProvider()};
const auto nacp_unique = pm.GetControlMetadata().first; const auto nacp_unique = pm.GetControlMetadata().first;

View file

@ -15,7 +15,6 @@
#include "core/file_sys/savedata_factory.h" #include "core/file_sys/savedata_factory.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/kernel/k_transfer_memory.h" #include "core/hle/kernel/k_transfer_memory.h"
#include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/acc/profile_manager.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
@ -1425,7 +1424,7 @@ void IApplicationFunctions::PopLaunchParameter(Kernel::HLERequestContext& ctx) {
u64 build_id{}; u64 build_id{};
std::memcpy(&build_id, build_id_full.data(), sizeof(u64)); std::memcpy(&build_id, build_id_full.data(), sizeof(u64));
auto data = backend->GetLaunchParameter({system.CurrentProcess()->GetTitleID(), build_id}); auto data = backend->GetLaunchParameter({system.GetCurrentProcessProgramID(), build_id});
if (data.has_value()) { if (data.has_value()) {
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; IPC::ResponseBuilder rb{ctx, 2, 0, 1};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
@ -1477,7 +1476,7 @@ void IApplicationFunctions::EnsureSaveData(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_AM, "called, uid={:016X}{:016X}", user_id[1], user_id[0]); LOG_DEBUG(Service_AM, "called, uid={:016X}{:016X}", user_id[1], user_id[0]);
FileSys::SaveDataAttribute attribute{}; FileSys::SaveDataAttribute attribute{};
attribute.title_id = system.CurrentProcess()->GetTitleID(); attribute.title_id = system.GetCurrentProcessProgramID();
attribute.user_id = user_id; attribute.user_id = user_id;
attribute.type = FileSys::SaveDataType::SaveData; attribute.type = FileSys::SaveDataType::SaveData;
const auto res = system.GetFileSystemController().CreateSaveData( const auto res = system.GetFileSystemController().CreateSaveData(
@ -1507,7 +1506,7 @@ void IApplicationFunctions::GetDisplayVersion(Kernel::HLERequestContext& ctx) {
std::array<u8, 0x10> version_string{}; std::array<u8, 0x10> version_string{};
const auto res = [this] { const auto res = [this] {
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
const FileSys::PatchManager pm{title_id, system.GetFileSystemController(), const FileSys::PatchManager pm{title_id, system.GetFileSystemController(),
system.GetContentProvider()}; system.GetContentProvider()};
@ -1544,7 +1543,7 @@ void IApplicationFunctions::GetDesiredLanguage(Kernel::HLERequestContext& ctx) {
u32 supported_languages = 0; u32 supported_languages = 0;
const auto res = [this] { const auto res = [this] {
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
const FileSys::PatchManager pm{title_id, system.GetFileSystemController(), const FileSys::PatchManager pm{title_id, system.GetFileSystemController(),
system.GetContentProvider()}; system.GetContentProvider()};
@ -1652,7 +1651,7 @@ void IApplicationFunctions::ExtendSaveData(Kernel::HLERequestContext& ctx) {
static_cast<u8>(type), user_id[1], user_id[0], new_normal_size, new_journal_size); static_cast<u8>(type), user_id[1], user_id[0], new_normal_size, new_journal_size);
system.GetFileSystemController().WriteSaveDataSize( system.GetFileSystemController().WriteSaveDataSize(
type, system.CurrentProcess()->GetTitleID(), user_id, {new_normal_size, new_journal_size}); type, system.GetCurrentProcessProgramID(), user_id, {new_normal_size, new_journal_size});
IPC::ResponseBuilder rb{ctx, 4}; IPC::ResponseBuilder rb{ctx, 4};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
@ -1676,7 +1675,7 @@ void IApplicationFunctions::GetSaveDataSize(Kernel::HLERequestContext& ctx) {
user_id[0]); user_id[0]);
const auto size = system.GetFileSystemController().ReadSaveDataSize( const auto size = system.GetFileSystemController().ReadSaveDataSize(
type, system.CurrentProcess()->GetTitleID(), user_id); type, system.GetCurrentProcessProgramID(), user_id);
IPC::ResponseBuilder rb{ctx, 6}; IPC::ResponseBuilder rb{ctx, 6};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);

View file

@ -9,7 +9,6 @@
#include "common/string_util.h" #include "common/string_util.h"
#include "core/core.h" #include "core/core.h"
#include "core/frontend/applets/error.h" #include "core/frontend/applets/error.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
#include "core/hle/service/am/applets/applet_error.h" #include "core/hle/service/am/applets/applet_error.h"
#include "core/reporter.h" #include "core/reporter.h"
@ -167,7 +166,7 @@ void Error::Execute() {
} }
const auto callback = [this] { DisplayCompleted(); }; const auto callback = [this] { DisplayCompleted(); };
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
const auto& reporter{system.GetReporter()}; const auto& reporter{system.GetReporter()};
switch (mode) { switch (mode) {

View file

@ -7,7 +7,6 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/frontend/applets/general_frontend.h" #include "core/frontend/applets/general_frontend.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
#include "core/hle/service/am/applets/applet_general_backend.h" #include "core/hle/service/am/applets/applet_general_backend.h"
@ -187,7 +186,7 @@ void PhotoViewer::Execute() {
const auto callback = [this] { ViewFinished(); }; const auto callback = [this] { ViewFinished(); };
switch (mode) { switch (mode) {
case PhotoViewerAppletMode::CurrentApp: case PhotoViewerAppletMode::CurrentApp:
frontend.ShowPhotosForApplication(system.CurrentProcess()->GetTitleID(), callback); frontend.ShowPhotosForApplication(system.GetCurrentProcessProgramID(), callback);
break; break;
case PhotoViewerAppletMode::AllApps: case PhotoViewerAppletMode::AllApps:
frontend.ShowAllPhotos(callback); frontend.ShowAllPhotos(callback);

View file

@ -18,7 +18,6 @@
#include "core/file_sys/system_archive/system_archive.h" #include "core/file_sys/system_archive/system_archive.h"
#include "core/file_sys/vfs_vector.h" #include "core/file_sys/vfs_vector.h"
#include "core/frontend/applets/web_browser.h" #include "core/frontend/applets/web_browser.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
#include "core/hle/service/am/applets/applet_web_browser.h" #include "core/hle/service/am/applets/applet_web_browser.h"
@ -395,7 +394,7 @@ void WebBrowser::InitializeOffline() {
switch (document_kind) { switch (document_kind) {
case DocumentKind::OfflineHtmlPage: case DocumentKind::OfflineHtmlPage:
default: default:
title_id = system.CurrentProcess()->GetTitleID(); title_id = system.GetCurrentProcessProgramID();
nca_type = FileSys::ContentRecordType::HtmlDocument; nca_type = FileSys::ContentRecordType::HtmlDocument;
additional_paths = "html-document"; additional_paths = "html-document";
break; break;

View file

@ -17,7 +17,6 @@
#include "core/file_sys/registered_cache.h" #include "core/file_sys/registered_cache.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/aoc/aoc_u.h" #include "core/hle/service/aoc/aoc_u.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
@ -157,7 +156,7 @@ void AOC_U::CountAddOnContent(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
const auto current = system.CurrentProcess()->GetTitleID(); const auto current = system.GetCurrentProcessProgramID();
const auto& disabled = Settings::values.disabled_addons[current]; const auto& disabled = Settings::values.disabled_addons[current];
if (std::find(disabled.begin(), disabled.end(), "DLC") != disabled.end()) { if (std::find(disabled.begin(), disabled.end(), "DLC") != disabled.end()) {
@ -184,7 +183,7 @@ void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_AOC, "called with offset={}, count={}, process_id={}", offset, count, LOG_DEBUG(Service_AOC, "called with offset={}, count={}, process_id={}", offset, count,
process_id); process_id);
const auto current = system.CurrentProcess()->GetTitleID(); const auto current = system.GetCurrentProcessProgramID();
std::vector<u32> out; std::vector<u32> out;
const auto& disabled = Settings::values.disabled_addons[current]; const auto& disabled = Settings::values.disabled_addons[current];
@ -230,7 +229,7 @@ void AOC_U::GetAddOnContentBaseId(Kernel::HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 4}; IPC::ResponseBuilder rb{ctx, 4};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
const FileSys::PatchManager pm{title_id, system.GetFileSystemController(), const FileSys::PatchManager pm{title_id, system.GetFileSystemController(),
system.GetContentProvider()}; system.GetContentProvider()};

View file

@ -11,7 +11,6 @@
#include "core/core.h" #include "core/core.h"
#include "core/file_sys/vfs.h" #include "core/file_sys/vfs.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/service/bcat/backend/backend.h" #include "core/hle/service/bcat/backend/backend.h"
#include "core/hle/service/bcat/bcat.h" #include "core/hle/service/bcat/bcat.h"
@ -178,7 +177,7 @@ private:
void RequestSyncDeliveryCache(Kernel::HLERequestContext& ctx) { void RequestSyncDeliveryCache(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_BCAT, "called"); LOG_DEBUG(Service_BCAT, "called");
backend.Synchronize({system.CurrentProcess()->GetTitleID(), backend.Synchronize({system.GetCurrentProcessProgramID(),
GetCurrentBuildID(system.GetCurrentProcessBuildID())}, GetCurrentBuildID(system.GetCurrentProcessBuildID())},
GetProgressBackend(SyncType::Normal)); GetProgressBackend(SyncType::Normal));
@ -195,7 +194,7 @@ private:
LOG_DEBUG(Service_BCAT, "called, name={}", name); LOG_DEBUG(Service_BCAT, "called, name={}", name);
backend.SynchronizeDirectory({system.CurrentProcess()->GetTitleID(), backend.SynchronizeDirectory({system.GetCurrentProcessProgramID(),
GetCurrentBuildID(system.GetCurrentProcessBuildID())}, GetCurrentBuildID(system.GetCurrentProcessBuildID())},
name, GetProgressBackend(SyncType::Directory)); name, GetProgressBackend(SyncType::Directory));
@ -556,7 +555,7 @@ private:
void Module::Interface::CreateDeliveryCacheStorageService(Kernel::HLERequestContext& ctx) { void Module::Interface::CreateDeliveryCacheStorageService(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_BCAT, "called"); LOG_DEBUG(Service_BCAT, "called");
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; IPC::ResponseBuilder rb{ctx, 2, 0, 1};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
rb.PushIpcInterface<IDeliveryCacheStorageService>(system, fsc.GetBCATDirectory(title_id)); rb.PushIpcInterface<IDeliveryCacheStorageService>(system, fsc.GetBCATDirectory(title_id));

View file

@ -11,7 +11,6 @@
#include "common/swap.h" #include "common/swap.h"
#include "core/core.h" #include "core/core.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/fatal/fatal.h" #include "core/hle/service/fatal/fatal.h"
#include "core/hle/service/fatal/fatal_p.h" #include "core/hle/service/fatal/fatal_p.h"
#include "core/hle/service/fatal/fatal_u.h" #include "core/hle/service/fatal/fatal_u.h"
@ -66,7 +65,7 @@ enum class FatalType : u32 {
static void GenerateErrorReport(Core::System& system, ResultCode error_code, static void GenerateErrorReport(Core::System& system, ResultCode error_code,
const FatalInfo& info) { const FatalInfo& info) {
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
std::string crash_report = fmt::format( std::string crash_report = fmt::format(
"Yuzu {}-{} crash report\n" "Yuzu {}-{} crash report\n"
"Title ID: {:016x}\n" "Title ID: {:016x}\n"

View file

@ -20,7 +20,6 @@
#include "core/file_sys/sdmc_factory.h" #include "core/file_sys/sdmc_factory.h"
#include "core/file_sys/vfs.h" #include "core/file_sys/vfs.h"
#include "core/file_sys/vfs_offset.h" #include "core/file_sys/vfs_offset.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/filesystem/filesystem.h"
#include "core/hle/service/filesystem/fsp_ldr.h" #include "core/hle/service/filesystem/fsp_ldr.h"
#include "core/hle/service/filesystem/fsp_pr.h" #include "core/hle/service/filesystem/fsp_pr.h"
@ -320,7 +319,7 @@ ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFSCurrentProcess()
return ResultUnknown; return ResultUnknown;
} }
return romfs_factory->OpenCurrentProcess(system.CurrentProcess()->GetTitleID()); return romfs_factory->OpenCurrentProcess(system.GetCurrentProcessProgramID());
} }
ResultVal<FileSys::VirtualFile> FileSystemController::OpenPatchedRomFS( ResultVal<FileSys::VirtualFile> FileSystemController::OpenPatchedRomFS(
@ -505,7 +504,7 @@ FileSys::SaveDataSize FileSystemController::ReadSaveDataSize(FileSys::SaveDataTy
const auto res = system.GetAppLoader().ReadControlData(nacp); const auto res = system.GetAppLoader().ReadControlData(nacp);
if (res != Loader::ResultStatus::Success) { if (res != Loader::ResultStatus::Success) {
const FileSys::PatchManager pm{system.CurrentProcess()->GetTitleID(), const FileSys::PatchManager pm{system.GetCurrentProcessProgramID(),
system.GetFileSystemController(), system.GetFileSystemController(),
system.GetContentProvider()}; system.GetContentProvider()};
const auto metadata = pm.GetControlMetadata(); const auto metadata = pm.GetControlMetadata();

View file

@ -26,7 +26,6 @@
#include "core/file_sys/system_archive/system_archive.h" #include "core/file_sys/system_archive/system_archive.h"
#include "core/file_sys/vfs.h" #include "core/file_sys/vfs.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/filesystem/filesystem.h"
#include "core/hle/service/filesystem/fsp_srv.h" #include "core/hle/service/filesystem/fsp_srv.h"
#include "core/reporter.h" #include "core/reporter.h"
@ -1035,7 +1034,7 @@ void FSP_SRV::OpenDataStorageWithProgramIndex(Kernel::HLERequestContext& ctx) {
LOG_DEBUG(Service_FS, "called, program_index={}", program_index); LOG_DEBUG(Service_FS, "called, program_index={}", program_index);
auto patched_romfs = fsc.OpenPatchedRomFSWithProgramIndex( auto patched_romfs = fsc.OpenPatchedRomFSWithProgramIndex(
system.CurrentProcess()->GetTitleID(), program_index, FileSys::ContentRecordType::Program); system.GetCurrentProcessProgramID(), program_index, FileSys::ContentRecordType::Program);
if (patched_romfs.Failed()) { if (patched_romfs.Failed()) {
// TODO: Find the right error code to use here // TODO: Find the right error code to use here

View file

@ -26,7 +26,7 @@ std::optional<u64> GetTitleIDForProcessID(const Core::System& system, u64 proces
return std::nullopt; return std::nullopt;
} }
return (*iter)->GetTitleID(); return (*iter)->GetProgramID();
} }
} // Anonymous namespace } // Anonymous namespace

View file

@ -3,17 +3,17 @@
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_console.h" #include "core/hid/emulated_console.h"
#include "core/hid/hid_core.h"
#include "core/hle/service/hid/controllers/console_sixaxis.h" #include "core/hle/service/hid/controllers/console_sixaxis.h"
namespace Service::HID { namespace Service::HID {
constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3C200; constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3C200;
Controller_ConsoleSixAxis::Controller_ConsoleSixAxis(Core::System& system_) Controller_ConsoleSixAxis::Controller_ConsoleSixAxis(Core::HID::HIDCore& hid_core_)
: ControllerBase{system_} { : ControllerBase{hid_core_} {
console = system.HIDCore().GetEmulatedConsole(); console = hid_core.GetEmulatedConsole();
} }
Controller_ConsoleSixAxis::~Controller_ConsoleSixAxis() = default; Controller_ConsoleSixAxis::~Controller_ConsoleSixAxis() = default;

View file

@ -5,16 +5,20 @@
#pragma once #pragma once
#include <array> #include <array>
#include "common/common_types.h" #include "common/common_types.h"
#include "common/quaternion.h" #include "common/quaternion.h"
#include "core/hid/hid_core.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "core/hle/service/hid/controllers/controller_base.h"
namespace Core::HID {
class EmulatedConsole;
} // namespace Core::HID
namespace Service::HID { namespace Service::HID {
class Controller_ConsoleSixAxis final : public ControllerBase { class Controller_ConsoleSixAxis final : public ControllerBase {
public: public:
explicit Controller_ConsoleSixAxis(Core::System& system_); explicit Controller_ConsoleSixAxis(Core::HID::HIDCore& hid_core_);
~Controller_ConsoleSixAxis() override; ~Controller_ConsoleSixAxis() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -6,7 +6,7 @@
namespace Service::HID { namespace Service::HID {
ControllerBase::ControllerBase(Core::System& system_) : system(system_) {} ControllerBase::ControllerBase(Core::HID::HIDCore& hid_core_) : hid_core(hid_core_) {}
ControllerBase::~ControllerBase() = default; ControllerBase::~ControllerBase() = default;
void ControllerBase::ActivateController() { void ControllerBase::ActivateController() {

View file

@ -11,14 +11,14 @@ namespace Core::Timing {
class CoreTiming; class CoreTiming;
} }
namespace Core { namespace Core::HID {
class System; class HIDCore;
} }
namespace Service::HID { namespace Service::HID {
class ControllerBase { class ControllerBase {
public: public:
explicit ControllerBase(Core::System& system_); explicit ControllerBase(Core::HID::HIDCore& hid_core_);
virtual ~ControllerBase(); virtual ~ControllerBase();
// Called when the controller is initialized // Called when the controller is initialized
@ -44,6 +44,6 @@ public:
protected: protected:
bool is_activated{false}; bool is_activated{false};
Core::System& system; Core::HID::HIDCore& hid_core;
}; };
} // namespace Service::HID } // namespace Service::HID

View file

@ -5,7 +5,6 @@
#include <cstring> #include <cstring>
#include "common/common_types.h" #include "common/common_types.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h" #include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h" #include "core/hid/hid_core.h"
@ -15,8 +14,9 @@
namespace Service::HID { namespace Service::HID {
constexpr std::size_t SHARED_MEMORY_OFFSET = 0x00000; constexpr std::size_t SHARED_MEMORY_OFFSET = 0x00000;
Controller_DebugPad::Controller_DebugPad(Core::System& system_) : ControllerBase{system_} { Controller_DebugPad::Controller_DebugPad(Core::HID::HIDCore& hid_core_)
controller = system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Other); : ControllerBase{hid_core_} {
controller = hid_core.GetEmulatedController(Core::HID::NpadIdType::Other);
} }
Controller_DebugPad::~Controller_DebugPad() = default; Controller_DebugPad::~Controller_DebugPad() = default;

View file

@ -8,7 +8,6 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_funcs.h" #include "common/common_funcs.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/settings.h"
#include "common/swap.h" #include "common/swap.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "core/hle/service/hid/controllers/controller_base.h"
#include "core/hle/service/hid/ring_lifo.h" #include "core/hle/service/hid/ring_lifo.h"
@ -22,7 +21,7 @@ struct AnalogStickState;
namespace Service::HID { namespace Service::HID {
class Controller_DebugPad final : public ControllerBase { class Controller_DebugPad final : public ControllerBase {
public: public:
explicit Controller_DebugPad(Core::System& system_); explicit Controller_DebugPad(Core::HID::HIDCore& hid_core_);
~Controller_DebugPad() override; ~Controller_DebugPad() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -5,7 +5,6 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "common/math_util.h" #include "common/math_util.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/frontend/emu_window.h" #include "core/frontend/emu_window.h"
#include "core/hid/hid_core.h" #include "core/hid/hid_core.h"
@ -25,8 +24,8 @@ constexpr f32 Square(s32 num) {
return static_cast<f32>(num * num); return static_cast<f32>(num * num);
} }
Controller_Gesture::Controller_Gesture(Core::System& system_) : ControllerBase(system_) { Controller_Gesture::Controller_Gesture(Core::HID::HIDCore& hid_core_) : ControllerBase(hid_core_) {
console = system.HIDCore().GetEmulatedConsole(); console = hid_core.GetEmulatedConsole();
} }
Controller_Gesture::~Controller_Gesture() = default; Controller_Gesture::~Controller_Gesture() = default;

View file

@ -15,7 +15,7 @@
namespace Service::HID { namespace Service::HID {
class Controller_Gesture final : public ControllerBase { class Controller_Gesture final : public ControllerBase {
public: public:
explicit Controller_Gesture(Core::System& system_); explicit Controller_Gesture(Core::HID::HIDCore& hid_core_);
~Controller_Gesture() override; ~Controller_Gesture() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -5,7 +5,6 @@
#include <cstring> #include <cstring>
#include "common/common_types.h" #include "common/common_types.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_devices.h" #include "core/hid/emulated_devices.h"
#include "core/hid/hid_core.h" #include "core/hid/hid_core.h"
@ -14,8 +13,9 @@
namespace Service::HID { namespace Service::HID {
constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3800; constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3800;
Controller_Keyboard::Controller_Keyboard(Core::System& system_) : ControllerBase{system_} { Controller_Keyboard::Controller_Keyboard(Core::HID::HIDCore& hid_core_)
emulated_devices = system.HIDCore().GetEmulatedDevices(); : ControllerBase{hid_core_} {
emulated_devices = hid_core.GetEmulatedDevices();
} }
Controller_Keyboard::~Controller_Keyboard() = default; Controller_Keyboard::~Controller_Keyboard() = default;

View file

@ -8,7 +8,6 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_funcs.h" #include "common/common_funcs.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/settings.h"
#include "common/swap.h" #include "common/swap.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "core/hle/service/hid/controllers/controller_base.h"
#include "core/hle/service/hid/ring_lifo.h" #include "core/hle/service/hid/ring_lifo.h"
@ -22,7 +21,7 @@ struct KeyboardKey;
namespace Service::HID { namespace Service::HID {
class Controller_Keyboard final : public ControllerBase { class Controller_Keyboard final : public ControllerBase {
public: public:
explicit Controller_Keyboard(Core::System& system_); explicit Controller_Keyboard(Core::HID::HIDCore& hid_core_);
~Controller_Keyboard() override; ~Controller_Keyboard() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -4,7 +4,6 @@
#include <cstring> #include <cstring>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/frontend/emu_window.h" #include "core/frontend/emu_window.h"
#include "core/hid/emulated_devices.h" #include "core/hid/emulated_devices.h"
@ -14,8 +13,8 @@
namespace Service::HID { namespace Service::HID {
constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3400; constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3400;
Controller_Mouse::Controller_Mouse(Core::System& system_) : ControllerBase{system_} { Controller_Mouse::Controller_Mouse(Core::HID::HIDCore& hid_core_) : ControllerBase{hid_core_} {
emulated_devices = system.HIDCore().GetEmulatedDevices(); emulated_devices = hid_core.GetEmulatedDevices();
} }
Controller_Mouse::~Controller_Mouse() = default; Controller_Mouse::~Controller_Mouse() = default;

View file

@ -7,7 +7,6 @@
#include <array> #include <array>
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/settings.h"
#include "common/swap.h" #include "common/swap.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "core/hle/service/hid/controllers/controller_base.h"
#include "core/hle/service/hid/ring_lifo.h" #include "core/hle/service/hid/ring_lifo.h"
@ -20,7 +19,7 @@ struct MouseState;
namespace Service::HID { namespace Service::HID {
class Controller_Mouse final : public ControllerBase { class Controller_Mouse final : public ControllerBase {
public: public:
explicit Controller_Mouse(Core::System& system_); explicit Controller_Mouse(Core::HID::HIDCore& hid_core_);
~Controller_Mouse() override; ~Controller_Mouse() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -10,7 +10,6 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "common/logging/log.h" #include "common/logging/log.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h" #include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h" #include "core/hid/hid_core.h"
@ -97,12 +96,12 @@ bool Controller_NPad::IsDeviceHandleValid(const DeviceHandle& device_handle) {
device_handle.device_index < DeviceIndex::MaxDeviceIndex; device_handle.device_index < DeviceIndex::MaxDeviceIndex;
} }
Controller_NPad::Controller_NPad(Core::System& system_, Controller_NPad::Controller_NPad(Core::HID::HIDCore& hid_core_,
KernelHelpers::ServiceContext& service_context_) KernelHelpers::ServiceContext& service_context_)
: ControllerBase{system_}, service_context{service_context_} { : ControllerBase{hid_core_}, service_context{service_context_} {
for (std::size_t i = 0; i < controller_data.size(); ++i) { for (std::size_t i = 0; i < controller_data.size(); ++i) {
auto& controller = controller_data[i]; auto& controller = controller_data[i];
controller.device = system.HIDCore().GetEmulatedControllerByIndex(i); controller.device = hid_core.GetEmulatedControllerByIndex(i);
controller.vibration[Core::HID::DeviceIndex::LeftIndex].latest_vibration_value = controller.vibration[Core::HID::DeviceIndex::LeftIndex].latest_vibration_value =
DEFAULT_VIBRATION_VALUE; DEFAULT_VIBRATION_VALUE;
controller.vibration[Core::HID::DeviceIndex::RightIndex].latest_vibration_value = controller.vibration[Core::HID::DeviceIndex::RightIndex].latest_vibration_value =
@ -284,7 +283,7 @@ void Controller_NPad::OnInit() {
service_context.CreateEvent(fmt::format("npad:NpadStyleSetChanged_{}", i)); service_context.CreateEvent(fmt::format("npad:NpadStyleSetChanged_{}", i));
} }
if (system.HIDCore().GetSupportedStyleTag().raw == 0) { if (hid_core.GetSupportedStyleTag().raw == 0) {
// We want to support all controllers // We want to support all controllers
Core::HID::NpadStyleTag style{}; Core::HID::NpadStyleTag style{};
style.handheld.Assign(1); style.handheld.Assign(1);
@ -294,7 +293,7 @@ void Controller_NPad::OnInit() {
style.fullkey.Assign(1); style.fullkey.Assign(1);
style.gamecube.Assign(1); style.gamecube.Assign(1);
style.palma.Assign(1); style.palma.Assign(1);
system.HIDCore().SetSupportedStyleTag(style); hid_core.SetSupportedStyleTag(style);
} }
supported_npad_id_types.resize(npad_id_list.size()); supported_npad_id_types.resize(npad_id_list.size());
@ -678,11 +677,11 @@ void Controller_NPad::OnMotionUpdate(const Core::Timing::CoreTiming& core_timing
} }
void Controller_NPad::SetSupportedStyleSet(Core::HID::NpadStyleTag style_set) { void Controller_NPad::SetSupportedStyleSet(Core::HID::NpadStyleTag style_set) {
system.HIDCore().SetSupportedStyleTag(style_set); hid_core.SetSupportedStyleTag(style_set);
} }
Core::HID::NpadStyleTag Controller_NPad::GetSupportedStyleSet() const { Core::HID::NpadStyleTag Controller_NPad::GetSupportedStyleSet() const {
return system.HIDCore().GetSupportedStyleTag(); return hid_core.GetSupportedStyleTag();
} }
void Controller_NPad::SetSupportedNpadIdTypes(u8* data, std::size_t length) { void Controller_NPad::SetSupportedNpadIdTypes(u8* data, std::size_t length) {

View file

@ -11,7 +11,6 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "common/quaternion.h" #include "common/quaternion.h"
#include "common/settings.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "core/hle/service/hid/controllers/controller_base.h"
#include "core/hle/service/hid/ring_lifo.h" #include "core/hle/service/hid/ring_lifo.h"
@ -37,7 +36,7 @@ constexpr u32 NPAD_UNKNOWN = 16; // TODO(ogniK): What is this?
class Controller_NPad final : public ControllerBase { class Controller_NPad final : public ControllerBase {
public: public:
explicit Controller_NPad(Core::System& system_, explicit Controller_NPad(Core::HID::HIDCore& hid_core_,
KernelHelpers::ServiceContext& service_context_); KernelHelpers::ServiceContext& service_context_);
~Controller_NPad() override; ~Controller_NPad() override;

View file

@ -5,11 +5,12 @@
#include <cstring> #include <cstring>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/hid_core.h"
#include "core/hle/service/hid/controllers/stubbed.h" #include "core/hle/service/hid/controllers/stubbed.h"
namespace Service::HID { namespace Service::HID {
Controller_Stubbed::Controller_Stubbed(Core::System& system_) : ControllerBase{system_} {} Controller_Stubbed::Controller_Stubbed(Core::HID::HIDCore& hid_core_) : ControllerBase{hid_core_} {}
Controller_Stubbed::~Controller_Stubbed() = default; Controller_Stubbed::~Controller_Stubbed() = default;
void Controller_Stubbed::OnInit() {} void Controller_Stubbed::OnInit() {}

View file

@ -10,7 +10,7 @@
namespace Service::HID { namespace Service::HID {
class Controller_Stubbed final : public ControllerBase { class Controller_Stubbed final : public ControllerBase {
public: public:
explicit Controller_Stubbed(Core::System& system_); explicit Controller_Stubbed(Core::HID::HIDCore& hid_core_);
~Controller_Stubbed() override; ~Controller_Stubbed() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -10,13 +10,16 @@
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/frontend/emu_window.h" #include "core/frontend/emu_window.h"
#include "core/hid/emulated_console.h"
#include "core/hid/hid_core.h"
#include "core/hle/service/hid/controllers/touchscreen.h" #include "core/hle/service/hid/controllers/touchscreen.h"
namespace Service::HID { namespace Service::HID {
constexpr std::size_t SHARED_MEMORY_OFFSET = 0x400; constexpr std::size_t SHARED_MEMORY_OFFSET = 0x400;
Controller_Touchscreen::Controller_Touchscreen(Core::System& system_) : ControllerBase{system_} { Controller_Touchscreen::Controller_Touchscreen(Core::HID::HIDCore& hid_core_)
console = system.HIDCore().GetEmulatedConsole(); : ControllerBase{hid_core_} {
console = hid_core.GetEmulatedConsole();
} }
Controller_Touchscreen::~Controller_Touchscreen() = default; Controller_Touchscreen::~Controller_Touchscreen() = default;

View file

@ -9,12 +9,14 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "common/point.h" #include "common/point.h"
#include "common/swap.h" #include "common/swap.h"
#include "core/hid/emulated_console.h"
#include "core/hid/hid_core.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "core/hle/service/hid/controllers/controller_base.h"
#include "core/hle/service/hid/ring_lifo.h" #include "core/hle/service/hid/ring_lifo.h"
namespace Core::HID {
class EmulatedConsole;
} // namespace Core::HID
namespace Service::HID { namespace Service::HID {
class Controller_Touchscreen final : public ControllerBase { class Controller_Touchscreen final : public ControllerBase {
public: public:
@ -34,7 +36,7 @@ public:
static_assert(sizeof(TouchScreenConfigurationForNx) == 0x17, static_assert(sizeof(TouchScreenConfigurationForNx) == 0x17,
"TouchScreenConfigurationForNx is an invalid size"); "TouchScreenConfigurationForNx is an invalid size");
explicit Controller_Touchscreen(Core::System& system_); explicit Controller_Touchscreen(Core::HID::HIDCore& hid_core_);
~Controller_Touchscreen() override; ~Controller_Touchscreen() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -5,12 +5,13 @@
#include <cstring> #include <cstring>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/hid_core.h"
#include "core/hle/service/hid/controllers/xpad.h" #include "core/hle/service/hid/controllers/xpad.h"
namespace Service::HID { namespace Service::HID {
constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3C00; constexpr std::size_t SHARED_MEMORY_OFFSET = 0x3C00;
Controller_XPad::Controller_XPad(Core::System& system_) : ControllerBase{system_} {} Controller_XPad::Controller_XPad(Core::HID::HIDCore& hid_core_) : ControllerBase{hid_core_} {}
Controller_XPad::~Controller_XPad() = default; Controller_XPad::~Controller_XPad() = default;
void Controller_XPad::OnInit() {} void Controller_XPad::OnInit() {}

View file

@ -15,7 +15,7 @@
namespace Service::HID { namespace Service::HID {
class Controller_XPad final : public ControllerBase { class Controller_XPad final : public ControllerBase {
public: public:
explicit Controller_XPad(Core::System& system_); explicit Controller_XPad(Core::HID::HIDCore& hid_core_);
~Controller_XPad() override; ~Controller_XPad() override;
// Called when the controller is initialized // Called when the controller is initialized

View file

@ -8,6 +8,7 @@
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/hid_core.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_shared_memory.h"

View file

@ -60,12 +60,12 @@ public:
private: private:
template <typename T> template <typename T>
void MakeController(HidController controller) { void MakeController(HidController controller) {
controllers[static_cast<std::size_t>(controller)] = std::make_unique<T>(system); controllers[static_cast<std::size_t>(controller)] = std::make_unique<T>(system.HIDCore());
} }
template <typename T> template <typename T>
void MakeControllerWithServiceContext(HidController controller) { void MakeControllerWithServiceContext(HidController controller) {
controllers[static_cast<std::size_t>(controller)] = controllers[static_cast<std::size_t>(controller)] =
std::make_unique<T>(system, service_context); std::make_unique<T>(system.HIDCore(), service_context);
} }
void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx); void GetSharedMemoryHandle(Kernel::HLERequestContext& ctx);

View file

@ -12,7 +12,6 @@
#include "core/core.h" #include "core/core.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_page_table.h" #include "core/hle/kernel/k_page_table.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/kernel/k_system_control.h" #include "core/hle/kernel/k_system_control.h"
#include "core/hle/kernel/svc_results.h" #include "core/hle/kernel/svc_results.h"
#include "core/hle/service/ldr/ldr.h" #include "core/hle/service/ldr/ldr.h"
@ -247,7 +246,7 @@ public:
return; return;
} }
if (system.CurrentProcess()->GetTitleID() != header.application_id) { if (system.GetCurrentProcessProgramID() != header.application_id) {
LOG_ERROR(Service_LDR, LOG_ERROR(Service_LDR,
"Attempting to load NRR with title ID other than current process. (actual " "Attempting to load NRR with title ID other than current process. (actual "
"{:016X})!", "{:016X})!",

View file

@ -7,7 +7,6 @@
#include "core/file_sys/control_metadata.h" #include "core/file_sys/control_metadata.h"
#include "core/file_sys/patch_manager.h" #include "core/file_sys/patch_manager.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/pctl/pctl.h" #include "core/hle/service/pctl/pctl.h"
#include "core/hle/service/pctl/pctl_module.h" #include "core/hle/service/pctl/pctl_module.h"
@ -189,7 +188,7 @@ private:
// TODO(ogniK): Recovery flag initialization for pctl:r // TODO(ogniK): Recovery flag initialization for pctl:r
const auto tid = system.CurrentProcess()->GetTitleID(); const auto tid = system.GetCurrentProcessProgramID();
if (tid != 0) { if (tid != 0) {
const FileSys::PatchManager pm{tid, system.GetFileSystemController(), const FileSys::PatchManager pm{tid, system.GetFileSystemController(),
system.GetContentProvider()}; system.GetContentProvider()};

View file

@ -101,7 +101,7 @@ private:
const auto process = const auto process =
SearchProcessList(kernel.GetProcessList(), [title_id](const auto& proc) { SearchProcessList(kernel.GetProcessList(), [title_id](const auto& proc) {
return proc->GetTitleID() == title_id; return proc->GetProgramID() == title_id;
}); });
if (!process.has_value()) { if (!process.has_value()) {
@ -152,7 +152,7 @@ private:
IPC::ResponseBuilder rb{ctx, 4}; IPC::ResponseBuilder rb{ctx, 4};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
rb.Push((*process)->GetTitleID()); rb.Push((*process)->GetProgramID());
} }
const std::vector<Kernel::KProcess*>& process_list; const std::vector<Kernel::KProcess*>& process_list;

View file

@ -6,7 +6,6 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/acc/profile_manager.h"
#include "core/hle/service/prepo/prepo.h" #include "core/hle/service/prepo/prepo.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
@ -73,7 +72,7 @@ private:
Type, process_id, data1.size(), data2.size()); Type, process_id, data1.size(), data2.size());
const auto& reporter{system.GetReporter()}; const auto& reporter{system.GetReporter()};
reporter.SavePlayReport(Type, system.CurrentProcess()->GetTitleID(), {data1, data2}, reporter.SavePlayReport(Type, system.GetCurrentProcessProgramID(), {data1, data2},
process_id); process_id);
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};
@ -101,7 +100,7 @@ private:
Type, user_id[1], user_id[0], process_id, data1.size(), data2.size()); Type, user_id[1], user_id[0], process_id, data1.size(), data2.size());
const auto& reporter{system.GetReporter()}; const auto& reporter{system.GetReporter()};
reporter.SavePlayReport(Type, system.CurrentProcess()->GetTitleID(), {data1, data2}, reporter.SavePlayReport(Type, system.GetCurrentProcessProgramID(), {data1, data2},
process_id, user_id); process_id, user_id);
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};

View file

@ -192,7 +192,7 @@ void CheatEngine::Initialize() {
core_timing.ScheduleEvent(CHEAT_ENGINE_NS, event); core_timing.ScheduleEvent(CHEAT_ENGINE_NS, event);
metadata.process_id = system.CurrentProcess()->GetProcessID(); metadata.process_id = system.CurrentProcess()->GetProcessID();
metadata.title_id = system.CurrentProcess()->GetTitleID(); metadata.title_id = system.GetCurrentProcessProgramID();
const auto& page_table = system.CurrentProcess()->PageTable(); const auto& page_table = system.CurrentProcess()->PageTable();
metadata.heap_extents = { metadata.heap_extents = {

View file

@ -236,7 +236,7 @@ void Reporter::SaveSvcBreakReport(u32 type, bool signal_debugger, u64 info1, u64
} }
const auto timestamp = GetTimestamp(); const auto timestamp = GetTimestamp();
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
auto out = GetFullDataAuto(timestamp, title_id, system); auto out = GetFullDataAuto(timestamp, title_id, system);
auto break_out = json{ auto break_out = json{
@ -263,7 +263,7 @@ void Reporter::SaveUnimplementedFunctionReport(Kernel::HLERequestContext& ctx, u
} }
const auto timestamp = GetTimestamp(); const auto timestamp = GetTimestamp();
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
auto out = GetFullDataAuto(timestamp, title_id, system); auto out = GetFullDataAuto(timestamp, title_id, system);
auto function_out = GetHLERequestContextData(ctx, system.Memory()); auto function_out = GetHLERequestContextData(ctx, system.Memory());
@ -285,7 +285,7 @@ void Reporter::SaveUnimplementedAppletReport(
} }
const auto timestamp = GetTimestamp(); const auto timestamp = GetTimestamp();
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
auto out = GetFullDataAuto(timestamp, title_id, system); auto out = GetFullDataAuto(timestamp, title_id, system);
out["applet_common_args"] = { out["applet_common_args"] = {
@ -377,7 +377,7 @@ void Reporter::SaveUserReport() const {
} }
const auto timestamp = GetTimestamp(); const auto timestamp = GetTimestamp();
const auto title_id = system.CurrentProcess()->GetTitleID(); const auto title_id = system.GetCurrentProcessProgramID();
SaveToFile(GetFullDataAuto(timestamp, title_id, system), SaveToFile(GetFullDataAuto(timestamp, title_id, system),
GetPath("user_report", title_id, timestamp)); GetPath("user_report", title_id, timestamp));

View file

@ -103,6 +103,7 @@ std::unordered_map<VkFormat, VkFormatProperties> GetFormatProperties(vk::Physica
VK_FORMAT_A8B8G8R8_SNORM_PACK32, VK_FORMAT_A8B8G8R8_SNORM_PACK32,
VK_FORMAT_A8B8G8R8_SINT_PACK32, VK_FORMAT_A8B8G8R8_SINT_PACK32,
VK_FORMAT_A8B8G8R8_SRGB_PACK32, VK_FORMAT_A8B8G8R8_SRGB_PACK32,
VK_FORMAT_R5G6B5_UNORM_PACK16,
VK_FORMAT_B5G6R5_UNORM_PACK16, VK_FORMAT_B5G6R5_UNORM_PACK16,
VK_FORMAT_A2B10G10R10_UNORM_PACK32, VK_FORMAT_A2B10G10R10_UNORM_PACK32,
VK_FORMAT_A2B10G10R10_UINT_PACK32, VK_FORMAT_A2B10G10R10_UINT_PACK32,

View file

@ -27,13 +27,11 @@
#include "common/assert.h" #include "common/assert.h"
#include "common/microprofile.h" #include "common/microprofile.h"
#include "common/param_package.h"
#include "common/scm_rev.h" #include "common/scm_rev.h"
#include "common/scope_exit.h" #include "common/scope_exit.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h" #include "core/core.h"
#include "core/frontend/framebuffer_layout.h" #include "core/frontend/framebuffer_layout.h"
#include "core/hle/kernel/k_process.h"
#include "input_common/drivers/keyboard.h" #include "input_common/drivers/keyboard.h"
#include "input_common/drivers/mouse.h" #include "input_common/drivers/mouse.h"
#include "input_common/drivers/tas_input.h" #include "input_common/drivers/tas_input.h"
@ -68,7 +66,7 @@ void EmuThread::run() {
if (Settings::values.use_disk_shader_cache.GetValue()) { if (Settings::values.use_disk_shader_cache.GetValue()) {
system.Renderer().ReadRasterizer()->LoadDiskResources( system.Renderer().ReadRasterizer()->LoadDiskResources(
system.CurrentProcess()->GetTitleID(), stop_token, system.GetCurrentProcessProgramID(), stop_token,
[this](VideoCore::LoadCallbackStage stage, std::size_t value, std::size_t total) { [this](VideoCore::LoadCallbackStage stage, std::size_t value, std::size_t total) {
emit LoadProgress(stage, value, total); emit LoadProgress(stage, value, total);
}); });

View file

@ -2,17 +2,18 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include "core/core.h" #include "core/hid/hid_core.h"
#include "ui_configure_debug_controller.h" #include "ui_configure_debug_controller.h"
#include "yuzu/configuration/configure_debug_controller.h" #include "yuzu/configuration/configure_debug_controller.h"
#include "yuzu/configuration/configure_input_player.h" #include "yuzu/configuration/configure_input_player.h"
ConfigureDebugController::ConfigureDebugController(QWidget* parent, ConfigureDebugController::ConfigureDebugController(QWidget* parent,
InputCommon::InputSubsystem* input_subsystem, InputCommon::InputSubsystem* input_subsystem,
InputProfiles* profiles, Core::System& system) InputProfiles* profiles,
Core::HID::HIDCore& hid_core, bool is_powered_on)
: QDialog(parent), ui(std::make_unique<Ui::ConfigureDebugController>()), : QDialog(parent), ui(std::make_unique<Ui::ConfigureDebugController>()),
debug_controller( debug_controller(new ConfigureInputPlayer(this, 9, nullptr, input_subsystem, profiles,
new ConfigureInputPlayer(this, 9, nullptr, input_subsystem, profiles, system, true)) { hid_core, is_powered_on, true)) {
ui->setupUi(this); ui->setupUi(this);
ui->controllerLayout->addWidget(debug_controller); ui->controllerLayout->addWidget(debug_controller);

View file

@ -13,8 +13,8 @@ class ConfigureInputPlayer;
class InputProfiles; class InputProfiles;
namespace Core { namespace Core::HID {
class System; class HIDCore;
} }
namespace InputCommon { namespace InputCommon {
@ -30,7 +30,8 @@ class ConfigureDebugController : public QDialog {
public: public:
explicit ConfigureDebugController(QWidget* parent, InputCommon::InputSubsystem* input_subsystem, explicit ConfigureDebugController(QWidget* parent, InputCommon::InputSubsystem* input_subsystem,
InputProfiles* profiles, Core::System& system); InputProfiles* profiles, Core::HID::HIDCore& hid_core,
bool is_powered_on);
~ConfigureDebugController() override; ~ConfigureDebugController() override;
void ApplyConfiguration(); void ApplyConfiguration();

View file

@ -74,7 +74,7 @@ ConfigureDialog::ConfigureDialog(QWidget* parent, HotkeyRegistry& registry,
hotkeys_tab->Populate(registry); hotkeys_tab->Populate(registry);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
input_tab->Initialize(input_subsystem, system_); input_tab->Initialize(input_subsystem);
general_tab->SetResetCallback([&] { this->close(); }); general_tab->SetResetCallback([&] { this->close(); });

View file

@ -10,6 +10,8 @@
#include <QTimer> #include <QTimer>
#include "core/core.h" #include "core/core.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
#include "core/hle/service/am/applet_ae.h" #include "core/hle/service/am/applet_ae.h"
#include "core/hle/service/am/applet_oe.h" #include "core/hle/service/am/applet_oe.h"
@ -73,25 +75,27 @@ ConfigureInput::ConfigureInput(Core::System& system_, QWidget* parent)
ConfigureInput::~ConfigureInput() = default; ConfigureInput::~ConfigureInput() = default;
void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem, Core::System& system, void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem,
std::size_t max_players) { std::size_t max_players) {
const bool is_powered_on = system.IsPoweredOn();
auto& hid_core = system.HIDCore();
player_controllers = { player_controllers = {
new ConfigureInputPlayer(this, 0, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 0, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 1, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 1, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 2, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 2, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 3, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 3, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 4, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 4, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 5, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 5, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 6, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 6, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
new ConfigureInputPlayer(this, 7, ui->consoleInputSettings, input_subsystem, profiles.get(), new ConfigureInputPlayer(this, 7, ui->consoleInputSettings, input_subsystem, profiles.get(),
system), hid_core, is_powered_on),
}; };
player_tabs = { player_tabs = {
@ -147,10 +151,11 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem, Co
advanced = new ConfigureInputAdvanced(this); advanced = new ConfigureInputAdvanced(this);
ui->tabAdvanced->setLayout(new QHBoxLayout(ui->tabAdvanced)); ui->tabAdvanced->setLayout(new QHBoxLayout(ui->tabAdvanced));
ui->tabAdvanced->layout()->addWidget(advanced); ui->tabAdvanced->layout()->addWidget(advanced);
connect(advanced, &ConfigureInputAdvanced::CallDebugControllerDialog, connect(advanced, &ConfigureInputAdvanced::CallDebugControllerDialog,
[this, input_subsystem, &system] { [this, input_subsystem, &hid_core, is_powered_on] {
CallConfigureDialog<ConfigureDebugController>(*this, input_subsystem, CallConfigureDialog<ConfigureDebugController>(
profiles.get(), system); *this, input_subsystem, profiles.get(), hid_core, is_powered_on);
}); });
connect(advanced, &ConfigureInputAdvanced::CallMouseConfigDialog, [this, input_subsystem] { connect(advanced, &ConfigureInputAdvanced::CallMouseConfigDialog, [this, input_subsystem] {
CallConfigureDialog<ConfigureMouseAdvanced>(*this, input_subsystem); CallConfigureDialog<ConfigureMouseAdvanced>(*this, input_subsystem);

View file

@ -42,8 +42,7 @@ public:
~ConfigureInput() override; ~ConfigureInput() override;
/// Initializes the input dialog with the given input subsystem. /// Initializes the input dialog with the given input subsystem.
void Initialize(InputCommon::InputSubsystem* input_subsystem_, Core::System& system, void Initialize(InputCommon::InputSubsystem* input_subsystem_, std::size_t max_players = 8);
std::size_t max_players = 8);
/// Save all button configurations to settings file. /// Save all button configurations to settings file.
void ApplyConfiguration(); void ApplyConfiguration();

View file

@ -12,7 +12,6 @@
#include <QMessageBox> #include <QMessageBox>
#include <QTimer> #include <QTimer>
#include "common/param_package.h" #include "common/param_package.h"
#include "core/core.h"
#include "core/hid/emulated_controller.h" #include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h" #include "core/hid/hid_core.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
@ -134,18 +133,17 @@ QString ConfigureInputPlayer::AnalogToText(const Common::ParamPackage& param,
ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_index, ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_index,
QWidget* bottom_row, QWidget* bottom_row,
InputCommon::InputSubsystem* input_subsystem_, InputCommon::InputSubsystem* input_subsystem_,
InputProfiles* profiles_, Core::System& system_, InputProfiles* profiles_, Core::HID::HIDCore& hid_core_,
bool debug) bool is_powered_on_, bool debug)
: QWidget(parent), ui(std::make_unique<Ui::ConfigureInputPlayer>()), player_index(player_index), : QWidget(parent), ui(std::make_unique<Ui::ConfigureInputPlayer>()), player_index(player_index),
debug(debug), input_subsystem{input_subsystem_}, profiles(profiles_), debug(debug), is_powered_on{is_powered_on_}, input_subsystem{input_subsystem_},
timeout_timer(std::make_unique<QTimer>()), poll_timer(std::make_unique<QTimer>()), profiles(profiles_), timeout_timer(std::make_unique<QTimer>()),
bottom_row(bottom_row), system{system_} { poll_timer(std::make_unique<QTimer>()), bottom_row(bottom_row), hid_core{hid_core_} {
if (player_index == 0) { if (player_index == 0) {
auto* emulated_controller_p1 = auto* emulated_controller_p1 =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1); hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1);
auto* emulated_controller_hanheld = auto* emulated_controller_hanheld =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld);
emulated_controller_p1->SaveCurrentConfig(); emulated_controller_p1->SaveCurrentConfig();
emulated_controller_p1->EnableConfiguration(); emulated_controller_p1->EnableConfiguration();
emulated_controller_hanheld->SaveCurrentConfig(); emulated_controller_hanheld->SaveCurrentConfig();
@ -157,7 +155,7 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
emulated_controller = emulated_controller_p1; emulated_controller = emulated_controller_p1;
} }
} else { } else {
emulated_controller = system_.HIDCore().GetEmulatedControllerByIndex(player_index); emulated_controller = hid_core.GetEmulatedControllerByIndex(player_index);
emulated_controller->SaveCurrentConfig(); emulated_controller->SaveCurrentConfig();
emulated_controller->EnableConfiguration(); emulated_controller->EnableConfiguration();
} }
@ -487,9 +485,9 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
if (player_index == 0) { if (player_index == 0) {
auto* emulated_controller_p1 = auto* emulated_controller_p1 =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1); hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1);
auto* emulated_controller_hanheld = auto* emulated_controller_hanheld =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld);
bool is_connected = emulated_controller->IsConnected(true); bool is_connected = emulated_controller->IsConnected(true);
emulated_controller_p1->SetNpadStyleIndex(type); emulated_controller_p1->SetNpadStyleIndex(type);
@ -547,9 +545,9 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
ConfigureInputPlayer::~ConfigureInputPlayer() { ConfigureInputPlayer::~ConfigureInputPlayer() {
if (player_index == 0) { if (player_index == 0) {
auto* emulated_controller_p1 = auto* emulated_controller_p1 =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1); hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1);
auto* emulated_controller_hanheld = auto* emulated_controller_hanheld =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld);
emulated_controller_p1->DisableConfiguration(); emulated_controller_p1->DisableConfiguration();
emulated_controller_hanheld->DisableConfiguration(); emulated_controller_hanheld->DisableConfiguration();
} else { } else {
@ -560,9 +558,9 @@ ConfigureInputPlayer::~ConfigureInputPlayer() {
void ConfigureInputPlayer::ApplyConfiguration() { void ConfigureInputPlayer::ApplyConfiguration() {
if (player_index == 0) { if (player_index == 0) {
auto* emulated_controller_p1 = auto* emulated_controller_p1 =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1); hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1);
auto* emulated_controller_hanheld = auto* emulated_controller_hanheld =
system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld);
emulated_controller_p1->DisableConfiguration(); emulated_controller_p1->DisableConfiguration();
emulated_controller_p1->SaveCurrentConfig(); emulated_controller_p1->SaveCurrentConfig();
emulated_controller_p1->EnableConfiguration(); emulated_controller_p1->EnableConfiguration();
@ -846,12 +844,11 @@ void ConfigureInputPlayer::SetConnectableControllers() {
} }
}; };
if (!system.IsPoweredOn()) { if (!is_powered_on) {
add_controllers(true); add_controllers(true);
return;
} }
add_controllers(false, system.HIDCore().GetSupportedStyleTag()); add_controllers(false, hid_core.GetSupportedStyleTag());
} }
Core::HID::NpadStyleIndex ConfigureInputPlayer::GetControllerTypeFromIndex(int index) const { Core::HID::NpadStyleIndex ConfigureInputPlayer::GetControllerTypeFromIndex(int index) const {

View file

@ -29,10 +29,6 @@ class QWidget;
class InputProfiles; class InputProfiles;
namespace Core {
class System;
}
namespace InputCommon { namespace InputCommon {
class InputSubsystem; class InputSubsystem;
} }
@ -45,11 +41,8 @@ namespace Ui {
class ConfigureInputPlayer; class ConfigureInputPlayer;
} }
namespace Core {
class System;
}
namespace Core::HID { namespace Core::HID {
class HIDCore;
class EmulatedController; class EmulatedController;
enum class NpadStyleIndex : u8; enum class NpadStyleIndex : u8;
} // namespace Core::HID } // namespace Core::HID
@ -60,8 +53,8 @@ class ConfigureInputPlayer : public QWidget {
public: public:
explicit ConfigureInputPlayer(QWidget* parent, std::size_t player_index, QWidget* bottom_row, explicit ConfigureInputPlayer(QWidget* parent, std::size_t player_index, QWidget* bottom_row,
InputCommon::InputSubsystem* input_subsystem_, InputCommon::InputSubsystem* input_subsystem_,
InputProfiles* profiles_, Core::System& system_, InputProfiles* profiles_, Core::HID::HIDCore& hid_core_,
bool debug = false); bool is_powered_on_, bool debug = false);
~ConfigureInputPlayer() override; ~ConfigureInputPlayer() override;
/// Save all button configurations to settings file. /// Save all button configurations to settings file.
@ -173,6 +166,7 @@ private:
std::size_t player_index; std::size_t player_index;
bool debug; bool debug;
bool is_powered_on;
InputCommon::InputSubsystem* input_subsystem; InputCommon::InputSubsystem* input_subsystem;
@ -228,5 +222,5 @@ private:
/// parent of the widget to this widget (but thats fine). /// parent of the widget to this widget (but thats fine).
QWidget* bottom_row; QWidget* bottom_row;
Core::System& system; Core::HID::HIDCore& hid_core;
}; };

View file

@ -6,7 +6,8 @@
#include <QMenu> #include <QMenu>
#include <QPainter> #include <QPainter>
#include <QTimer> #include <QTimer>
#include "core/core.h"
#include "core/hid/emulated_controller.h"
#include "yuzu/configuration/configure_input_player_widget.h" #include "yuzu/configuration/configure_input_player_widget.h"
PlayerControlPreview::PlayerControlPreview(QWidget* parent) : QFrame(parent) { PlayerControlPreview::PlayerControlPreview(QWidget* parent) : QFrame(parent) {

View file

@ -7,10 +7,10 @@
#include <array> #include <array>
#include <QFrame> #include <QFrame>
#include <QPointer> #include <QPointer>
#include "common/input.h" #include "common/input.h"
#include "common/settings.h" #include "common/settings_input.h"
#include "core/hid/emulated_controller.h" #include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hid/hid_types.h" #include "core/hid/hid_types.h"
class QLabel; class QLabel;

View file

@ -11,8 +11,8 @@ ConfigureInputProfileDialog::ConfigureInputProfileDialog(
QWidget* parent, InputCommon::InputSubsystem* input_subsystem, InputProfiles* profiles, QWidget* parent, InputCommon::InputSubsystem* input_subsystem, InputProfiles* profiles,
Core::System& system) Core::System& system)
: QDialog(parent), ui(std::make_unique<Ui::ConfigureInputProfileDialog>()), : QDialog(parent), ui(std::make_unique<Ui::ConfigureInputProfileDialog>()),
profile_widget( profile_widget(new ConfigureInputPlayer(this, 9, nullptr, input_subsystem, profiles,
new ConfigureInputPlayer(this, 9, nullptr, input_subsystem, profiles, system, false)) { system.HIDCore(), system.IsPoweredOn(), false)) {
ui->setupUi(this); ui->setupUi(this);
ui->controllerLayout->addWidget(profile_widget); ui->controllerLayout->addWidget(profile_widget);

View file

@ -6,17 +6,17 @@
#include <QLayout> #include <QLayout>
#include <QString> #include <QString>
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h"
#include "core/hid/emulated_controller.h" #include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "input_common/drivers/tas_input.h" #include "input_common/drivers/tas_input.h"
#include "input_common/main.h" #include "input_common/main.h"
#include "yuzu/configuration/configure_input_player_widget.h" #include "yuzu/configuration/configure_input_player_widget.h"
#include "yuzu/debugger/controller.h" #include "yuzu/debugger/controller.h"
ControllerDialog::ControllerDialog(Core::System& system_, ControllerDialog::ControllerDialog(Core::HID::HIDCore& hid_core_,
std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_, std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_,
QWidget* parent) QWidget* parent)
: QWidget(parent, Qt::Dialog), system{system_}, input_subsystem{input_subsystem_} { : QWidget(parent, Qt::Dialog), hid_core{hid_core_}, input_subsystem{input_subsystem_} {
setObjectName(QStringLiteral("Controller")); setObjectName(QStringLiteral("Controller"));
setWindowTitle(tr("Controller P1")); setWindowTitle(tr("Controller P1"));
resize(500, 350); resize(500, 350);
@ -41,8 +41,8 @@ ControllerDialog::ControllerDialog(Core::System& system_,
void ControllerDialog::refreshConfiguration() { void ControllerDialog::refreshConfiguration() {
UnloadController(); UnloadController();
auto* player_1 = system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Player1); auto* player_1 = hid_core.GetEmulatedController(Core::HID::NpadIdType::Player1);
auto* handheld = system.HIDCore().GetEmulatedController(Core::HID::NpadIdType::Handheld); auto* handheld = hid_core.GetEmulatedController(Core::HID::NpadIdType::Handheld);
// Display the correct controller // Display the correct controller
controller = handheld->IsConnected() ? handheld : player_1; controller = handheld->IsConnected() ? handheld : player_1;

View file

@ -15,11 +15,8 @@ namespace InputCommon {
class InputSubsystem; class InputSubsystem;
} }
namespace Core {
class System;
}
namespace Core::HID { namespace Core::HID {
class HIDCore;
class EmulatedController; class EmulatedController;
enum class ControllerTriggerType; enum class ControllerTriggerType;
} // namespace Core::HID } // namespace Core::HID
@ -28,7 +25,7 @@ class ControllerDialog : public QWidget {
Q_OBJECT Q_OBJECT
public: public:
explicit ControllerDialog(Core::System& system_, explicit ControllerDialog(Core::HID::HIDCore& hid_core_,
std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_, std::shared_ptr<InputCommon::InputSubsystem> input_subsystem_,
QWidget* parent = nullptr); QWidget* parent = nullptr);
@ -55,6 +52,6 @@ private:
QAction* toggle_view_action = nullptr; QAction* toggle_view_action = nullptr;
PlayerControlPreview* widget; PlayerControlPreview* widget;
Core::System& system; Core::HID::HIDCore& hid_core;
std::shared_ptr<InputCommon::InputSubsystem> input_subsystem; std::shared_ptr<InputCommon::InputSubsystem> input_subsystem;
}; };

View file

@ -927,7 +927,7 @@ void GMainWindow::InitializeDebugWidgets() {
waitTreeWidget->hide(); waitTreeWidget->hide();
debug_menu->addAction(waitTreeWidget->toggleViewAction()); debug_menu->addAction(waitTreeWidget->toggleViewAction());
controller_dialog = new ControllerDialog(*system, input_subsystem, this); controller_dialog = new ControllerDialog(system->HIDCore(), input_subsystem, this);
controller_dialog->hide(); controller_dialog->hide();
debug_menu->addAction(controller_dialog->toggleViewAction()); debug_menu->addAction(controller_dialog->toggleViewAction());
@ -2827,7 +2827,7 @@ void GMainWindow::OnConfigureTas() {
} }
void GMainWindow::OnConfigurePerGame() { void GMainWindow::OnConfigurePerGame() {
const u64 title_id = system->CurrentProcess()->GetTitleID(); const u64 title_id = system->GetCurrentProcessProgramID();
OpenPerGameConfiguration(title_id, game_path.toStdString()); OpenPerGameConfiguration(title_id, game_path.toStdString());
} }
@ -2926,7 +2926,7 @@ void GMainWindow::OnToggleFilterBar() {
} }
void GMainWindow::OnCaptureScreenshot() { void GMainWindow::OnCaptureScreenshot() {
const u64 title_id = system->CurrentProcess()->GetTitleID(); const u64 title_id = system->GetCurrentProcessProgramID();
const auto screenshot_path = const auto screenshot_path =
QString::fromStdString(Common::FS::GetYuzuPathString(Common::FS::YuzuPath::ScreenshotsDir)); QString::fromStdString(Common::FS::GetYuzuPathString(Common::FS::YuzuPath::ScreenshotsDir));
const auto date = const auto date =

View file

@ -28,7 +28,6 @@
#include "core/crypto/key_manager.h" #include "core/crypto/key_manager.h"
#include "core/file_sys/registered_cache.h" #include "core/file_sys/registered_cache.h"
#include "core/file_sys/vfs_real.h" #include "core/file_sys/vfs_real.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/filesystem/filesystem.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
#include "core/telemetry_session.h" #include "core/telemetry_session.h"
@ -203,7 +202,7 @@ int main(int argc, char** argv) {
if (Settings::values.use_disk_shader_cache.GetValue()) { if (Settings::values.use_disk_shader_cache.GetValue()) {
system.Renderer().ReadRasterizer()->LoadDiskResources( system.Renderer().ReadRasterizer()->LoadDiskResources(
system.CurrentProcess()->GetTitleID(), std::stop_token{}, system.GetCurrentProcessProgramID(), std::stop_token{},
[](VideoCore::LoadCallbackStage, size_t value, size_t total) {}); [](VideoCore::LoadCallbackStage, size_t value, size_t total) {});
} }