diff --git a/src/xenia/gpu/graphics_system.h b/src/xenia/gpu/graphics_system.h index dfce706c6..ddfbedf91 100644 --- a/src/xenia/gpu/graphics_system.h +++ b/src/xenia/gpu/graphics_system.h @@ -34,7 +34,7 @@ class Emulator; namespace xe { namespace gpu { -static const std::vector> +inline const std::vector> internal_display_resolution_entries = { {640, 480}, {640, 576}, {720, 480}, {720, 576}, {800, 600}, {848, 480}, {1024, 768}, {1152, 864}, {1280, 720}, {1280, 768}, diff --git a/src/xenia/kernel/kernel_module.cc b/src/xenia/kernel/kernel_module.cc index b8bfd6ce4..ac73c5752 100644 --- a/src/xenia/kernel/kernel_module.cc +++ b/src/xenia/kernel/kernel_module.cc @@ -10,8 +10,6 @@ #include "xenia/kernel/kernel_module.h" #include "xenia/base/logging.h" -#include "xenia/base/mutex.h" -#include "xenia/cpu/processor.h" #include "xenia/cpu/raw_module.h" #include "xenia/emulator.h" #include "xenia/kernel/xthread.h" diff --git a/src/xenia/kernel/kernel_state.cc b/src/xenia/kernel/kernel_state.cc index 5ebade7c5..5454efd25 100644 --- a/src/xenia/kernel/kernel_state.cc +++ b/src/xenia/kernel/kernel_state.cc @@ -9,20 +9,12 @@ #include "xenia/kernel/kernel_state.h" -#include - -#include "third_party/fmt/include/fmt/format.h" -#include "xenia/base/assert.h" #include "xenia/base/byte_stream.h" #include "xenia/base/logging.h" -#include "xenia/base/string.h" -#include "xenia/cpu/processor.h" #include "xenia/emulator.h" #include "xenia/hid/input_system.h" #include "xenia/kernel/user_module.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_module.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_ob.h" diff --git a/src/xenia/kernel/kernel_state.h b/src/xenia/kernel/kernel_state.h index 9475bfc64..9cb57dcc5 100644 --- a/src/xenia/kernel/kernel_state.h +++ b/src/xenia/kernel/kernel_state.h @@ -10,17 +10,13 @@ #ifndef XENIA_KERNEL_KERNEL_STATE_H_ #define XENIA_KERNEL_KERNEL_STATE_H_ -#include #include #include #include #include -#include #include #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/export_resolver.h" #include "xenia/kernel/smc.h" @@ -33,9 +29,7 @@ #include "xenia/kernel/xam/user_profile.h" #include "xenia/kernel/xam/xam_state.h" #include "xenia/kernel/xam/xdbf/spa_info.h" -#include "xenia/kernel/xam/xdbf/xdbf_io.h" #include "xenia/kernel/xevent.h" -#include "xenia/memory.h" #include "xenia/vfs/virtual_file_system.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/title_id_utils.h b/src/xenia/kernel/title_id_utils.h index 9166c86dc..995f5dafd 100644 --- a/src/xenia/kernel/title_id_utils.h +++ b/src/xenia/kernel/title_id_utils.h @@ -16,19 +16,19 @@ namespace xe { namespace kernel { -static constexpr uint32_t kXN_2001 = 0x584E07D1; -static constexpr uint32_t kXN_2002 = 0x584E07D2; -static constexpr uint32_t kDashboardID = 0xFFFE07D1; +inline constexpr uint32_t kXN_2001 = 0x584E07D1; +inline constexpr uint32_t kXN_2002 = 0x584E07D2; +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; } -static constexpr bool IsValidGameId(const uint32_t title_id) { +inline constexpr bool IsValidGameId(const uint32_t title_id) { return (title_id >> 16) != 0xFFFE; } -static constexpr std::pair GetTitlePublisher( +inline constexpr std::pair GetTitlePublisher( const uint32_t title_id) { const char first_char = title_id >> 24; const char second_char = (title_id >> 16) & 0xFF; @@ -36,13 +36,13 @@ static constexpr std::pair GetTitlePublisher( 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); 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); 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(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); return publisher.first == 'X' && publisher.second == 'H' || 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; } -static constexpr bool IsSystemExperienceTitle(const uint32_t title_id) { +inline constexpr bool IsSystemExperienceTitle(const uint32_t title_id) { if (IsAppTitle(title_id)) { return true; } @@ -70,7 +70,7 @@ static constexpr bool IsSystemExperienceTitle(const uint32_t 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) { return true; } @@ -90,7 +90,7 @@ static_assert(IsSystemTitle(kDashboardID)); // Dashboard check static_assert(!IsSystemTitle(0x4D5308BC)); // Non-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)) { return true; } diff --git a/src/xenia/kernel/user_module.cc b/src/xenia/kernel/user_module.cc index c0558345f..0663455ff 100644 --- a/src/xenia/kernel/user_module.cc +++ b/src/xenia/kernel/user_module.cc @@ -15,11 +15,7 @@ #include "xenia/base/logging.h" #include "xenia/base/xxhash.h" #include "xenia/cpu/elf_module.h" -#include "xenia/cpu/processor.h" -#include "xenia/cpu/xex_module.h" #include "xenia/emulator.h" -#include "xenia/kernel/xfile.h" -#include "xenia/kernel/xthread.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/util/crypto_utils.cc b/src/xenia/kernel/util/crypto_utils.cc index 54072ddb0..ba196156e 100644 --- a/src/xenia/kernel/util/crypto_utils.cc +++ b/src/xenia/kernel/util/crypto_utils.cc @@ -6,10 +6,10 @@ * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** */ + #include #include "xenia/kernel/util/crypto_utils.h" -#include "xenia/xbox.h" #include "third_party/crypto/TinySHA1.hpp" diff --git a/src/xenia/kernel/util/crypto_utils.h b/src/xenia/kernel/util/crypto_utils.h index c95b9d244..0c96f9103 100644 --- a/src/xenia/kernel/util/crypto_utils.h +++ b/src/xenia/kernel/util/crypto_utils.h @@ -7,7 +7,10 @@ ****************************************************************************** */ -#include "xenia/xbox.h" +#ifndef XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_ +#define XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_ + +#include namespace xe { namespace kernel { @@ -25,4 +28,6 @@ void RC4(const uint8_t* key, uint32_t key_size_in, const uint8_t* data, } // namespace util } // namespace kernel -} // namespace xe \ No newline at end of file +} // namespace xe + +#endif // XENIA_KERNEL_UTIL_CRYPTO_UTILS_H_ \ No newline at end of file diff --git a/src/xenia/kernel/util/game_info_database.cc b/src/xenia/kernel/util/game_info_database.cc index 105d31550..848056355 100644 --- a/src/xenia/kernel/util/game_info_database.cc +++ b/src/xenia/kernel/util/game_info_database.cc @@ -22,8 +22,6 @@ GameInfoDatabase::GameInfoDatabase(const xam::SpaInfo* data) { Init(data); } -GameInfoDatabase::~GameInfoDatabase() {} - void GameInfoDatabase::Init(const xam::SpaInfo* data) { spa_gamedata_ = std::make_unique(*data); spa_gamedata_->Load(); diff --git a/src/xenia/kernel/util/game_info_database.h b/src/xenia/kernel/util/game_info_database.h index bf2e2f88f..765d7d7c1 100644 --- a/src/xenia/kernel/util/game_info_database.h +++ b/src/xenia/kernel/util/game_info_database.h @@ -88,7 +88,7 @@ class GameInfoDatabase { // 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. GameInfoDatabase(const xam::SpaInfo* data); - ~GameInfoDatabase(); + ~GameInfoDatabase() = default; bool IsValid() const { return is_valid_; } diff --git a/src/xenia/kernel/util/guest_object_table.cc b/src/xenia/kernel/util/guest_object_table.cc index c48a257a9..d28d6dad3 100644 --- a/src/xenia/kernel/util/guest_object_table.cc +++ b/src/xenia/kernel/util/guest_object_table.cc @@ -2,16 +2,16 @@ ****************************************************************************** * Xenia : Xbox 360 Emulator Research Project * ****************************************************************************** - * Copyright 2023 Xenia Canary. All rights reserved. * Released under the BSD - *license - see LICENSE in the root for more details. * + * Copyright 2023 Xenia Canary. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** */ #include "xenia/kernel/util/guest_object_table.h" -#include "xenia/base/atomic.h" #include "xenia/cpu/processor.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" + namespace xe { namespace kernel { namespace util { diff --git a/src/xenia/kernel/util/guest_object_table.h b/src/xenia/kernel/util/guest_object_table.h index 9b41679a6..d6de005c4 100644 --- a/src/xenia/kernel/util/guest_object_table.h +++ b/src/xenia/kernel/util/guest_object_table.h @@ -2,16 +2,16 @@ ****************************************************************************** * Xenia : Xbox 360 Emulator Research Project * ****************************************************************************** - * Copyright 2023 Xenia Canary. All rights reserved. * Released under the BSD - *license - see LICENSE in the root for more details. * + * Copyright 2023 Xenia Canary. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** */ #ifndef 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" + namespace xe { namespace kernel { namespace util { @@ -32,9 +32,9 @@ struct X_HANDLE_TABLE { uint8_t unk_36; uint8_t unk_38; }; - static_assert_size(X_HANDLE_TABLE, 0x38); +/* bool GrowHandleTable(uint32_t table_ptr, cpu::ppc::PPCContext* context); uint32_t NewObjectHandle(uint32_t table_guest, uint32_t object_guest, cpu::ppc::PPCContext* context); @@ -45,6 +45,8 @@ uint32_t LookupHandleUnlocked(X_HANDLE_TABLE* table, guest_handle_t handle, cpu::ppc::PPCContext* context); uint32_t LookupHandle(uint32_t table, guest_handle_t handle, uint32_t reference_object, cpu::ppc::PPCContext* context); + +*/ } // namespace util } // namespace kernel } // namespace xe diff --git a/src/xenia/kernel/util/object_table.cc b/src/xenia/kernel/util/object_table.cc index 4568c72d1..e9e8ad9b4 100644 --- a/src/xenia/kernel/util/object_table.cc +++ b/src/xenia/kernel/util/object_table.cc @@ -9,9 +9,6 @@ #include "xenia/kernel/util/object_table.h" -#include -#include - #include "xenia/base/byte_stream.h" #include "xenia/base/logging.h" #include "xenia/kernel/xobject.h" diff --git a/src/xenia/kernel/util/presence_string_builder.cc b/src/xenia/kernel/util/presence_string_builder.cc index d10444f86..75ade3aaa 100644 --- a/src/xenia/kernel/util/presence_string_builder.cc +++ b/src/xenia/kernel/util/presence_string_builder.cc @@ -8,7 +8,7 @@ */ #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 kernel { diff --git a/src/xenia/kernel/util/shim_utils.h b/src/xenia/kernel/util/shim_utils.h index 53dc205fa..8cfd17e63 100644 --- a/src/xenia/kernel/util/shim_utils.h +++ b/src/xenia/kernel/util/shim_utils.h @@ -14,7 +14,6 @@ #include #include -#include "third_party/fmt/include/fmt/format.h" #include "xenia/base/byte_order.h" #include "xenia/base/logging.h" #include "xenia/base/memory.h" diff --git a/src/xenia/kernel/util/xex2_info.h b/src/xenia/kernel/util/xex2_info.h index 33efc360c..50ceded7e 100644 --- a/src/xenia/kernel/util/xex2_info.h +++ b/src/xenia/kernel/util/xex2_info.h @@ -639,7 +639,7 @@ struct X_IMAGE_EXPORT_DIRECTORY { uint32_t AddressOfNameOrdinals; // RVA from base of image }; -const std::unordered_map xex2_system_flags_map = { +inline const std::unordered_map xex2_system_flags_map = { {XEX_SYSTEM_NO_FORCED_REBOOT, "XEX_SYSTEM_NO_FORCED_REBOOT"}, {XEX_SYSTEM_FOREGROUND_TASKS, "XEX_SYSTEM_FOREGROUND_TASKS"}, {XEX_SYSTEM_NO_ODD_MAPPING, "XEX_SYSTEM_NO_ODD_MAPPING"}, diff --git a/src/xenia/kernel/util/xfiletime.h b/src/xenia/kernel/util/xfiletime.h new file mode 100644 index 000000000..a9c5685e1 --- /dev/null +++ b/src/xenia/kernel/util/xfiletime.h @@ -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 high_part; + xe::be low_part; + + X_FILETIME() { + high_part = 0; + low_part = 0; + } + + X_FILETIME(uint64_t filetime) { + high_part = static_cast(filetime >> 32); + low_part = static_cast(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(file_time >> 32); + low_part = static_cast(file_time); + } + + chrono::WinSystemClock::time_point to_time_point() const { + const uint64_t filetime = + (static_cast(high_part) << 32) | low_part; + + return chrono::WinSystemClock::from_file_time(filetime); + } + + bool is_valid() const { + const uint64_t filetime = + (static_cast(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 diff --git a/src/xenia/kernel/util/xlast.cc b/src/xenia/kernel/util/xlast.cc index 872462c35..ab5e68afa 100644 --- a/src/xenia/kernel/util/xlast.cc +++ b/src/xenia/kernel/util/xlast.cc @@ -39,8 +39,6 @@ std::vector XLastMatchmakingQuery::GetFilters() const { return XLast::GetAllValuesFromNode(node_, "Filters", "left"); } -XLast::XLast() : parsed_xlast_(nullptr) {} - XLast::XLast(const uint8_t* compressed_xml_data, const uint32_t compressed_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::~XLast() {} - std::u16string XLast::GetTitleName() const { std::string xpath = "/XboxLiveSubmissionProject/GameConfigProject"; diff --git a/src/xenia/kernel/util/xlast.h b/src/xenia/kernel/util/xlast.h index b0e65f775..6a7ad9fc2 100644 --- a/src/xenia/kernel/util/xlast.h +++ b/src/xenia/kernel/util/xlast.h @@ -32,7 +32,7 @@ enum class ProductInformationEntry { GenreTypeString }; -static const std::map +inline const std::map product_information_entry_string_to_enum = { {"offlinePlayersMax", ProductInformationEntry::MaxOfflinePlayers}, {"systemLinkPlayersMax", ProductInformationEntry::MaxSystemLinkPlayers}, @@ -43,7 +43,7 @@ static const std::map {"genreTextStringId", ProductInformationEntry::GenreTypeString}, }; -static const std::map language_mapping = { +inline const std::map language_mapping = { {XLanguage::kEnglish, "en-US"}, {XLanguage::kJapanese, "ja-JP"}, {XLanguage::kGerman, "de-DE"}, {XLanguage::kFrench, "fr-FR"}, {XLanguage::kSpanish, "es-ES"}, {XLanguage::kItalian, "it-IT"}, @@ -67,10 +67,10 @@ class XLastMatchmakingQuery { class XLast { public: - XLast(); + XLast() = default; XLast(const uint8_t* compressed_xml_data, const uint32_t compressed_data_size, const uint32_t decompressed_data_size); - ~XLast(); + ~XLast() = default; std::u16string GetTitleName() const; std::map GetProductInformationAttributes() diff --git a/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.cc b/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.cc index 6019a338e..182bfae8a 100644 --- a/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.cc +++ b/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.cc @@ -17,9 +17,6 @@ namespace xe { namespace kernel { namespace xam { -GpdAchievementBackend::GpdAchievementBackend() {} -GpdAchievementBackend::~GpdAchievementBackend() {} - void GpdAchievementBackend::EarnAchievement(const uint64_t xuid, const uint32_t title_id, const uint32_t achievement_id) { diff --git a/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.h b/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.h index 611fedf19..597067ec3 100644 --- a/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.h +++ b/src/xenia/kernel/xam/achievement_backends/gpd_achievement_backend.h @@ -25,8 +25,8 @@ namespace xam { class GpdAchievementBackend : public AchievementBackendInterface { public: - GpdAchievementBackend(); - ~GpdAchievementBackend(); + GpdAchievementBackend() = default; + ~GpdAchievementBackend() = default; void EarnAchievement(const uint64_t xuid, const uint32_t title_id, const uint32_t achievement_id) override; diff --git a/src/xenia/kernel/xam/achievement_manager.h b/src/xenia/kernel/xam/achievement_manager.h index 6e9ce86c2..7e9378898 100644 --- a/src/xenia/kernel/xam/achievement_manager.h +++ b/src/xenia/kernel/xam/achievement_manager.h @@ -15,10 +15,9 @@ #include #include -#include "xenia/base/chrono.h" +#include "xenia/kernel/util/xfiletime.h" #include "xenia/kernel/xam/xdbf/gpd_info.h" #include "xenia/kernel/xam/xdbf/spa_info.h" -#include "xenia/xbox.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xam/apps/messenger_app.cc b/src/xenia/kernel/xam/apps/messenger_app.cc index 1480d163d..cd4872940 100644 --- a/src/xenia/kernel/xam/apps/messenger_app.cc +++ b/src/xenia/kernel/xam/apps/messenger_app.cc @@ -10,7 +10,6 @@ #include "xenia/kernel/xam/apps/messenger_app.h" #include "xenia/base/logging.h" -#include "xenia/base/threading.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xam/apps/xam_app.cc b/src/xenia/kernel/xam/apps/xam_app.cc index 354ded5d0..f069ad3c3 100644 --- a/src/xenia/kernel/xam/apps/xam_app.cc +++ b/src/xenia/kernel/xam/apps/xam_app.cc @@ -10,7 +10,6 @@ #include "xenia/kernel/xam/apps/xam_app.h" #include "xenia/base/logging.h" -#include "xenia/base/threading.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/xam/xam_content_device.h" #include "xenia/kernel/xenumerator.h" diff --git a/src/xenia/kernel/xam/apps/xgi_app.cc b/src/xenia/kernel/xam/apps/xgi_app.cc index 36c97befa..086af2fda 100644 --- a/src/xenia/kernel/xam/apps/xgi_app.cc +++ b/src/xenia/kernel/xam/apps/xgi_app.cc @@ -10,7 +10,6 @@ #include "xenia/kernel/xam/apps/xgi_app.h" #include "xenia/base/logging.h" -#include "xenia/base/threading.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xam/apps/xlivebase_app.cc b/src/xenia/kernel/xam/apps/xlivebase_app.cc index 59d7d7362..a65a8d129 100644 --- a/src/xenia/kernel/xam/apps/xlivebase_app.cc +++ b/src/xenia/kernel/xam/apps/xlivebase_app.cc @@ -10,7 +10,6 @@ #include "xenia/kernel/xam/apps/xlivebase_app.h" #include "xenia/base/logging.h" -#include "xenia/base/threading.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xam/apps/xmp_app.cc b/src/xenia/kernel/xam/apps/xmp_app.cc index 6b70ef920..a86d0d3ae 100644 --- a/src/xenia/kernel/xam/apps/xmp_app.cc +++ b/src/xenia/kernel/xam/apps/xmp_app.cc @@ -11,7 +11,6 @@ #include "xenia/kernel/xthread.h" #include "xenia/base/logging.h" -#include "xenia/base/threading.h" #include "xenia/emulator.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xam/apps/xmp_app.h b/src/xenia/kernel/xam/apps/xmp_app.h index 2d0b94136..ddea2251d 100644 --- a/src/xenia/kernel/xam/apps/xmp_app.h +++ b/src/xenia/kernel/xam/apps/xmp_app.h @@ -10,13 +10,6 @@ #ifndef XENIA_KERNEL_XAM_APPS_XMP_APP_H_ #define XENIA_KERNEL_XAM_APPS_XMP_APP_H_ -#include -#include -#include -#include -#include - -#include "xenia/base/mutex.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/xam/app_manager.h" diff --git a/src/xenia/kernel/xam/profile_manager.cc b/src/xenia/kernel/xam/profile_manager.cc index 199ef1c9c..af1b93152 100644 --- a/src/xenia/kernel/xam/profile_manager.cc +++ b/src/xenia/kernel/xam/profile_manager.cc @@ -108,7 +108,9 @@ ProfileManager::ProfileManager(KernelState* kernel_state, logged_profiles_.clear(); accounts_.clear(); - LoadAccounts(FindProfiles()); + for (const auto account_xuid : FindProfiles()) { + LoadAccount(account_xuid); + } if (!cvars::logged_profile_slot_0_xuid.empty()) { Login(xe::string_util::from_string( @@ -135,8 +137,6 @@ ProfileManager::ProfileManager(KernelState* kernel_state, } } -ProfileManager::~ProfileManager() {} - void ProfileManager::ReloadProfile(const uint64_t xuid) { if (accounts_.contains(xuid)) { accounts_.erase(xuid); @@ -145,7 +145,11 @@ void ProfileManager::ReloadProfile(const uint64_t 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 { const uint8_t user_index = GetUserIndexAssignedToProfile(xuid); @@ -236,12 +240,6 @@ bool ProfileManager::LoadAccount(const uint64_t xuid) { return true; } -void ProfileManager::LoadAccounts(const std::vector profiles_xuids) { - for (const auto& path : profiles_xuids) { - LoadAccount(path); - } -} - bool ProfileManager::MountProfile(const uint64_t xuid, std::string mount_path) { std::filesystem::path profile_path = GetProfilePath(xuid); if (mount_path.empty()) { diff --git a/src/xenia/kernel/xam/profile_manager.h b/src/xenia/kernel/xam/profile_manager.h index 1f7a341db..a769912e7 100644 --- a/src/xenia/kernel/xam/profile_manager.h +++ b/src/xenia/kernel/xam/profile_manager.h @@ -39,7 +39,7 @@ namespace xe { namespace kernel { namespace xam { -const static std::string kDashboardStringID = +inline const std::string kDashboardStringID = fmt::format("{:08X}", kDashboardID); constexpr std::string_view kDefaultMountFormat = "User_{:016X}"; @@ -60,7 +60,7 @@ class ProfileManager { // Loading Account means load basic data ProfileManager(KernelState* kernel_state, UserTracker* user_tracker); - ~ProfileManager(); + ~ProfileManager() = default; bool CreateProfile(const std::string gamertag, bool autologin, bool default_xuid = false); @@ -77,7 +77,6 @@ class ProfileManager { void LoginMultiple(const std::map& profiles); bool LoadAccount(const uint64_t xuid); - void LoadAccounts(const std::vector profiles_xuids); void ReloadProfiles(); void ReloadProfile(const uint64_t xuid); diff --git a/src/xenia/kernel/xam/ui/create_profile_ui.h b/src/xenia/kernel/xam/ui/create_profile_ui.h index 6356f7d45..84236eeef 100644 --- a/src/xenia/kernel/xam/ui/create_profile_ui.h +++ b/src/xenia/kernel/xam/ui/create_profile_ui.h @@ -27,6 +27,8 @@ class CreateProfileUI final : public XamDialog { memset(gamertag_, 0, sizeof(gamertag_)); } + ~CreateProfileUI() = default; + private: void OnDraw(ImGuiIO& io) override; diff --git a/src/xenia/kernel/xam/ui/gamercard_ui.h b/src/xenia/kernel/xam/ui/gamercard_ui.h index 755098b11..416aeafd5 100644 --- a/src/xenia/kernel/xam/ui/gamercard_ui.h +++ b/src/xenia/kernel/xam/ui/gamercard_ui.h @@ -46,6 +46,8 @@ class GamercardUI final : public XamDialog { GamercardUI(xe::ui::Window* window, xe::ui::ImGuiDrawer* imgui_drawer, KernelState* kernel_state, uint64_t xuid); + ~GamercardUI() = default; + private: void OnDraw(ImGuiIO& io) override; void DrawBaseSettings(ImGuiIO& io); diff --git a/src/xenia/kernel/xam/ui/passcode_ui.h b/src/xenia/kernel/xam/ui/passcode_ui.h index a354ed07d..2bd3693b1 100644 --- a/src/xenia/kernel/xam/ui/passcode_ui.h +++ b/src/xenia/kernel/xam/ui/passcode_ui.h @@ -22,12 +22,7 @@ class ProfilePasscodeUI final : public XamDialog { ProfilePasscodeUI(xe::ui::ImGuiDrawer* imgui_drawer, std::string_view title, std::string_view description, MESSAGEBOX_RESULT* result_ptr); - - void DrawPasscodeField(uint8_t key_id); - - void OnDraw(ImGuiIO& io) override; - - virtual ~ProfilePasscodeUI() {} + ~ProfilePasscodeUI() = default; bool SelectedSignedIn() const { return selected_signed_in_; } @@ -48,6 +43,10 @@ class ProfilePasscodeUI final : public XamDialog { {"Left", DPAD_LEFT_PASSCODE}, {"Right", DPAD_RIGHT_PASSCODE}}; + void OnDraw(ImGuiIO& io) override; + + void DrawPasscodeField(uint8_t key_id); + bool has_opened_ = false; bool selected_signed_in_ = false; std::string title_; diff --git a/src/xenia/kernel/xam/ui/signin_ui.h b/src/xenia/kernel/xam/ui/signin_ui.h index 1af156ba1..01864a850 100644 --- a/src/xenia/kernel/xam/ui/signin_ui.h +++ b/src/xenia/kernel/xam/ui/signin_ui.h @@ -22,6 +22,8 @@ class SigninUI final : public XamDialog { SigninUI(xe::ui::ImGuiDrawer* imgui_drawer, ProfileManager* profile_manager, uint32_t last_used_slot, uint32_t users_needed); + ~SigninUI() = default; + private: void OnDraw(ImGuiIO& io) override; diff --git a/src/xenia/kernel/xam/ui/title_info_ui.h b/src/xenia/kernel/xam/ui/title_info_ui.h index 7b3af0eac..2662238c7 100644 --- a/src/xenia/kernel/xam/ui/title_info_ui.h +++ b/src/xenia/kernel/xam/ui/title_info_ui.h @@ -22,9 +22,9 @@ class TitleListUI final : public XamDialog { TitleListUI(xe::ui::ImGuiDrawer* imgui_drawer, const ImVec2 drawing_position, const UserProfile* profile); - private: ~TitleListUI(); + private: void OnDraw(ImGuiIO& io) override; void LoadProfileTitleList(xe::ui::ImGuiDrawer* imgui_drawer, diff --git a/src/xenia/kernel/xam/user_data.cc b/src/xenia/kernel/xam/user_data.cc index 7b4ec344c..05e0fbda6 100644 --- a/src/xenia/kernel/xam/user_data.cc +++ b/src/xenia/kernel/xam/user_data.cc @@ -15,9 +15,6 @@ namespace xe { namespace kernel { namespace xam { -UserData::UserData() {} -UserData::~UserData() {} - UserData::UserData(const UserData& user_data) { data_ = user_data.data_; extended_data_ = user_data.extended_data_; diff --git a/src/xenia/kernel/xam/user_data.h b/src/xenia/kernel/xam/user_data.h index 7b5a96919..4449c02b9 100644 --- a/src/xenia/kernel/xam/user_data.h +++ b/src/xenia/kernel/xam/user_data.h @@ -14,6 +14,7 @@ #include #include +#include "xenia/base/string_util.h" #include "xenia/xbox.h" namespace xe { @@ -175,9 +176,7 @@ class UserData { } protected: - ~UserData(); - - UserData(); + UserData() = default; UserData(const UserData& user_data); // From host @@ -193,6 +192,8 @@ class UserData { UserData(const X_USER_DATA_TYPE data_type, const X_USER_DATA_UNION* user_data, std::span extended_data); + ~UserData() = default; + X_USER_DATA data_ = {}; std::vector extended_data_ = {}; }; diff --git a/src/xenia/kernel/xam/user_profile.cc b/src/xenia/kernel/xam/user_profile.cc index c70e41193..3cbb2242b 100644 --- a/src/xenia/kernel/xam/user_profile.cc +++ b/src/xenia/kernel/xam/user_profile.cc @@ -10,7 +10,6 @@ #include "xenia/kernel/xam/user_profile.h" #include -#include #include "third_party/fmt/include/fmt/format.h" #include "xenia/kernel/kernel_state.h" @@ -21,7 +20,8 @@ namespace xe { namespace kernel { 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_() { // 58410A1F checks the user XUID against a mask of 0x00C0000000000000 (3<<54), // if non-zero, it prevents the user from playing the game. diff --git a/src/xenia/kernel/xam/user_profile.h b/src/xenia/kernel/xam/user_profile.h index 0ece0c6db..d2d5a4ea5 100644 --- a/src/xenia/kernel/xam/user_profile.h +++ b/src/xenia/kernel/xam/user_profile.h @@ -74,7 +74,7 @@ enum class XTileType { }; // TODO: find filenames of other tile types that are stored in profile -static const std::map kTileFileNames = { +inline const std::map kTileFileNames = { {XTileType::kGamerTile, "tile_64.png"}, {XTileType::kGamerTileSmall, "tile_32.png"}, {XTileType::kPersonalGamerTile, "tile_64.png"}, @@ -88,7 +88,7 @@ static constexpr std::pair kProfileIconSizeSmall = {32, 32}; class UserProfile { 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_; } std::string name() const { return account_info_.GetGamertagString(); } diff --git a/src/xenia/kernel/xam/user_property.cc b/src/xenia/kernel/xam/user_property.cc index 3b0ce525b..c7d55a8ff 100644 --- a/src/xenia/kernel/xam/user_property.cc +++ b/src/xenia/kernel/xam/user_property.cc @@ -15,8 +15,6 @@ namespace xe { namespace kernel { namespace xam { -Property::Property() : UserData() {}; - Property::Property(const Property& property) : UserData(property), property_id_(property.property_id_) {} @@ -43,8 +41,6 @@ Property::Property(std::span serialized_data) *reinterpret_cast(serialized_data.data()); } -Property::~Property() {}; - std::vector Property::Serialize() const { std::vector serialized_property( sizeof(AttributeKey) + sizeof(X_USER_DATA) + extended_data_.size()); diff --git a/src/xenia/kernel/xam/user_property.h b/src/xenia/kernel/xam/user_property.h index 59b39d98f..a976fdc56 100644 --- a/src/xenia/kernel/xam/user_property.h +++ b/src/xenia/kernel/xam/user_property.h @@ -35,7 +35,7 @@ static_assert_size(XUSER_PROPERTY, 0x18); class Property : public UserData { public: - Property(); + Property() = default; Property(const Property& property); Property(uint32_t property_id, UserDataTypes property_data); @@ -44,7 +44,8 @@ class Property : public UserData { // Ctor used for deserialization Property(const uint8_t* serialized_data, size_t data_size); Property(std::span serialized_data); - ~Property(); + + ~Property() = default; const AttributeKey GetPropertyId() const { return property_id_; } diff --git a/src/xenia/kernel/xam/user_settings.cc b/src/xenia/kernel/xam/user_settings.cc index e5212dc44..812227cea 100644 --- a/src/xenia/kernel/xam/user_settings.cc +++ b/src/xenia/kernel/xam/user_settings.cc @@ -27,11 +27,6 @@ const static std::array default_setting_values = { UserSettingId::XPROFILE_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) { setting_id_ = setting.setting_id_; setting_source_ = setting.setting_source_; diff --git a/src/xenia/kernel/xam/user_settings.h b/src/xenia/kernel/xam/user_settings.h index 8c066b343..60f431e2e 100644 --- a/src/xenia/kernel/xam/user_settings.h +++ b/src/xenia/kernel/xam/user_settings.h @@ -267,7 +267,7 @@ enum class UserSettingId : uint32_t { 0x4F), // 0x7008004F, named "LastOnLIVE" in Velocity }; -constexpr static std::array known_settings = { +inline constexpr std::array known_settings = { UserSettingId::XPROFILE_PERMISSIONS, UserSettingId::XPROFILE_GAMER_TYPE, UserSettingId::XPROFILE_GAMER_YAXIS_INVERSION, @@ -374,7 +374,7 @@ constexpr static std::array known_settings = { UserSettingId::XPROFILE_LAST_LIVE_SIGNIN, }; -const static std::set title_writable_settings = { +inline const std::set title_writable_settings = { UserSettingId::XPROFILE_TITLE_SPECIFIC1, UserSettingId::XPROFILE_TITLE_SPECIFIC2, UserSettingId::XPROFILE_TITLE_SPECIFIC3}; @@ -447,7 +447,6 @@ enum ACCELERATOR_CONTROL_OPTIONS : uint8_t { class UserSetting : public UserData { public: - UserSetting(UserSetting& setting); UserSetting(const UserSetting& setting); // Ctor for writing from host UserSetting(UserSettingId setting_id, UserDataTypes setting_data); diff --git a/src/xenia/kernel/xam/user_tracker.cc b/src/xenia/kernel/xam/user_tracker.cc index 1c8aab928..8a1ab4e2f 100644 --- a/src/xenia/kernel/xam/user_tracker.cc +++ b/src/xenia/kernel/xam/user_tracker.cc @@ -28,8 +28,6 @@ DECLARE_int32(user_language); namespace xe { namespace kernel { namespace xam { -UserTracker::UserTracker() : spa_data_(nullptr) {} -UserTracker::~UserTracker() {} bool UserTracker::AddUser(uint64_t xuid) { if (IsUserTracked(xuid)) { diff --git a/src/xenia/kernel/xam/user_tracker.h b/src/xenia/kernel/xam/user_tracker.h index ab39ae122..0fd198d9b 100644 --- a/src/xenia/kernel/xam/user_tracker.h +++ b/src/xenia/kernel/xam/user_tracker.h @@ -45,8 +45,8 @@ struct TitleInfo { class UserTracker { public: - UserTracker(); - ~UserTracker(); + UserTracker() = default; + ~UserTracker() = default; // UserTracker specific methods bool AddUser(uint64_t xuid); @@ -115,7 +115,7 @@ class UserTracker { void FlushUserData(const uint64_t xuid); - SpaInfo* spa_data_; + SpaInfo* spa_data_ = nullptr; std::set tracked_xuids_; }; diff --git a/src/xenia/kernel/xam/xam_enum.cc b/src/xenia/kernel/xam/xam_enum.cc index a5ff84a59..322dcee15 100644 --- a/src/xenia/kernel/xam/xam_enum.cc +++ b/src/xenia/kernel/xam/xam_enum.cc @@ -16,10 +16,6 @@ #include "xenia/kernel/xenumerator.h" #include "xenia/xbox.h" -#if XE_PLATFORM_WIN32 -#include "xenia/base/platform_win.h" -#endif - #include "third_party/fmt/include/fmt/format.h" namespace xe { diff --git a/src/xenia/kernel/xam/xam_info.cc b/src/xenia/kernel/xam/xam_info.cc index fb0382296..c33a55b9e 100644 --- a/src/xenia/kernel/xam/xam_info.cc +++ b/src/xenia/kernel/xam/xam_info.cc @@ -7,8 +7,6 @@ ****************************************************************************** */ -#include -#include #include "xenia/base/cvar.h" #include "xenia/base/logging.h" #include "xenia/base/string_util.h" @@ -18,7 +16,9 @@ #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xam/xam_module.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_modules.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" #include "xenia/kernel/xenumerator.h" #include "xenia/kernel/xthread.h" diff --git a/src/xenia/kernel/xam/xam_module.h b/src/xenia/kernel/xam/xam_module.h index cfb3b764c..bf3fdbd9f 100644 --- a/src/xenia/kernel/xam/xam_module.h +++ b/src/xenia/kernel/xam/xam_module.h @@ -15,7 +15,6 @@ #include "xenia/cpu/export_resolver.h" #include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_state.h" -#include "xenia/kernel/xam/xam_ordinals.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xam/xam_net.cc b/src/xenia/kernel/xam/xam_net.cc index 86888a922..b7333075b 100644 --- a/src/xenia/kernel/xam/xam_net.cc +++ b/src/xenia/kernel/xam/xam_net.cc @@ -7,9 +7,6 @@ ****************************************************************************** */ -#include - -#include "xenia/base/clock.h" #include "xenia/base/logging.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" diff --git a/src/xenia/kernel/xam/xam_notify.cc b/src/xenia/kernel/xam/xam_notify.cc index d908de6c1..ed69086b2 100644 --- a/src/xenia/kernel/xam/xam_notify.cc +++ b/src/xenia/kernel/xam/xam_notify.cc @@ -7,7 +7,6 @@ ****************************************************************************** */ -#include "xenia/base/logging.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xam/xam_private.h" diff --git a/src/xenia/kernel/xam/xam_private.h b/src/xenia/kernel/xam/xam_private.h index 2f477b288..35eec0692 100644 --- a/src/xenia/kernel/xam/xam_private.h +++ b/src/xenia/kernel/xam/xam_private.h @@ -11,7 +11,6 @@ #define XENIA_KERNEL_XAM_XAM_PRIVATE_H_ #include "xenia/cpu/export_resolver.h" -#include "xenia/kernel/kernel_state.h" #include "xenia/kernel/xam/xam_ordinals.h" namespace xe { diff --git a/src/xenia/kernel/xam/xam_state.cc b/src/xenia/kernel/xam/xam_state.cc index 909bf0f87..cd02d974c 100644 --- a/src/xenia/kernel/xam/xam_state.cc +++ b/src/xenia/kernel/xam/xam_state.cc @@ -33,12 +33,6 @@ XamState::XamState(Emulator* emulator, KernelState* kernel_state) 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 { if (user_index >= XUserMaxUserCount && user_index < XUserIndexLatest) { return nullptr; diff --git a/src/xenia/kernel/xam/xam_state.h b/src/xenia/kernel/xam/xam_state.h index f72ef8711..c53a950bd 100644 --- a/src/xenia/kernel/xam/xam_state.h +++ b/src/xenia/kernel/xam/xam_state.h @@ -34,7 +34,7 @@ namespace xam { class XamState { public: XamState(Emulator* emulator, KernelState* kernel_state); - ~XamState(); + ~XamState() = default; AppManager* app_manager() const { return app_manager_.get(); } ContentManager* content_manager() const { return content_manager_.get(); } diff --git a/src/xenia/kernel/xam/xam_task.cc b/src/xenia/kernel/xam/xam_task.cc index 4c815aad1..e893ae63f 100644 --- a/src/xenia/kernel/xam/xam_task.cc +++ b/src/xenia/kernel/xam/xam_task.cc @@ -8,20 +8,13 @@ */ #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/user_module.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/xthread.h" #include "xenia/xbox.h" -#if XE_PLATFORM_WIN32 -#include "xenia/base/platform_win.h" -#endif - #include "third_party/fmt/include/fmt/format.h" namespace xe { diff --git a/src/xenia/kernel/xam/xam_user.cc b/src/xenia/kernel/xam/xam_user.cc index a5b75a68d..7ee1a9e58 100644 --- a/src/xenia/kernel/xam/xam_user.cc +++ b/src/xenia/kernel/xam/xam_user.cc @@ -8,15 +8,12 @@ */ #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/util/shim_utils.h" #include "xenia/kernel/xam/user_profile.h" #include "xenia/kernel/xam/user_settings.h" #include "xenia/kernel/xam/xam_private.h" #include "xenia/kernel/xenumerator.h" -#include "xenia/kernel/xthread.h" #include "xenia/xbox.h" #include "third_party/stb/stb_image.h" diff --git a/src/xenia/kernel/xam/xam_video.cc b/src/xenia/kernel/xam/xam_video.cc index 37c9d6948..e19ddfec3 100644 --- a/src/xenia/kernel/xam/xam_video.cc +++ b/src/xenia/kernel/xam/xam_video.cc @@ -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/xam/xam_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_video.h" -#include "xenia/xbox.h" namespace xe { namespace kernel { @@ -20,7 +17,7 @@ namespace xam { void XGetVideoMode_entry(pointer_t video_mode) { // 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); diff --git a/src/xenia/kernel/xam/xam_voice.cc b/src/xenia/kernel/xam/xam_voice.cc index e1c65b086..f745088ce 100644 --- a/src/xenia/kernel/xam/xam_voice.cc +++ b/src/xenia/kernel/xam/xam_voice.cc @@ -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/xam/xam_private.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xam/xdbf/gpd_info.h b/src/xenia/kernel/xam/xdbf/gpd_info.h index 11ba0ce64..ae9df3376 100644 --- a/src/xenia/kernel/xam/xdbf/gpd_info.h +++ b/src/xenia/kernel/xam/xdbf/gpd_info.h @@ -10,14 +10,14 @@ #ifndef 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 #include #include -#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 kernel { @@ -111,6 +111,8 @@ class GpdInfo : public XdbfFile { GpdInfo(const uint32_t title_id); GpdInfo(const uint32_t title_id, const std::vector buffer); + ~GpdInfo() = default; + // Normally GPD ALWAYS contains one free entry that indicates EOF bool IsValid() const { return !free_entries_.empty(); } // r/w image, setting, string. diff --git a/src/xenia/kernel/xam/xdbf/gpd_info_profile.h b/src/xenia/kernel/xam/xdbf/gpd_info_profile.h index c38709a9d..63250b41b 100644 --- a/src/xenia/kernel/xam/xdbf/gpd_info_profile.h +++ b/src/xenia/kernel/xam/xdbf/gpd_info_profile.h @@ -29,7 +29,7 @@ class GpdInfoProfile : public GpdInfo { GpdInfoProfile(const std::vector buffer) : GpdInfo(kDashboardID, buffer) {}; - ~GpdInfoProfile() {}; + ~GpdInfoProfile() = default; void AddNewTitle(const SpaInfo* title_data); void UpdateTitleInfo(const uint32_t title_id, diff --git a/src/xenia/kernel/xam/xdbf/gpd_info_title.h b/src/xenia/kernel/xam/xdbf/gpd_info_title.h index 02b248aaa..75f06040b 100644 --- a/src/xenia/kernel/xam/xdbf/gpd_info_title.h +++ b/src/xenia/kernel/xam/xdbf/gpd_info_title.h @@ -32,7 +32,7 @@ class GpdInfoTitle : public GpdInfo { GpdInfoTitle(const uint32_t title_id, const std::vector buffer) : GpdInfo(title_id, buffer) {}; - ~GpdInfoTitle() {}; + ~GpdInfoTitle() = default; std::vector GetAchievementsIds() const; diff --git a/src/xenia/kernel/xam/xdbf/spa_info.h b/src/xenia/kernel/xam/xdbf/spa_info.h index 45a0a6fe8..eec35f3e3 100644 --- a/src/xenia/kernel/xam/xdbf/spa_info.h +++ b/src/xenia/kernel/xam/xdbf/spa_info.h @@ -130,6 +130,7 @@ static_assert_size(AchievementTableEntry, 0x24); class SpaInfo : public XdbfFile { public: SpaInfo(const std::span buffer); + ~SpaInfo() = default; void Load(); diff --git a/src/xenia/kernel/xam/xdbf/xdbf_io.h b/src/xenia/kernel/xam/xdbf/xdbf_io.h index 92cc8eb4d..ba7f532b1 100644 --- a/src/xenia/kernel/xam/xdbf/xdbf_io.h +++ b/src/xenia/kernel/xam/xdbf/xdbf_io.h @@ -163,9 +163,11 @@ struct Entry { // https://free60project.github.io/wiki/XDBF.html class XdbfFile { public: - XdbfFile() {}; + XdbfFile() = default; XdbfFile(const std::span buffer); + ~XdbfFile() = default; + const Entry* const GetEntry(uint16_t section, uint64_t id) const; protected: diff --git a/src/xenia/kernel/xboxkrnl/cert_monitor.cc b/src/xenia/kernel/xboxkrnl/cert_monitor.cc index 6085de5af..28d4adb66 100644 --- a/src/xenia/kernel/xboxkrnl/cert_monitor.cc +++ b/src/xenia/kernel/xboxkrnl/cert_monitor.cc @@ -7,21 +7,11 @@ ****************************************************************************** */ -#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h" - -#include - -#include "xenia/base/clock.h" -#include "xenia/base/debugging.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/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/xthread.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xboxkrnl/cert_monitor.h b/src/xenia/kernel/xboxkrnl/cert_monitor.h index 16a80d982..f2c228821 100644 --- a/src/xenia/kernel/xboxkrnl/cert_monitor.h +++ b/src/xenia/kernel/xboxkrnl/cert_monitor.h @@ -10,11 +10,7 @@ #ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_ #define XENIA_KERNEL_KERNEL_XBOXKRNL_CERT_MONITOR_H_ -#include - -#include "xenia/base/threading.h" #include "xenia/cpu/export_resolver.h" -#include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_state.h" namespace xe { diff --git a/src/xenia/kernel/xboxkrnl/debug_monitor.cc b/src/xenia/kernel/xboxkrnl/debug_monitor.cc index 2e1bf75ac..85a55dfc9 100644 --- a/src/xenia/kernel/xboxkrnl/debug_monitor.cc +++ b/src/xenia/kernel/xboxkrnl/debug_monitor.cc @@ -7,22 +7,13 @@ ****************************************************************************** */ -#include "xenia/kernel/xboxkrnl/xboxkrnl_module.h" - -#include - -#include "xenia/base/clock.h" #include "xenia/base/debugging.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/kernel/kernel_state.h" -#include "xenia/kernel/user_module.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/xthread.h" DECLARE_bool(kernel_pix); diff --git a/src/xenia/kernel/xboxkrnl/debug_monitor.h b/src/xenia/kernel/xboxkrnl/debug_monitor.h index 38a7581b8..464ccfc38 100644 --- a/src/xenia/kernel/xboxkrnl/debug_monitor.h +++ b/src/xenia/kernel/xboxkrnl/debug_monitor.h @@ -10,11 +10,7 @@ #ifndef XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_ #define XENIA_KERNEL_KERNEL_XBOXKRNL_DEBUG_MONITOR_H_ -#include - -#include "xenia/base/threading.h" #include "xenia/cpu/export_resolver.h" -#include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_state.h" namespace xe { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_audio.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_audio.cc index 7a1139fe4..2430ce7f3 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_audio.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_audio.cc @@ -8,7 +8,6 @@ */ #include "xenia/apu/audio_system.h" -#include "xenia/base/logging.h" #include "xenia/emulator.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_audio_xma.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_audio_xma.cc index b0ea18c50..b529ffc41 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_audio_xma.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_audio_xma.cc @@ -7,11 +7,8 @@ ****************************************************************************** */ -#include - #include "xenia/apu/audio_system.h" #include "xenia/apu/xma_decoder.h" -#include "xenia/base/assert.h" #include "xenia/base/logging.h" #include "xenia/emulator.h" #include "xenia/kernel/kernel_state.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc index e9c2ea969..309dee985 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_debug.cc @@ -13,7 +13,6 @@ #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xthread.h" -#include "xenia/xbox.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_error.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_error.cc index aa47aa128..3a7e0e0a8 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_error.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_error.cc @@ -7,17 +7,12 @@ ****************************************************************************** */ -#include - -#include "xenia/base/atomic.h" +#include "xenia/kernel/xboxkrnl/xboxkrnl_error.h" #include "xenia/base/logging.h" -#include "xenia/base/string.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/user_module.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/xthread.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_error.h b/src/xenia/kernel/xboxkrnl/xboxkrnl_error.h index 9cd5240fc..db39eabe3 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_error.h +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_error.h @@ -10,8 +10,7 @@ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_ERROR_H_ -#include "xenia/kernel/util/shim_utils.h" -#include "xenia/xbox.h" +#include namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_hid.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_hid.cc index 15e60161e..2e1e71786 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_hid.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_hid.cc @@ -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/xboxkrnl/xboxkrnl_private.h" -#include "xenia/xbox.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_io.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_io.cc index 2541138a7..743716d4f 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_io.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_io.cc @@ -8,9 +8,6 @@ */ #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/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_io_info.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_io_info.cc index 69f86dfd7..cb651489e 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_io_info.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_io_info.cc @@ -8,19 +8,12 @@ */ #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/volume.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" -#include "xenia/kernel/xevent.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/xbox.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.cc index 0f7ebf20b..7aa93d686 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.cc @@ -7,14 +7,10 @@ ****************************************************************************** */ -#include - -#include "xenia/base/assert.h" +#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h" #include "xenia/base/logging.h" -#include "xenia/base/math.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" -#include "xenia/kernel/xboxkrnl/xboxkrnl_memory.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.h b/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.h index 8c563011f..545d9a355 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.h +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_memory.h @@ -15,7 +15,6 @@ namespace xe { namespace kernel { - namespace xboxkrnl { uint32_t xeMmAllocatePhysicalMemoryEx(uint32_t flags, uint32_t region_size, diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_misc.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_misc.cc index ca345ccd2..1689c9486 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_misc.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_misc.cc @@ -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/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xthread.h" #include "xenia/xbox.h" + namespace xe { namespace kernel { namespace xboxkrnl { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_module.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_module.cc index 1474715e7..6946f74d7 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_module.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_module.cc @@ -9,22 +9,12 @@ #include "xenia/kernel/xboxkrnl/xboxkrnl_module.h" -#include - -#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/math.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/user_module.h" #include "xenia/kernel/xboxkrnl/cert_monitor.h" #include "xenia/kernel/xboxkrnl/debug_monitor.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" -#include "xenia/kernel/xthread.h" DEFINE_string(cl, "", "Specify additional command-line provided to guest.", "Kernel"); diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_module.h b/src/xenia/kernel/xboxkrnl/xboxkrnl_module.h index e76bf8db8..061fedb25 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_module.h +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_module.h @@ -10,9 +10,6 @@ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_MODULE_H_ -#include - -#include "xenia/base/threading.h" #include "xenia/cpu/export_resolver.h" #include "xenia/kernel/kernel_module.h" #include "xenia/kernel/kernel_state.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_modules.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_modules.cc index a0c88beea..42e737bc3 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_modules.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_modules.cc @@ -7,13 +7,11 @@ ****************************************************************************** */ -#include "xboxkrnl_modules.h" +#include "xenia/kernel/xboxkrnl/xboxkrnl_modules.h" #include "xenia/base/logging.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/xex2_info.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.cc index a5c9cd528..356c9b2f1 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.cc @@ -8,19 +8,14 @@ */ #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/utf8.h" #include "xenia/cpu/processor.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_threading.h" -#include "xenia/kernel/xobject.h" -#include "xenia/kernel/xsemaphore.h" #include "xenia/kernel/xthread.h" #include "xenia/xbox.h" + namespace xe { namespace kernel { namespace xboxkrnl { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.h b/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.h index e8b320418..96295b0cb 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.h +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_ob.h @@ -10,11 +10,15 @@ #ifndef 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 kernel { namespace xboxkrnl { + void xeObDereferenceObject(PPCContext* context, uint32_t native_ptr); void xeObSplitName(X_ANSI_STRING input_string, X_ANSI_STRING* leading_path_component, diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_rtl.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_rtl.cc index 1c6b906b0..76a098149 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_rtl.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_rtl.cc @@ -9,22 +9,15 @@ #include "xenia/kernel/xboxkrnl/xboxkrnl_rtl.h" -#include -#include - #include "xenia/base/atomic.h" -#include "xenia/base/chrono.h" -#include "xenia/base/logging.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/user_module.h" #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" -#include "xenia/kernel/xevent.h" #include "xenia/kernel/xthread.h" + namespace xe { namespace kernel { namespace xboxkrnl { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc index 7eeffbc7b..1554e30ff 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_strings.cc @@ -7,17 +7,8 @@ ****************************************************************************** */ -#include -#include -#include -#include - -#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/xboxkrnl/xboxkrnl_private.h" -#include "xenia/kernel/xthread.h" #include "xenia/xbox.h" DEFINE_bool(log_string_format_kernel_calls, false, diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc index a79301c8d..845a85745 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc @@ -8,21 +8,12 @@ */ #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" -#include -#include #include "xenia/base/atomic.h" #include "xenia/base/clock.h" -#include "xenia/base/logging.h" -#include "xenia/base/mutex.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/xboxkrnl/xboxkrnl_private.h" -#include "xenia/kernel/xevent.h" -#include "xenia/kernel/xmutant.h" #include "xenia/kernel/xsemaphore.h" -#include "xenia/kernel/xthread.h" #include "xenia/kernel/xtimer.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc index 2fc29e5ed..81c3473e3 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc @@ -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/xboxkrnl/xboxkrnl_private.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_video.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_video.cc index 9b1b1faa7..166d63776 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_video.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_video.cc @@ -12,8 +12,6 @@ #include "xenia/base/logging.h" #include "xenia/emulator.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/util/shim_utils.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_video.h b/src/xenia/kernel/xboxkrnl/xboxkrnl_video.h index 4cb3861f4..8cee8e3f2 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_video.h +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_video.h @@ -10,7 +10,6 @@ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_VIDEO_H_ -#include "xenia/kernel/util/shim_utils.h" #include "xenia/xbox.h" namespace xe { diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc index 5d1694d9b..34bc37c11 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.cc @@ -9,9 +9,7 @@ #include "xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h" #include "xenia/base/logging.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/xboxkrnl/xboxkrnl_private.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h b/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h index c40caf1be..7d99144cd 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_xconfig.h @@ -10,8 +10,8 @@ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_XCONFIG_H_ -#include "xenia/kernel/util/shim_utils.h" -#include "xenia/xbox.h" +#include +#include namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xenumerator.h b/src/xenia/kernel/xenumerator.h index 3fd8145ef..119c3653d 100644 --- a/src/xenia/kernel/xenumerator.h +++ b/src/xenia/kernel/xenumerator.h @@ -10,14 +10,11 @@ #ifndef XENIA_KERNEL_XENUMERATOR_H_ #define XENIA_KERNEL_XENUMERATOR_H_ -#include -#include #include #include "xenia/kernel/xam/achievement_manager.h" #include "xenia/kernel/xam/user_tracker.h" #include "xenia/kernel/xobject.h" -#include "xenia/xbox.h" namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xfile.cc b/src/xenia/kernel/xfile.cc index ccea7c1ad..a419b466c 100644 --- a/src/xenia/kernel/xfile.cc +++ b/src/xenia/kernel/xfile.cc @@ -11,12 +11,7 @@ #include "xenia/vfs/virtual_file_system.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/xevent.h" -#include "xenia/memory.h" namespace xe { namespace kernel { @@ -300,8 +295,8 @@ void XFile::RemoveIOCompletionPort(uint32_t key) { } bool XFile::Save(ByteStream* stream) { - XELOGD("XFile {:08X} ({})", handle(), - file_->entry()->absolute_path().c_str()); + // XELOGD("XFile {:08X} ({})", handle(), + // file_->entry()->absolute_path().c_str()); if (!SaveObject(stream)) { return false; @@ -332,7 +327,7 @@ object_ref XFile::Restore(KernelState* kernel_state, auto is_directory = stream->Read(); auto is_synchronous = stream->Read(); - XELOGD("XFile {:08X} ({})", file->handle(), abs_path); + // XELOGD("XFile {:08X} ({})", file->handle(), abs_path); vfs::File* vfs_file = nullptr; vfs::FileAction action; @@ -340,7 +335,7 @@ object_ref XFile::Restore(KernelState* kernel_state, nullptr, abs_path, vfs::FileDisposition::kOpen, access, is_directory, false, &vfs_file, &action); if (XFAILED(res)) { - XELOGE("Failed to open XFile: error {:08X}", res); + // XELOGE("Failed to open XFile: error {:08X}", res); return object_ref(file); } diff --git a/src/xenia/kernel/xfile.h b/src/xenia/kernel/xfile.h index dedadf142..b0f201de0 100644 --- a/src/xenia/kernel/xfile.h +++ b/src/xenia/kernel/xfile.h @@ -12,9 +12,7 @@ #include -#include "xenia/kernel/xevent.h" #include "xenia/kernel/xiocompletion.h" -#include "xenia/kernel/xobject.h" #include "xenia/vfs/device.h" #include "xenia/vfs/entry.h" #include "xenia/vfs/file.h" diff --git a/src/xenia/kernel/xobject.cc b/src/xenia/kernel/xobject.cc index 96495d782..d7f1d85bd 100644 --- a/src/xenia/kernel/xobject.cc +++ b/src/xenia/kernel/xobject.cc @@ -12,7 +12,6 @@ #include #include "xenia/base/byte_stream.h" -#include "xenia/base/clock.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/util/shim_utils.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_private.h" diff --git a/src/xenia/kernel/xsemaphore.h b/src/xenia/kernel/xsemaphore.h index 1ec29f56e..77278af9f 100644 --- a/src/xenia/kernel/xsemaphore.h +++ b/src/xenia/kernel/xsemaphore.h @@ -14,6 +14,7 @@ #include "xenia/kernel/xobject.h" #include "xenia/kernel/xthread.h" #include "xenia/xbox.h" + namespace xe { namespace kernel { diff --git a/src/xenia/kernel/xsocket.h b/src/xenia/kernel/xsocket.h index 607341a9d..b3dab0853 100644 --- a/src/xenia/kernel/xsocket.h +++ b/src/xenia/kernel/xsocket.h @@ -14,7 +14,6 @@ #include #include "xenia/base/byte_order.h" -#include "xenia/base/math.h" #include "xenia/kernel/xobject.h" namespace xe { diff --git a/src/xenia/kernel/xsymboliclink.h b/src/xenia/kernel/xsymboliclink.h index 12e339250..c944b1674 100644 --- a/src/xenia/kernel/xsymboliclink.h +++ b/src/xenia/kernel/xsymboliclink.h @@ -10,11 +10,6 @@ #ifndef XENIA_KERNEL_XSYMBOLICLINK_H_ #define XENIA_KERNEL_XSYMBOLICLINK_H_ -#include -#include - -#include "xenia/base/mutex.h" -#include "xenia/base/threading.h" #include "xenia/kernel/xobject.h" #include "xenia/xbox.h" diff --git a/src/xenia/kernel/xthread.cc b/src/xenia/kernel/xthread.cc index 559afd6bd..a3266a6eb 100644 --- a/src/xenia/kernel/xthread.cc +++ b/src/xenia/kernel/xthread.cc @@ -9,25 +9,16 @@ #include "xenia/kernel/xthread.h" -#include - -#include "third_party/fmt/include/fmt/format.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/math.h" #include "xenia/base/profiling.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/emulator.h" #include "xenia/kernel/kernel_state.h" #include "xenia/kernel/user_module.h" #include "xenia/kernel/xboxkrnl/xboxkrnl_threading.h" -#include "xenia/kernel/xevent.h" -#include "xenia/kernel/xmutant.h" + DEFINE_bool(ignore_thread_priorities, true, "Ignores game-specified thread priorities.", "Kernel"); 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, "A hack for games with setjmp/longjmp issues.", "Kernel"); #endif + namespace xe { namespace kernel { @@ -46,8 +38,6 @@ const uint32_t XAPC::kSize; const uint32_t XAPC::kDummyKernelRoutine; const uint32_t XAPC::kDummyRundownRoutine; -using xe::cpu::ppc::PPCOpcode; - using namespace xe::literals; uint32_t next_xthread_id_ = 0; diff --git a/src/xenia/kernel/xtimer.cc b/src/xenia/kernel/xtimer.cc index b5b9530fa..6d9adcc6b 100644 --- a/src/xenia/kernel/xtimer.cc +++ b/src/xenia/kernel/xtimer.cc @@ -9,9 +9,7 @@ #include "xenia/kernel/xtimer.h" -#include "xenia/base/chrono.h" #include "xenia/base/logging.h" -#include "xenia/cpu/processor.h" #include "xenia/kernel/xthread.h" namespace xe { diff --git a/src/xenia/ui/imgui_notification.h b/src/xenia/ui/imgui_notification.h index e16a73de2..6e0ca6cb2 100644 --- a/src/xenia/ui/imgui_notification.h +++ b/src/xenia/ui/imgui_notification.h @@ -30,7 +30,7 @@ enum class NotificationAlignment : uint8_t { kAlignUnknown = 0xFF }; -const static std::vector notification_position_id_screen_offset = { +inline const std::vector notification_position_id_screen_offset = { {0.50f, 0.45f}, // CENTER-CENTER - 0 {0.50f, 0.10f}, // CENTER-TOP - 1 {0.50f, 0.80f}, // CENTER-BOTTOM - 2 diff --git a/src/xenia/xbox.h b/src/xenia/xbox.h index e89e3a4a4..176bc9d1d 100644 --- a/src/xenia/xbox.h +++ b/src/xenia/xbox.h @@ -13,7 +13,6 @@ #include #include -#include "xenia/base/chrono.h" #include "xenia/base/memory.h" #include "xenia/base/string.h" @@ -482,48 +481,6 @@ struct X_KSPINLOCK { xe::be prcb_of_owner; }; static_assert_size(X_KSPINLOCK, 4); - -struct X_FILETIME { - static constexpr uint64_t minimal_valid_time = 125911584000000000; - static constexpr uint64_t maximal_valid_time = 157469184000000000; - - xe::be high_part; - xe::be low_part; - - X_FILETIME() { - high_part = 0; - low_part = 0; - } - - X_FILETIME(uint64_t filetime) { - high_part = static_cast(filetime >> 32); - low_part = static_cast(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(file_time >> 32); - low_part = static_cast(file_time); - } - - chrono::WinSystemClock::time_point to_time_point() const { - const uint64_t filetime = - (static_cast(high_part) << 32) | low_part; - - return chrono::WinSystemClock::from_file_time(filetime); - } - - bool is_valid() const { - const uint64_t filetime = - (static_cast(high_part) << 32) | low_part; - - return filetime >= minimal_valid_time && filetime <= maximal_valid_time; - } -}; -static_assert_size(X_FILETIME, 0x8); #pragma pack(pop) // Found by dumping the kSectionStringTable sections of various games: @@ -696,7 +653,7 @@ enum class XContentType : uint32_t { kCommunityGame = 0x02000000, }; -const static std::map XContentTypeMap = { +inline const std::map XContentTypeMap = { {XContentType::kSavedGame, "Saved Game"}, {XContentType::kMarketplaceContent, "Marketplace Content"}, {XContentType::kPublisher, "Publisher"},