[Misc] Cleanup in Kernel

This commit is contained in:
Gliniak 2025-05-29 10:15:44 +02:00 committed by Radosław Gliński
parent 50492a951e
commit b864149575
101 changed files with 184 additions and 374 deletions

View file

@ -34,7 +34,7 @@ class Emulator;
namespace xe { namespace xe {
namespace gpu { namespace gpu {
static const std::vector<std::pair<uint16_t, uint16_t>> inline const std::vector<std::pair<uint16_t, uint16_t>>
internal_display_resolution_entries = { internal_display_resolution_entries = {
{640, 480}, {640, 576}, {720, 480}, {720, 576}, {800, 600}, {640, 480}, {640, 576}, {720, 480}, {720, 576}, {800, 600},
{848, 480}, {1024, 768}, {1152, 864}, {1280, 720}, {1280, 768}, {848, 480}, {1024, 768}, {1152, 864}, {1280, 720}, {1280, 768},

View file

@ -10,8 +10,6 @@
#include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_module.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/cpu/raw_module.h" #include "xenia/cpu/raw_module.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"

View file

@ -9,20 +9,12 @@
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include <string>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/assert.h"
#include "xenia/base/byte_stream.h" #include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/string.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/hid/input_system.h" #include "xenia/hid/input_system.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_module.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h"

View file

@ -10,17 +10,13 @@
#ifndef XENIA_KERNEL_KERNEL_STATE_H_ #ifndef XENIA_KERNEL_KERNEL_STATE_H_
#define XENIA_KERNEL_KERNEL_STATE_H_ #define XENIA_KERNEL_KERNEL_STATE_H_
#include <atomic>
#include <bitset> #include <bitset>
#include <condition_variable> #include <condition_variable>
#include <functional> #include <functional>
#include <list> #include <list>
#include <memory>
#include <vector> #include <vector>
#include "xenia/base/bit_map.h" #include "xenia/base/bit_map.h"
#include "xenia/base/cvar.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/backend/backend.h" #include "xenia/cpu/backend/backend.h"
#include "xenia/cpu/export_resolver.h" #include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/smc.h" #include "xenia/kernel/smc.h"
@ -33,9 +29,7 @@
#include "xenia/kernel/xam/user_profile.h" #include "xenia/kernel/xam/user_profile.h"
#include "xenia/kernel/xam/xam_state.h" #include "xenia/kernel/xam/xam_state.h"
#include "xenia/kernel/xam/xdbf/spa_info.h" #include "xenia/kernel/xam/xdbf/spa_info.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
#include "xenia/kernel/xevent.h" #include "xenia/kernel/xevent.h"
#include "xenia/memory.h"
#include "xenia/vfs/virtual_file_system.h" #include "xenia/vfs/virtual_file_system.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -16,19 +16,19 @@
namespace xe { namespace xe {
namespace kernel { namespace kernel {
static constexpr uint32_t kXN_2001 = 0x584E07D1; inline constexpr uint32_t kXN_2001 = 0x584E07D1;
static constexpr uint32_t kXN_2002 = 0x584E07D2; inline constexpr uint32_t kXN_2002 = 0x584E07D2;
static constexpr uint32_t kDashboardID = 0xFFFE07D1; inline constexpr uint32_t kDashboardID = 0xFFFE07D1;
static constexpr uint16_t GetGameId(const uint32_t title_id) { inline constexpr uint16_t GetGameId(const uint32_t title_id) {
return title_id >> 16; return title_id >> 16;
} }
static constexpr bool IsValidGameId(const uint32_t title_id) { inline constexpr bool IsValidGameId(const uint32_t title_id) {
return (title_id >> 16) != 0xFFFE; return (title_id >> 16) != 0xFFFE;
} }
static constexpr std::pair<char, char> GetTitlePublisher( inline constexpr std::pair<char, char> GetTitlePublisher(
const uint32_t title_id) { const uint32_t title_id) {
const char first_char = title_id >> 24; const char first_char = title_id >> 24;
const char second_char = (title_id >> 16) & 0xFF; const char second_char = (title_id >> 16) & 0xFF;
@ -36,13 +36,13 @@ static constexpr std::pair<char, char> GetTitlePublisher(
return {first_char, second_char}; return {first_char, second_char};
} }
static constexpr bool IsXboxTitle(const uint32_t title_id) { inline constexpr bool IsXboxTitle(const uint32_t title_id) {
const auto publisher = GetTitlePublisher(title_id); const auto publisher = GetTitlePublisher(title_id);
return publisher.first == 'X'; return publisher.first == 'X';
} }
static constexpr bool IsXblaTitle(const uint32_t title_id) { inline constexpr bool IsXblaTitle(const uint32_t title_id) {
const auto publisher = GetTitlePublisher(title_id); const auto publisher = GetTitlePublisher(title_id);
return publisher.first == 'X' && publisher.second == 'A'; return publisher.first == 'X' && publisher.second == 'A';
@ -51,18 +51,18 @@ static constexpr bool IsXblaTitle(const uint32_t title_id) {
static_assert(IsXblaTitle(0x5841127D)); // XBLA Game static_assert(IsXblaTitle(0x5841127D)); // XBLA Game
static_assert(!IsXblaTitle(0x4D5309C9)); // Non-XBLA Game static_assert(!IsXblaTitle(0x4D5309C9)); // Non-XBLA Game
static constexpr bool IsAppTitle(const uint32_t title_id) { inline constexpr bool IsAppTitle(const uint32_t title_id) {
const auto publisher = GetTitlePublisher(title_id); const auto publisher = GetTitlePublisher(title_id);
return publisher.first == 'X' && publisher.second == 'H' || return publisher.first == 'X' && publisher.second == 'H' ||
publisher.first == 'X' && publisher.second == 'J'; publisher.first == 'X' && publisher.second == 'J';
} }
static constexpr bool IsXNTitle(const uint32_t title_id) { inline constexpr bool IsXNTitle(const uint32_t title_id) {
return title_id == kXN_2001 || title_id == kXN_2002; return title_id == kXN_2001 || title_id == kXN_2002;
} }
static constexpr bool IsSystemExperienceTitle(const uint32_t title_id) { inline constexpr bool IsSystemExperienceTitle(const uint32_t title_id) {
if (IsAppTitle(title_id)) { if (IsAppTitle(title_id)) {
return true; return true;
} }
@ -70,7 +70,7 @@ static constexpr bool IsSystemExperienceTitle(const uint32_t title_id) {
return IsXNTitle(title_id); return IsXNTitle(title_id);
}; };
static constexpr bool IsSystemTitle(const uint32_t title_id) { inline constexpr bool IsSystemTitle(const uint32_t title_id) {
if (!title_id) { if (!title_id) {
return true; return true;
} }
@ -90,7 +90,7 @@ static_assert(IsSystemTitle(kDashboardID)); // Dashboard check
static_assert(!IsSystemTitle(0x4D5308BC)); // Non-XBLA Game static_assert(!IsSystemTitle(0x4D5308BC)); // Non-XBLA Game
static_assert(!IsSystemTitle(0x5841089A)); // XBLA Game static_assert(!IsSystemTitle(0x5841089A)); // XBLA Game
static constexpr bool IsOriginalXboxTitle(const uint32_t title_id) { inline constexpr bool IsOriginalXboxTitle(const uint32_t title_id) {
if (!IsValidGameId(title_id)) { if (!IsValidGameId(title_id)) {
return true; return true;
} }

View file

@ -15,11 +15,7 @@
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/xxhash.h" #include "xenia/base/xxhash.h"
#include "xenia/cpu/elf_module.h" #include "xenia/cpu/elf_module.h"
#include "xenia/cpu/processor.h"
#include "xenia/cpu/xex_module.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/kernel/xfile.h"
#include "xenia/kernel/xthread.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -6,10 +6,10 @@
* Released under the BSD license - see LICENSE in the root for more details. * * Released under the BSD license - see LICENSE in the root for more details. *
****************************************************************************** ******************************************************************************
*/ */
#include <algorithm> #include <algorithm>
#include "xenia/kernel/util/crypto_utils.h" #include "xenia/kernel/util/crypto_utils.h"
#include "xenia/xbox.h"
#include "third_party/crypto/TinySHA1.hpp" #include "third_party/crypto/TinySHA1.hpp"

View file

@ -7,7 +7,10 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/xbox.h" #ifndef XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_
#define XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_
#include <cstdint>
namespace xe { namespace xe {
namespace kernel { namespace kernel {
@ -26,3 +29,5 @@ void RC4(const uint8_t* key, uint32_t key_size_in, const uint8_t* data,
} // namespace util } // namespace util
} // namespace kernel } // namespace kernel
} // namespace xe } // namespace xe
#endif // XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_

View file

@ -22,8 +22,6 @@ GameInfoDatabase::GameInfoDatabase(const xam::SpaInfo* data) {
Init(data); Init(data);
} }
GameInfoDatabase::~GameInfoDatabase() {}
void GameInfoDatabase::Init(const xam::SpaInfo* data) { void GameInfoDatabase::Init(const xam::SpaInfo* data) {
spa_gamedata_ = std::make_unique<xam::SpaInfo>(*data); spa_gamedata_ = std::make_unique<xam::SpaInfo>(*data);
spa_gamedata_->Load(); spa_gamedata_->Load();

View file

@ -88,7 +88,7 @@ class GameInfoDatabase {
// Normally titles have at least XDBF file embedded into xex. There are // Normally titles have at least XDBF file embedded into xex. There are
// certain exceptions and that's why we need to check if it is even valid. // certain exceptions and that's why we need to check if it is even valid.
GameInfoDatabase(const xam::SpaInfo* data); GameInfoDatabase(const xam::SpaInfo* data);
~GameInfoDatabase(); ~GameInfoDatabase() = default;
bool IsValid() const { return is_valid_; } bool IsValid() const { return is_valid_; }

View file

@ -2,16 +2,16 @@
****************************************************************************** ******************************************************************************
* Xenia : Xbox 360 Emulator Research Project * * Xenia : Xbox 360 Emulator Research Project *
****************************************************************************** ******************************************************************************
* Copyright 2023 Xenia Canary. All rights reserved. * Released under the BSD * Copyright 2023 Xenia Canary. All rights reserved. *
*license - see LICENSE in the root for more details. * * Released under the BSD license - see LICENSE in the root for more details. *
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/kernel/util/guest_object_table.h" #include "xenia/kernel/util/guest_object_table.h"
#include "xenia/base/atomic.h"
#include "xenia/cpu/processor.h" #include "xenia/cpu/processor.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace util { namespace util {

View file

@ -2,16 +2,16 @@
****************************************************************************** ******************************************************************************
* Xenia : Xbox 360 Emulator Research Project * * Xenia : Xbox 360 Emulator Research Project *
****************************************************************************** ******************************************************************************
* Copyright 2023 Xenia Canary. All rights reserved. * Released under the BSD * Copyright 2023 Xenia Canary. All rights reserved. *
*license - see LICENSE in the root for more details. * * Released under the BSD license - see LICENSE in the root for more details. *
****************************************************************************** ******************************************************************************
*/ */
#ifndef XENIA_KERNEL_UTIL_GUEST_OBJECT_TABLE_H_ #ifndef XENIA_KERNEL_UTIL_GUEST_OBJECT_TABLE_H_
#define XENIA_KERNEL_UTIL_GUEST_OBJECT_TABLE_H_ #define XENIA_KERNEL_UTIL_GUEST_OBJECT_TABLE_H_
#include "xenia/kernel/kernel_state.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace util { namespace util {
@ -32,9 +32,9 @@ struct X_HANDLE_TABLE {
uint8_t unk_36; uint8_t unk_36;
uint8_t unk_38; uint8_t unk_38;
}; };
static_assert_size(X_HANDLE_TABLE, 0x38); static_assert_size(X_HANDLE_TABLE, 0x38);
/*
bool GrowHandleTable(uint32_t table_ptr, cpu::ppc::PPCContext* context); bool GrowHandleTable(uint32_t table_ptr, cpu::ppc::PPCContext* context);
uint32_t NewObjectHandle(uint32_t table_guest, uint32_t object_guest, uint32_t NewObjectHandle(uint32_t table_guest, uint32_t object_guest,
cpu::ppc::PPCContext* context); cpu::ppc::PPCContext* context);
@ -45,6 +45,8 @@ uint32_t LookupHandleUnlocked(X_HANDLE_TABLE* table, guest_handle_t handle,
cpu::ppc::PPCContext* context); cpu::ppc::PPCContext* context);
uint32_t LookupHandle(uint32_t table, guest_handle_t handle, uint32_t LookupHandle(uint32_t table, guest_handle_t handle,
uint32_t reference_object, cpu::ppc::PPCContext* context); uint32_t reference_object, cpu::ppc::PPCContext* context);
*/
} // namespace util } // namespace util
} // namespace kernel } // namespace kernel
} // namespace xe } // namespace xe

View file

@ -9,9 +9,6 @@
#include "xenia/kernel/util/object_table.h" #include "xenia/kernel/util/object_table.h"
#include <algorithm>
#include <cstring>
#include "xenia/base/byte_stream.h" #include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/kernel/xobject.h" #include "xenia/kernel/xobject.h"

View file

@ -8,7 +8,7 @@
*/ */
#include "xenia/kernel/util/presence_string_builder.h" #include "xenia/kernel/util/presence_string_builder.h"
#include "xenia/kernel/util/shim_utils.h" #include "third_party/fmt/include/fmt/format.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -14,7 +14,6 @@
#include <string> #include <string>
#include <type_traits> #include <type_traits>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/byte_order.h" #include "xenia/base/byte_order.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/memory.h" #include "xenia/base/memory.h"

View file

@ -639,7 +639,7 @@ struct X_IMAGE_EXPORT_DIRECTORY {
uint32_t AddressOfNameOrdinals; // RVA from base of image uint32_t AddressOfNameOrdinals; // RVA from base of image
}; };
const std::unordered_map<uint32_t, std::string> xex2_system_flags_map = { inline const std::unordered_map<uint32_t, std::string> xex2_system_flags_map = {
{XEX_SYSTEM_NO_FORCED_REBOOT, "XEX_SYSTEM_NO_FORCED_REBOOT"}, {XEX_SYSTEM_NO_FORCED_REBOOT, "XEX_SYSTEM_NO_FORCED_REBOOT"},
{XEX_SYSTEM_FOREGROUND_TASKS, "XEX_SYSTEM_FOREGROUND_TASKS"}, {XEX_SYSTEM_FOREGROUND_TASKS, "XEX_SYSTEM_FOREGROUND_TASKS"},
{XEX_SYSTEM_NO_ODD_MAPPING, "XEX_SYSTEM_NO_ODD_MAPPING"}, {XEX_SYSTEM_NO_ODD_MAPPING, "XEX_SYSTEM_NO_ODD_MAPPING"},

View file

@ -0,0 +1,64 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2025 Xenia Canary. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_KERNEL_UTIL_XFILETIME_H_
#define XENIA_KERNEL_UTIL_XFILETIME_H_
#include "xenia/base/byte_order.h"
#include "xenia/base/chrono.h"
namespace xe {
namespace kernel {
struct X_FILETIME {
static constexpr uint64_t minimal_valid_time = 125911584000000000;
static constexpr uint64_t maximal_valid_time = 157469184000000000;
xe::be<uint32_t> high_part;
xe::be<uint32_t> low_part;
X_FILETIME() {
high_part = 0;
low_part = 0;
}
X_FILETIME(uint64_t filetime) {
high_part = static_cast<uint32_t>(filetime >> 32);
low_part = static_cast<uint32_t>(filetime);
}
X_FILETIME(std::time_t time) {
const auto file_time =
chrono::WinSystemClock::to_file_time(chrono::WinSystemClock::from_sys(
std::chrono::system_clock::from_time_t(time)));
high_part = static_cast<uint32_t>(file_time >> 32);
low_part = static_cast<uint32_t>(file_time);
}
chrono::WinSystemClock::time_point to_time_point() const {
const uint64_t filetime =
(static_cast<uint64_t>(high_part) << 32) | low_part;
return chrono::WinSystemClock::from_file_time(filetime);
}
bool is_valid() const {
const uint64_t filetime =
(static_cast<uint64_t>(high_part) << 32) | low_part;
return filetime >= minimal_valid_time && filetime <= maximal_valid_time;
}
};
static_assert_size(X_FILETIME, 0x8);
} // namespace kernel
} // namespace xe
#endif

View file

@ -39,8 +39,6 @@ std::vector<uint32_t> XLastMatchmakingQuery::GetFilters() const {
return XLast::GetAllValuesFromNode(node_, "Filters", "left"); return XLast::GetAllValuesFromNode(node_, "Filters", "left");
} }
XLast::XLast() : parsed_xlast_(nullptr) {}
XLast::XLast(const uint8_t* compressed_xml_data, XLast::XLast(const uint8_t* compressed_xml_data,
const uint32_t compressed_data_size, const uint32_t compressed_data_size,
const uint32_t decompressed_data_size) { const uint32_t decompressed_data_size) {
@ -84,8 +82,6 @@ XLast::XLast(const uint8_t* compressed_xml_data,
xlast_decompressed_xml_.size()); xlast_decompressed_xml_.size());
} }
XLast::~XLast() {}
std::u16string XLast::GetTitleName() const { std::u16string XLast::GetTitleName() const {
std::string xpath = "/XboxLiveSubmissionProject/GameConfigProject"; std::string xpath = "/XboxLiveSubmissionProject/GameConfigProject";

View file

@ -32,7 +32,7 @@ enum class ProductInformationEntry {
GenreTypeString GenreTypeString
}; };
static const std::map<std::string, ProductInformationEntry> inline const std::map<std::string, ProductInformationEntry>
product_information_entry_string_to_enum = { product_information_entry_string_to_enum = {
{"offlinePlayersMax", ProductInformationEntry::MaxOfflinePlayers}, {"offlinePlayersMax", ProductInformationEntry::MaxOfflinePlayers},
{"systemLinkPlayersMax", ProductInformationEntry::MaxSystemLinkPlayers}, {"systemLinkPlayersMax", ProductInformationEntry::MaxSystemLinkPlayers},
@ -43,7 +43,7 @@ static const std::map<std::string, ProductInformationEntry>
{"genreTextStringId", ProductInformationEntry::GenreTypeString}, {"genreTextStringId", ProductInformationEntry::GenreTypeString},
}; };
static const std::map<XLanguage, std::string> language_mapping = { inline const std::map<XLanguage, std::string> language_mapping = {
{XLanguage::kEnglish, "en-US"}, {XLanguage::kJapanese, "ja-JP"}, {XLanguage::kEnglish, "en-US"}, {XLanguage::kJapanese, "ja-JP"},
{XLanguage::kGerman, "de-DE"}, {XLanguage::kFrench, "fr-FR"}, {XLanguage::kGerman, "de-DE"}, {XLanguage::kFrench, "fr-FR"},
{XLanguage::kSpanish, "es-ES"}, {XLanguage::kItalian, "it-IT"}, {XLanguage::kSpanish, "es-ES"}, {XLanguage::kItalian, "it-IT"},
@ -67,10 +67,10 @@ class XLastMatchmakingQuery {
class XLast { class XLast {
public: public:
XLast(); XLast() = default;
XLast(const uint8_t* compressed_xml_data, const uint32_t compressed_data_size, XLast(const uint8_t* compressed_xml_data, const uint32_t compressed_data_size,
const uint32_t decompressed_data_size); const uint32_t decompressed_data_size);
~XLast(); ~XLast() = default;
std::u16string GetTitleName() const; std::u16string GetTitleName() const;
std::map<ProductInformationEntry, uint32_t> GetProductInformationAttributes() std::map<ProductInformationEntry, uint32_t> GetProductInformationAttributes()

View file

@ -17,9 +17,6 @@ namespace xe {
namespace kernel { namespace kernel {
namespace xam { namespace xam {
GpdAchievementBackend::GpdAchievementBackend() {}
GpdAchievementBackend::~GpdAchievementBackend() {}
void GpdAchievementBackend::EarnAchievement(const uint64_t xuid, void GpdAchievementBackend::EarnAchievement(const uint64_t xuid,
const uint32_t title_id, const uint32_t title_id,
const uint32_t achievement_id) { const uint32_t achievement_id) {

View file

@ -25,8 +25,8 @@ namespace xam {
class GpdAchievementBackend : public AchievementBackendInterface { class GpdAchievementBackend : public AchievementBackendInterface {
public: public:
GpdAchievementBackend(); GpdAchievementBackend() = default;
~GpdAchievementBackend(); ~GpdAchievementBackend() = default;
void EarnAchievement(const uint64_t xuid, const uint32_t title_id, void EarnAchievement(const uint64_t xuid, const uint32_t title_id,
const uint32_t achievement_id) override; const uint32_t achievement_id) override;

View file

@ -15,10 +15,9 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "xenia/base/chrono.h" #include "xenia/kernel/util/xfiletime.h"
#include "xenia/kernel/xam/xdbf/gpd_info.h" #include "xenia/kernel/xam/xdbf/gpd_info.h"
#include "xenia/kernel/xam/xdbf/spa_info.h" #include "xenia/kernel/xam/xdbf/spa_info.h"
#include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/messenger_app.h" #include "xenia/kernel/xam/apps/messenger_app.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/threading.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/xam_app.h" #include "xenia/kernel/xam/apps/xam_app.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/threading.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/xam_content_device.h" #include "xenia/kernel/xam/xam_content_device.h"
#include "xenia/kernel/xenumerator.h" #include "xenia/kernel/xenumerator.h"

View file

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/xgi_app.h" #include "xenia/kernel/xam/apps/xgi_app.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/threading.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/apps/xlivebase_app.h" #include "xenia/kernel/xam/apps/xlivebase_app.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/threading.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -11,7 +11,6 @@
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/threading.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -10,13 +10,6 @@
#ifndef XENIA_KERNEL_XAM_APPS_XMP_APP_H_ #ifndef XENIA_KERNEL_XAM_APPS_XMP_APP_H_
#define XENIA_KERNEL_XAM_APPS_XMP_APP_H_ #define XENIA_KERNEL_XAM_APPS_XMP_APP_H_
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
#include <vector>
#include "xenia/base/mutex.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/app_manager.h" #include "xenia/kernel/xam/app_manager.h"

View file

@ -108,7 +108,9 @@ ProfileManager::ProfileManager(KernelState* kernel_state,
logged_profiles_.clear(); logged_profiles_.clear();
accounts_.clear(); accounts_.clear();
LoadAccounts(FindProfiles()); for (const auto account_xuid : FindProfiles()) {
LoadAccount(account_xuid);
}
if (!cvars::logged_profile_slot_0_xuid.empty()) { if (!cvars::logged_profile_slot_0_xuid.empty()) {
Login(xe::string_util::from_string<uint64_t>( Login(xe::string_util::from_string<uint64_t>(
@ -135,8 +137,6 @@ ProfileManager::ProfileManager(KernelState* kernel_state,
} }
} }
ProfileManager::~ProfileManager() {}
void ProfileManager::ReloadProfile(const uint64_t xuid) { void ProfileManager::ReloadProfile(const uint64_t xuid) {
if (accounts_.contains(xuid)) { if (accounts_.contains(xuid)) {
accounts_.erase(xuid); accounts_.erase(xuid);
@ -145,7 +145,11 @@ void ProfileManager::ReloadProfile(const uint64_t xuid) {
LoadAccount(xuid); LoadAccount(xuid);
} }
void ProfileManager::ReloadProfiles() { LoadAccounts(FindProfiles()); } void ProfileManager::ReloadProfiles() {
for (const auto account_xuid : FindProfiles()) {
LoadAccount(account_xuid);
}
}
UserProfile* ProfileManager::GetProfile(const uint64_t xuid) const { UserProfile* ProfileManager::GetProfile(const uint64_t xuid) const {
const uint8_t user_index = GetUserIndexAssignedToProfile(xuid); const uint8_t user_index = GetUserIndexAssignedToProfile(xuid);
@ -236,12 +240,6 @@ bool ProfileManager::LoadAccount(const uint64_t xuid) {
return true; return true;
} }
void ProfileManager::LoadAccounts(const std::vector<uint64_t> profiles_xuids) {
for (const auto& path : profiles_xuids) {
LoadAccount(path);
}
}
bool ProfileManager::MountProfile(const uint64_t xuid, std::string mount_path) { bool ProfileManager::MountProfile(const uint64_t xuid, std::string mount_path) {
std::filesystem::path profile_path = GetProfilePath(xuid); std::filesystem::path profile_path = GetProfilePath(xuid);
if (mount_path.empty()) { if (mount_path.empty()) {

View file

@ -39,7 +39,7 @@ namespace xe {
namespace kernel { namespace kernel {
namespace xam { namespace xam {
const static std::string kDashboardStringID = inline const std::string kDashboardStringID =
fmt::format("{:08X}", kDashboardID); fmt::format("{:08X}", kDashboardID);
constexpr std::string_view kDefaultMountFormat = "User_{:016X}"; constexpr std::string_view kDefaultMountFormat = "User_{:016X}";
@ -60,7 +60,7 @@ class ProfileManager {
// Loading Account means load basic data // Loading Account means load basic data
ProfileManager(KernelState* kernel_state, UserTracker* user_tracker); ProfileManager(KernelState* kernel_state, UserTracker* user_tracker);
~ProfileManager(); ~ProfileManager() = default;
bool CreateProfile(const std::string gamertag, bool autologin, bool CreateProfile(const std::string gamertag, bool autologin,
bool default_xuid = false); bool default_xuid = false);
@ -77,7 +77,6 @@ class ProfileManager {
void LoginMultiple(const std::map<uint8_t, uint64_t>& profiles); void LoginMultiple(const std::map<uint8_t, uint64_t>& profiles);
bool LoadAccount(const uint64_t xuid); bool LoadAccount(const uint64_t xuid);
void LoadAccounts(const std::vector<uint64_t> profiles_xuids);
void ReloadProfiles(); void ReloadProfiles();
void ReloadProfile(const uint64_t xuid); void ReloadProfile(const uint64_t xuid);

View file

@ -27,6 +27,8 @@ class CreateProfileUI final : public XamDialog {
memset(gamertag_, 0, sizeof(gamertag_)); memset(gamertag_, 0, sizeof(gamertag_));
} }
~CreateProfileUI() = default;
private: private:
void OnDraw(ImGuiIO& io) override; void OnDraw(ImGuiIO& io) override;

View file

@ -46,6 +46,8 @@ class GamercardUI final : public XamDialog {
GamercardUI(xe::ui::Window* window, xe::ui::ImGuiDrawer* imgui_drawer, GamercardUI(xe::ui::Window* window, xe::ui::ImGuiDrawer* imgui_drawer,
KernelState* kernel_state, uint64_t xuid); KernelState* kernel_state, uint64_t xuid);
~GamercardUI() = default;
private: private:
void OnDraw(ImGuiIO& io) override; void OnDraw(ImGuiIO& io) override;
void DrawBaseSettings(ImGuiIO& io); void DrawBaseSettings(ImGuiIO& io);

View file

@ -22,12 +22,7 @@ class ProfilePasscodeUI final : public XamDialog {
ProfilePasscodeUI(xe::ui::ImGuiDrawer* imgui_drawer, std::string_view title, ProfilePasscodeUI(xe::ui::ImGuiDrawer* imgui_drawer, std::string_view title,
std::string_view description, std::string_view description,
MESSAGEBOX_RESULT* result_ptr); MESSAGEBOX_RESULT* result_ptr);
~ProfilePasscodeUI() = default;
void DrawPasscodeField(uint8_t key_id);
void OnDraw(ImGuiIO& io) override;
virtual ~ProfilePasscodeUI() {}
bool SelectedSignedIn() const { return selected_signed_in_; } bool SelectedSignedIn() const { return selected_signed_in_; }
@ -48,6 +43,10 @@ class ProfilePasscodeUI final : public XamDialog {
{"Left", DPAD_LEFT_PASSCODE}, {"Left", DPAD_LEFT_PASSCODE},
{"Right", DPAD_RIGHT_PASSCODE}}; {"Right", DPAD_RIGHT_PASSCODE}};
void OnDraw(ImGuiIO& io) override;
void DrawPasscodeField(uint8_t key_id);
bool has_opened_ = false; bool has_opened_ = false;
bool selected_signed_in_ = false; bool selected_signed_in_ = false;
std::string title_; std::string title_;

View file

@ -22,6 +22,8 @@ class SigninUI final : public XamDialog {
SigninUI(xe::ui::ImGuiDrawer* imgui_drawer, ProfileManager* profile_manager, SigninUI(xe::ui::ImGuiDrawer* imgui_drawer, ProfileManager* profile_manager,
uint32_t last_used_slot, uint32_t users_needed); uint32_t last_used_slot, uint32_t users_needed);
~SigninUI() = default;
private: private:
void OnDraw(ImGuiIO& io) override; void OnDraw(ImGuiIO& io) override;

View file

@ -22,9 +22,9 @@ class TitleListUI final : public XamDialog {
TitleListUI(xe::ui::ImGuiDrawer* imgui_drawer, const ImVec2 drawing_position, TitleListUI(xe::ui::ImGuiDrawer* imgui_drawer, const ImVec2 drawing_position,
const UserProfile* profile); const UserProfile* profile);
private:
~TitleListUI(); ~TitleListUI();
private:
void OnDraw(ImGuiIO& io) override; void OnDraw(ImGuiIO& io) override;
void LoadProfileTitleList(xe::ui::ImGuiDrawer* imgui_drawer, void LoadProfileTitleList(xe::ui::ImGuiDrawer* imgui_drawer,

View file

@ -15,9 +15,6 @@ namespace xe {
namespace kernel { namespace kernel {
namespace xam { namespace xam {
UserData::UserData() {}
UserData::~UserData() {}
UserData::UserData(const UserData& user_data) { UserData::UserData(const UserData& user_data) {
data_ = user_data.data_; data_ = user_data.data_;
extended_data_ = user_data.extended_data_; extended_data_ = user_data.extended_data_;

View file

@ -14,6 +14,7 @@
#include <variant> #include <variant>
#include <vector> #include <vector>
#include "xenia/base/string_util.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
namespace xe { namespace xe {
@ -175,9 +176,7 @@ class UserData {
} }
protected: protected:
~UserData(); UserData() = default;
UserData();
UserData(const UserData& user_data); UserData(const UserData& user_data);
// From host // From host
@ -193,6 +192,8 @@ class UserData {
UserData(const X_USER_DATA_TYPE data_type, const X_USER_DATA_UNION* user_data, UserData(const X_USER_DATA_TYPE data_type, const X_USER_DATA_UNION* user_data,
std::span<const uint8_t> extended_data); std::span<const uint8_t> extended_data);
~UserData() = default;
X_USER_DATA data_ = {}; X_USER_DATA data_ = {};
std::vector<uint8_t> extended_data_ = {}; std::vector<uint8_t> extended_data_ = {};
}; };

View file

@ -10,7 +10,6 @@
#include "xenia/kernel/xam/user_profile.h" #include "xenia/kernel/xam/user_profile.h"
#include <ranges> #include <ranges>
#include <sstream>
#include "third_party/fmt/include/fmt/format.h" #include "third_party/fmt/include/fmt/format.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
@ -21,7 +20,8 @@ namespace xe {
namespace kernel { namespace kernel {
namespace xam { namespace xam {
UserProfile::UserProfile(uint64_t xuid, X_XAMACCOUNTINFO* account_info) UserProfile::UserProfile(const uint64_t xuid,
const X_XAMACCOUNTINFO* account_info)
: xuid_(xuid), account_info_(*account_info), profile_images_() { : xuid_(xuid), account_info_(*account_info), profile_images_() {
// 58410A1F checks the user XUID against a mask of 0x00C0000000000000 (3<<54), // 58410A1F checks the user XUID against a mask of 0x00C0000000000000 (3<<54),
// if non-zero, it prevents the user from playing the game. // if non-zero, it prevents the user from playing the game.

View file

@ -74,7 +74,7 @@ enum class XTileType {
}; };
// TODO: find filenames of other tile types that are stored in profile // TODO: find filenames of other tile types that are stored in profile
static const std::map<XTileType, std::string> kTileFileNames = { inline const std::map<XTileType, std::string> kTileFileNames = {
{XTileType::kGamerTile, "tile_64.png"}, {XTileType::kGamerTile, "tile_64.png"},
{XTileType::kGamerTileSmall, "tile_32.png"}, {XTileType::kGamerTileSmall, "tile_32.png"},
{XTileType::kPersonalGamerTile, "tile_64.png"}, {XTileType::kPersonalGamerTile, "tile_64.png"},
@ -88,7 +88,7 @@ static constexpr std::pair<uint16_t, uint16_t> kProfileIconSizeSmall = {32, 32};
class UserProfile { class UserProfile {
public: public:
UserProfile(uint64_t xuid, X_XAMACCOUNTINFO* account_info); UserProfile(const uint64_t xuid, const X_XAMACCOUNTINFO* account_info);
uint64_t xuid() const { return xuid_; } uint64_t xuid() const { return xuid_; }
std::string name() const { return account_info_.GetGamertagString(); } std::string name() const { return account_info_.GetGamertagString(); }

View file

@ -15,8 +15,6 @@ namespace xe {
namespace kernel { namespace kernel {
namespace xam { namespace xam {
Property::Property() : UserData() {};
Property::Property(const Property& property) Property::Property(const Property& property)
: UserData(property), property_id_(property.property_id_) {} : UserData(property), property_id_(property.property_id_) {}
@ -43,8 +41,6 @@ Property::Property(std::span<const uint8_t> serialized_data)
*reinterpret_cast<const uint32_t*>(serialized_data.data()); *reinterpret_cast<const uint32_t*>(serialized_data.data());
} }
Property::~Property() {};
std::vector<uint8_t> Property::Serialize() const { std::vector<uint8_t> Property::Serialize() const {
std::vector<uint8_t> serialized_property( std::vector<uint8_t> serialized_property(
sizeof(AttributeKey) + sizeof(X_USER_DATA) + extended_data_.size()); sizeof(AttributeKey) + sizeof(X_USER_DATA) + extended_data_.size());

View file

@ -35,7 +35,7 @@ static_assert_size(XUSER_PROPERTY, 0x18);
class Property : public UserData { class Property : public UserData {
public: public:
Property(); Property() = default;
Property(const Property& property); Property(const Property& property);
Property(uint32_t property_id, UserDataTypes property_data); Property(uint32_t property_id, UserDataTypes property_data);
@ -44,7 +44,8 @@ class Property : public UserData {
// Ctor used for deserialization // Ctor used for deserialization
Property(const uint8_t* serialized_data, size_t data_size); Property(const uint8_t* serialized_data, size_t data_size);
Property(std::span<const uint8_t> serialized_data); Property(std::span<const uint8_t> serialized_data);
~Property();
~Property() = default;
const AttributeKey GetPropertyId() const { return property_id_; } const AttributeKey GetPropertyId() const { return property_id_; }

View file

@ -27,11 +27,6 @@ const static std::array<UserSetting, 3> default_setting_values = {
UserSettingId::XPROFILE_GAMERCARD_PICTURE_KEY, UserSettingId::XPROFILE_GAMERCARD_PICTURE_KEY,
xe::string_util::read_u16string_and_swap(u"gamercard_picture_key"))}; xe::string_util::read_u16string_and_swap(u"gamercard_picture_key"))};
UserSetting::UserSetting(UserSetting& setting) : UserData(setting) {
setting_id_ = setting.setting_id_;
setting_source_ = setting.setting_source_;
}
UserSetting::UserSetting(const UserSetting& setting) : UserData(setting) { UserSetting::UserSetting(const UserSetting& setting) : UserData(setting) {
setting_id_ = setting.setting_id_; setting_id_ = setting.setting_id_;
setting_source_ = setting.setting_source_; setting_source_ = setting.setting_source_;

View file

@ -267,7 +267,7 @@ enum class UserSettingId : uint32_t {
0x4F), // 0x7008004F, named "LastOnLIVE" in Velocity 0x4F), // 0x7008004F, named "LastOnLIVE" in Velocity
}; };
constexpr static std::array<UserSettingId, 104> known_settings = { inline constexpr std::array<UserSettingId, 104> known_settings = {
UserSettingId::XPROFILE_PERMISSIONS, UserSettingId::XPROFILE_PERMISSIONS,
UserSettingId::XPROFILE_GAMER_TYPE, UserSettingId::XPROFILE_GAMER_TYPE,
UserSettingId::XPROFILE_GAMER_YAXIS_INVERSION, UserSettingId::XPROFILE_GAMER_YAXIS_INVERSION,
@ -374,7 +374,7 @@ constexpr static std::array<UserSettingId, 104> known_settings = {
UserSettingId::XPROFILE_LAST_LIVE_SIGNIN, UserSettingId::XPROFILE_LAST_LIVE_SIGNIN,
}; };
const static std::set<UserSettingId> title_writable_settings = { inline const std::set<UserSettingId> title_writable_settings = {
UserSettingId::XPROFILE_TITLE_SPECIFIC1, UserSettingId::XPROFILE_TITLE_SPECIFIC1,
UserSettingId::XPROFILE_TITLE_SPECIFIC2, UserSettingId::XPROFILE_TITLE_SPECIFIC2,
UserSettingId::XPROFILE_TITLE_SPECIFIC3}; UserSettingId::XPROFILE_TITLE_SPECIFIC3};
@ -447,7 +447,6 @@ enum ACCELERATOR_CONTROL_OPTIONS : uint8_t {
class UserSetting : public UserData { class UserSetting : public UserData {
public: public:
UserSetting(UserSetting& setting);
UserSetting(const UserSetting& setting); UserSetting(const UserSetting& setting);
// Ctor for writing from host // Ctor for writing from host
UserSetting(UserSettingId setting_id, UserDataTypes setting_data); UserSetting(UserSettingId setting_id, UserDataTypes setting_data);

View file

@ -28,8 +28,6 @@ DECLARE_int32(user_language);
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace xam { namespace xam {
UserTracker::UserTracker() : spa_data_(nullptr) {}
UserTracker::~UserTracker() {}
bool UserTracker::AddUser(uint64_t xuid) { bool UserTracker::AddUser(uint64_t xuid) {
if (IsUserTracked(xuid)) { if (IsUserTracked(xuid)) {

View file

@ -45,8 +45,8 @@ struct TitleInfo {
class UserTracker { class UserTracker {
public: public:
UserTracker(); UserTracker() = default;
~UserTracker(); ~UserTracker() = default;
// UserTracker specific methods // UserTracker specific methods
bool AddUser(uint64_t xuid); bool AddUser(uint64_t xuid);
@ -115,7 +115,7 @@ class UserTracker {
void FlushUserData(const uint64_t xuid); void FlushUserData(const uint64_t xuid);
SpaInfo* spa_data_; SpaInfo* spa_data_ = nullptr;
std::set<uint64_t> tracked_xuids_; std::set<uint64_t> tracked_xuids_;
}; };

View file

@ -16,10 +16,6 @@
#include "xenia/kernel/xenumerator.h" #include "xenia/kernel/xenumerator.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
#if XE_PLATFORM_WIN32
#include "xenia/base/platform_win.h"
#endif
#include "third_party/fmt/include/fmt/format.h" #include "third_party/fmt/include/fmt/format.h"
namespace xe { namespace xe {

View file

@ -7,8 +7,6 @@
****************************************************************************** ******************************************************************************
*/ */
#include <xenia/kernel/xboxkrnl/xboxkrnl_error.h>
#include <xenia/kernel/xboxkrnl/xboxkrnl_modules.h>
#include "xenia/base/cvar.h" #include "xenia/base/cvar.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/string_util.h" #include "xenia/base/string_util.h"
@ -18,7 +16,9 @@
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_module.h" #include "xenia/kernel/xam/xam_module.h"
#include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_error.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_modules.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xenumerator.h" #include "xenia/kernel/xenumerator.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"

View file

@ -15,7 +15,6 @@
#include "xenia/cpu/export_resolver.h" #include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/xam_ordinals.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -7,9 +7,6 @@
****************************************************************************** ******************************************************************************
*/ */
#include <cstring>
#include "xenia/base/clock.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"

View file

@ -7,7 +7,6 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xam/xam_private.h"

View file

@ -11,7 +11,6 @@
#define XENIA_KERNEL_XAM_XAM_PRIVATE_H_ #define XENIA_KERNEL_XAM_XAM_PRIVATE_H_
#include "xenia/cpu/export_resolver.h" #include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xam/xam_ordinals.h" #include "xenia/kernel/xam/xam_ordinals.h"
namespace xe { namespace xe {

View file

@ -33,12 +33,6 @@ XamState::XamState(Emulator* emulator, KernelState* kernel_state)
AppManager::RegisterApps(kernel_state, app_manager_.get()); AppManager::RegisterApps(kernel_state, app_manager_.get());
} }
XamState::~XamState() {
app_manager_.reset();
achievement_manager_.reset();
content_manager_.reset();
}
UserProfile* XamState::GetUserProfile(uint32_t user_index) const { UserProfile* XamState::GetUserProfile(uint32_t user_index) const {
if (user_index >= XUserMaxUserCount && user_index < XUserIndexLatest) { if (user_index >= XUserMaxUserCount && user_index < XUserIndexLatest) {
return nullptr; return nullptr;

View file

@ -34,7 +34,7 @@ namespace xam {
class XamState { class XamState {
public: public:
XamState(Emulator* emulator, KernelState* kernel_state); XamState(Emulator* emulator, KernelState* kernel_state);
~XamState(); ~XamState() = default;
AppManager* app_manager() const { return app_manager_.get(); } AppManager* app_manager() const { return app_manager_.get(); }
ContentManager* content_manager() const { return content_manager_.get(); } ContentManager* content_manager() const { return content_manager_.get(); }

View file

@ -8,20 +8,13 @@
*/ */
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/string_util.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_module.h"
#include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
#if XE_PLATFORM_WIN32
#include "xenia/base/platform_win.h"
#endif
#include "third_party/fmt/include/fmt/format.h" #include "third_party/fmt/include/fmt/format.h"
namespace xe { namespace xe {

View file

@ -8,15 +8,12 @@
*/ */
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/string_util.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/user_profile.h" #include "xenia/kernel/xam/user_profile.h"
#include "xenia/kernel/xam/user_settings.h" #include "xenia/kernel/xam/user_settings.h"
#include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xenumerator.h" #include "xenia/kernel/xenumerator.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
#include "third_party/stb/stb_image.h" #include "third_party/stb/stb_image.h"

View file

@ -7,12 +7,9 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xam/xam_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_video.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_video.h"
#include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
@ -20,7 +17,7 @@ namespace xam {
void XGetVideoMode_entry(pointer_t<X_VIDEO_MODE> video_mode) { void XGetVideoMode_entry(pointer_t<X_VIDEO_MODE> video_mode) {
// TODO(benvanik): actually check to see if these are the same. // TODO(benvanik): actually check to see if these are the same.
xboxkrnl::VdQueryVideoMode(std::move(video_mode)); xboxkrnl::VdQueryVideoMode(video_mode);
} }
DECLARE_XAM_EXPORT1(XGetVideoMode, kVideo, ExportTag::kSketchy); DECLARE_XAM_EXPORT1(XGetVideoMode, kVideo, ExportTag::kSketchy);

View file

@ -7,8 +7,6 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xam/xam_private.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -10,14 +10,14 @@
#ifndef XENIA_KERNEL_XAM_XDBF_GPD_INFO_H_ #ifndef XENIA_KERNEL_XAM_XDBF_GPD_INFO_H_
#define XENIA_KERNEL_XAM_XDBF_GPD_INFO_H_ #define XENIA_KERNEL_XAM_XDBF_GPD_INFO_H_
#include "xenia/kernel/xam/user_data.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
#include <span> #include <span>
#include <string> #include <string>
#include <vector> #include <vector>
#include "xenia/xbox.h" #include "xenia/base/byte_order.h"
#include "xenia/kernel/util/xfiletime.h"
#include "xenia/kernel/xam/user_data.h"
#include "xenia/kernel/xam/xdbf/xdbf_io.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
@ -111,6 +111,8 @@ class GpdInfo : public XdbfFile {
GpdInfo(const uint32_t title_id); GpdInfo(const uint32_t title_id);
GpdInfo(const uint32_t title_id, const std::vector<uint8_t> buffer); GpdInfo(const uint32_t title_id, const std::vector<uint8_t> buffer);
~GpdInfo() = default;
// Normally GPD ALWAYS contains one free entry that indicates EOF // Normally GPD ALWAYS contains one free entry that indicates EOF
bool IsValid() const { return !free_entries_.empty(); } bool IsValid() const { return !free_entries_.empty(); }
// r/w image, setting, string. // r/w image, setting, string.

View file

@ -29,7 +29,7 @@ class GpdInfoProfile : public GpdInfo {
GpdInfoProfile(const std::vector<uint8_t> buffer) GpdInfoProfile(const std::vector<uint8_t> buffer)
: GpdInfo(kDashboardID, buffer) {}; : GpdInfo(kDashboardID, buffer) {};
~GpdInfoProfile() {}; ~GpdInfoProfile() = default;
void AddNewTitle(const SpaInfo* title_data); void AddNewTitle(const SpaInfo* title_data);
void UpdateTitleInfo(const uint32_t title_id, void UpdateTitleInfo(const uint32_t title_id,

View file

@ -32,7 +32,7 @@ class GpdInfoTitle : public GpdInfo {
GpdInfoTitle(const uint32_t title_id, const std::vector<uint8_t> buffer) GpdInfoTitle(const uint32_t title_id, const std::vector<uint8_t> buffer)
: GpdInfo(title_id, buffer) {}; : GpdInfo(title_id, buffer) {};
~GpdInfoTitle() {}; ~GpdInfoTitle() = default;
std::vector<uint32_t> GetAchievementsIds() const; std::vector<uint32_t> GetAchievementsIds() const;

View file

@ -130,6 +130,7 @@ static_assert_size(AchievementTableEntry, 0x24);
class SpaInfo : public XdbfFile { class SpaInfo : public XdbfFile {
public: public:
SpaInfo(const std::span<uint8_t> buffer); SpaInfo(const std::span<uint8_t> buffer);
~SpaInfo() = default;
void Load(); void Load();

View file

@ -163,9 +163,11 @@ struct Entry {
// https://free60project.github.io/wiki/XDBF.html // https://free60project.github.io/wiki/XDBF.html
class XdbfFile { class XdbfFile {
public: public:
XdbfFile() {}; XdbfFile() = default;
XdbfFile(const std::span<const uint8_t> buffer); XdbfFile(const std::span<const uint8_t> buffer);
~XdbfFile() = default;
const Entry* const GetEntry(uint16_t section, uint64_t id) const; const Entry* const GetEntry(uint16_t section, uint64_t id) const;
protected: protected:

View file

@ -7,21 +7,11 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include <vector>
#include "xenia/base/clock.h"
#include "xenia/base/debugging.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/ppc/ppc_context.h" #include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -10,11 +10,7 @@
#ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_ #ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_
#define XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_ #define XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_
#include <memory>
#include "xenia/base/threading.h"
#include "xenia/cpu/export_resolver.h" #include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
namespace xe { namespace xe {

View file

@ -7,22 +7,13 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include <vector>
#include "xenia/base/clock.h"
#include "xenia/base/debugging.h" #include "xenia/base/debugging.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/ppc/ppc_context.h" #include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
DECLARE_bool(kernel_pix); DECLARE_bool(kernel_pix);

View file

@ -10,11 +10,7 @@
#ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_ #ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_
#define XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_ #define XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_
#include <memory>
#include "xenia/base/threading.h"
#include "xenia/cpu/export_resolver.h" #include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
namespace xe { namespace xe {

View file

@ -8,7 +8,6 @@
*/ */
#include "xenia/apu/audio_system.h" #include "xenia/apu/audio_system.h"
#include "xenia/base/logging.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"

View file

@ -7,11 +7,8 @@
****************************************************************************** ******************************************************************************
*/ */
#include <cstring>
#include "xenia/apu/audio_system.h" #include "xenia/apu/audio_system.h"
#include "xenia/apu/xma_decoder.h" #include "xenia/apu/xma_decoder.h"
#include "xenia/base/assert.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"

View file

@ -13,7 +13,6 @@
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -7,17 +7,12 @@
****************************************************************************** ******************************************************************************
*/ */
#include <algorithm> #include "xenia/kernel/xboxkrnl/xboxkrnl_error.h"
#include "xenia/base/atomic.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/string.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_error.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -10,8 +10,7 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_
#include "xenia/kernel/util/shim_utils.h" #include <cstdint>
#include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -7,11 +7,8 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -8,9 +8,6 @@
*/ */
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/memory.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/info/file.h" #include "xenia/kernel/info/file.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"

View file

@ -8,19 +8,12 @@
*/ */
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/memory.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/info/file.h" #include "xenia/kernel/info/file.h"
#include "xenia/kernel/info/volume.h" #include "xenia/kernel/info/volume.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xfile.h" #include "xenia/kernel/xfile.h"
#include "xenia/kernel/xiocompletion.h"
#include "xenia/kernel/xsymboliclink.h"
#include "xenia/kernel/xthread.h"
#include "xenia/vfs/device.h" #include "xenia/vfs/device.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -7,14 +7,10 @@
****************************************************************************** ******************************************************************************
*/ */
#include <cstring> #include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/base/assert.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -15,7 +15,6 @@
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace xboxkrnl { namespace xboxkrnl {
uint32_t xeMmAllocatePhysicalMemoryEx(uint32_t flags, uint32_t region_size, uint32_t xeMmAllocatePhysicalMemoryEx(uint32_t flags, uint32_t region_size,

View file

@ -7,14 +7,11 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/base/logging.h"
#include "xenia/cpu/ppc/ppc_frontend.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace xboxkrnl { namespace xboxkrnl {

View file

@ -9,22 +9,12 @@
#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_module.h"
#include <vector>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/clock.h"
#include "xenia/base/debugging.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/cpu/processor.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/xboxkrnl/cert_monitor.h" #include "xenia/kernel/xboxkrnl/cert_monitor.h"
#include "xenia/kernel/xboxkrnl/debug_monitor.h" #include "xenia/kernel/xboxkrnl/debug_monitor.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
DEFINE_string(cl, "", "Specify additional command-line provided to guest.", DEFINE_string(cl, "", "Specify additional command-line provided to guest.",
"Kernel"); "Kernel");

View file

@ -10,9 +10,6 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_
#include <memory>
#include "xenia/base/threading.h"
#include "xenia/cpu/export_resolver.h" #include "xenia/cpu/export_resolver.h"
#include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_module.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"

View file

@ -7,13 +7,11 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xboxkrnl_modules.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_modules.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/util/xex2_info.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -8,19 +8,14 @@
*/ */
#include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h"
#include "xenia/base/assert.h"
#include "xenia/base/atomic.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/utf8.h"
#include "xenia/cpu/processor.h" #include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xobject.h"
#include "xenia/kernel/xsemaphore.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace xboxkrnl { namespace xboxkrnl {

View file

@ -10,11 +10,15 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_OB_H_ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_OB_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_OB_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_OB_H_
#include "xenia/kernel/util/shim_utils.h" #include "xenia/cpu/ppc/ppc_context.h"
#include "xenia/xbox.h"
using PPCContext = xe::cpu::ppc::PPCContext;
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace xboxkrnl { namespace xboxkrnl {
void xeObDereferenceObject(PPCContext* context, uint32_t native_ptr); void xeObDereferenceObject(PPCContext* context, uint32_t native_ptr);
void xeObSplitName(X_ANSI_STRING input_string, void xeObSplitName(X_ANSI_STRING input_string,
X_ANSI_STRING* leading_path_component, X_ANSI_STRING* leading_path_component,

View file

@ -9,22 +9,15 @@
#include "xenia/kernel/xboxkrnl/xboxkrnl_rtl.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_rtl.h"
#include <algorithm>
#include <string>
#include "xenia/base/atomic.h" #include "xenia/base/atomic.h"
#include "xenia/base/chrono.h"
#include "xenia/base/logging.h"
#include "xenia/base/pe_image.h" #include "xenia/base/pe_image.h"
#include "xenia/base/string.h"
#include "xenia/base/threading.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
namespace xboxkrnl { namespace xboxkrnl {

View file

@ -7,17 +7,8 @@
****************************************************************************** ******************************************************************************
*/ */
#include <cstring>
#include <iomanip>
#include <sstream>
#include <string>
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xthread.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
DEFINE_bool(log_string_format_kernel_calls, false, DEFINE_bool(log_string_format_kernel_calls, false,

View file

@ -8,21 +8,12 @@
*/ */
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include <algorithm>
#include <vector>
#include "xenia/base/atomic.h" #include "xenia/base/atomic.h"
#include "xenia/base/clock.h" #include "xenia/base/clock.h"
#include "xenia/base/logging.h"
#include "xenia/base/mutex.h"
#include "xenia/cpu/processor.h" #include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xmutant.h"
#include "xenia/kernel/xsemaphore.h" #include "xenia/kernel/xsemaphore.h"
#include "xenia/kernel/xthread.h"
#include "xenia/kernel/xtimer.h" #include "xenia/kernel/xtimer.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -7,8 +7,6 @@
****************************************************************************** ******************************************************************************
*/ */
#include "xenia/base/logging.h"
#include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -12,8 +12,6 @@
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/gpu/graphics_system.h" #include "xenia/gpu/graphics_system.h"
#include "xenia/gpu/texture_info.h"
#include "xenia/gpu/xenos.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"

View file

@ -10,7 +10,6 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_
#include "xenia/kernel/util/shim_utils.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
namespace xe { namespace xe {

View file

@ -9,9 +9,7 @@
#include "xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -10,8 +10,8 @@
#ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_
#define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_
#include "xenia/kernel/util/shim_utils.h" #include <cstdint>
#include "xenia/xbox.h" #include <map>
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -10,14 +10,11 @@
#ifndef XENIA_KERNEL_XENUMERATOR_H_ #ifndef XENIA_KERNEL_XENUMERATOR_H_
#define XENIA_KERNEL_XENUMERATOR_H_ #define XENIA_KERNEL_XENUMERATOR_H_
#include <algorithm>
#include <cstring>
#include <vector> #include <vector>
#include "xenia/kernel/xam/achievement_manager.h" #include "xenia/kernel/xam/achievement_manager.h"
#include "xenia/kernel/xam/user_tracker.h" #include "xenia/kernel/xam/user_tracker.h"
#include "xenia/kernel/xobject.h" #include "xenia/kernel/xobject.h"
#include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -11,12 +11,7 @@
#include "xenia/vfs/virtual_file_system.h" #include "xenia/vfs/virtual_file_system.h"
#include "xenia/base/byte_stream.h" #include "xenia/base/byte_stream.h"
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/mutex.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/xevent.h"
#include "xenia/memory.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {
@ -300,8 +295,8 @@ void XFile::RemoveIOCompletionPort(uint32_t key) {
} }
bool XFile::Save(ByteStream* stream) { bool XFile::Save(ByteStream* stream) {
XELOGD("XFile {:08X} ({})", handle(), // XELOGD("XFile {:08X} ({})", handle(),
file_->entry()->absolute_path().c_str()); // file_->entry()->absolute_path().c_str());
if (!SaveObject(stream)) { if (!SaveObject(stream)) {
return false; return false;
@ -332,7 +327,7 @@ object_ref<XFile> XFile::Restore(KernelState* kernel_state,
auto is_directory = stream->Read<bool>(); auto is_directory = stream->Read<bool>();
auto is_synchronous = stream->Read<bool>(); auto is_synchronous = stream->Read<bool>();
XELOGD("XFile {:08X} ({})", file->handle(), abs_path); // XELOGD("XFile {:08X} ({})", file->handle(), abs_path);
vfs::File* vfs_file = nullptr; vfs::File* vfs_file = nullptr;
vfs::FileAction action; vfs::FileAction action;
@ -340,7 +335,7 @@ object_ref<XFile> XFile::Restore(KernelState* kernel_state,
nullptr, abs_path, vfs::FileDisposition::kOpen, access, is_directory, nullptr, abs_path, vfs::FileDisposition::kOpen, access, is_directory,
false, &vfs_file, &action); false, &vfs_file, &action);
if (XFAILED(res)) { if (XFAILED(res)) {
XELOGE("Failed to open XFile: error {:08X}", res); // XELOGE("Failed to open XFile: error {:08X}", res);
return object_ref<XFile>(file); return object_ref<XFile>(file);
} }

View file

@ -12,9 +12,7 @@
#include <string> #include <string>
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xiocompletion.h" #include "xenia/kernel/xiocompletion.h"
#include "xenia/kernel/xobject.h"
#include "xenia/vfs/device.h" #include "xenia/vfs/device.h"
#include "xenia/vfs/entry.h" #include "xenia/vfs/entry.h"
#include "xenia/vfs/file.h" #include "xenia/vfs/file.h"

View file

@ -12,7 +12,6 @@
#include <vector> #include <vector>
#include "xenia/base/byte_stream.h" #include "xenia/base/byte_stream.h"
#include "xenia/base/clock.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/util/shim_utils.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h"

View file

@ -14,6 +14,7 @@
#include "xenia/kernel/xobject.h" #include "xenia/kernel/xobject.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"
namespace xe { namespace xe {
namespace kernel { namespace kernel {

View file

@ -14,7 +14,6 @@
#include <queue> #include <queue>
#include "xenia/base/byte_order.h" #include "xenia/base/byte_order.h"
#include "xenia/base/math.h"
#include "xenia/kernel/xobject.h" #include "xenia/kernel/xobject.h"
namespace xe { namespace xe {

View file

@ -10,11 +10,6 @@
#ifndef XENIA_KERNEL_XSYMBOLICLINK_H_ #ifndef XENIA_KERNEL_XSYMBOLICLINK_H_
#define XENIA_KERNEL_XSYMBOLICLINK_H_ #define XENIA_KERNEL_XSYMBOLICLINK_H_
#include <memory>
#include <unordered_map>
#include "xenia/base/mutex.h"
#include "xenia/base/threading.h"
#include "xenia/kernel/xobject.h" #include "xenia/kernel/xobject.h"
#include "xenia/xbox.h" #include "xenia/xbox.h"

View file

@ -9,25 +9,16 @@
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
#include <cstring>
#include "third_party/fmt/include/fmt/format.h"
#include "xenia/base/byte_stream.h" #include "xenia/base/byte_stream.h"
#include "xenia/base/clock.h"
#include "xenia/base/literals.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/profiling.h" #include "xenia/base/profiling.h"
#include "xenia/base/threading.h" #include "xenia/base/threading.h"
#include "xenia/cpu/breakpoint.h"
#include "xenia/cpu/ppc/ppc_decode_data.h"
#include "xenia/cpu/processor.h" #include "xenia/cpu/processor.h"
#include "xenia/emulator.h" #include "xenia/emulator.h"
#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/kernel_state.h"
#include "xenia/kernel/user_module.h" #include "xenia/kernel/user_module.h"
#include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h"
#include "xenia/kernel/xevent.h"
#include "xenia/kernel/xmutant.h"
DEFINE_bool(ignore_thread_priorities, true, DEFINE_bool(ignore_thread_priorities, true,
"Ignores game-specified thread priorities.", "Kernel"); "Ignores game-specified thread priorities.", "Kernel");
DEFINE_bool(ignore_thread_affinities, true, DEFINE_bool(ignore_thread_affinities, true,
@ -39,6 +30,7 @@ DEFINE_int64(stack_size_multiplier_hack, 1,
DEFINE_int64(main_xthread_stack_size_multiplier_hack, 1, DEFINE_int64(main_xthread_stack_size_multiplier_hack, 1,
"A hack for games with setjmp/longjmp issues.", "Kernel"); "A hack for games with setjmp/longjmp issues.", "Kernel");
#endif #endif
namespace xe { namespace xe {
namespace kernel { namespace kernel {
@ -46,8 +38,6 @@ const uint32_t XAPC::kSize;
const uint32_t XAPC::kDummyKernelRoutine; const uint32_t XAPC::kDummyKernelRoutine;
const uint32_t XAPC::kDummyRundownRoutine; const uint32_t XAPC::kDummyRundownRoutine;
using xe::cpu::ppc::PPCOpcode;
using namespace xe::literals; using namespace xe::literals;
uint32_t next_xthread_id_ = 0; uint32_t next_xthread_id_ = 0;

View file

@ -9,9 +9,7 @@
#include "xenia/kernel/xtimer.h" #include "xenia/kernel/xtimer.h"
#include "xenia/base/chrono.h"
#include "xenia/base/logging.h" #include "xenia/base/logging.h"
#include "xenia/cpu/processor.h"
#include "xenia/kernel/xthread.h" #include "xenia/kernel/xthread.h"
namespace xe { namespace xe {

View file

@ -30,7 +30,7 @@ enum class NotificationAlignment : uint8_t {
kAlignUnknown = 0xFF kAlignUnknown = 0xFF
}; };
const static std::vector<ImVec2> notification_position_id_screen_offset = { inline const std::vector<ImVec2> notification_position_id_screen_offset = {
{0.50f, 0.45f}, // CENTER-CENTER - 0 {0.50f, 0.45f}, // CENTER-CENTER - 0
{0.50f, 0.10f}, // CENTER-TOP - 1 {0.50f, 0.10f}, // CENTER-TOP - 1
{0.50f, 0.80f}, // CENTER-BOTTOM - 2 {0.50f, 0.80f}, // CENTER-BOTTOM - 2

Some files were not shown because too many files have changed in this diff Show more