[Module] Include XEX_SYSTEM_FLAGS in the log
This commit is contained in:
parent
9555e7bde4
commit
60318a5db6
|
@ -614,6 +614,12 @@ void UserModule::Dump() {
|
|||
case XEX_HEADER_SYSTEM_FLAGS: {
|
||||
sb.AppendFormat(" XEX_HEADER_SYSTEM_FLAGS: {:08X}\n",
|
||||
static_cast<uint32_t>(opt_header.value));
|
||||
|
||||
for (const auto& entry : xex2_system_flags_map) {
|
||||
if (opt_header.value & entry.first) {
|
||||
sb.AppendFormat(" {}\n", entry.second);
|
||||
}
|
||||
}
|
||||
} break;
|
||||
case XEX_HEADER_EXECUTION_INFO: {
|
||||
sb.Append(" XEX_HEADER_EXECUTION_INFO:\n");
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#define XENIA_KERNEL_UTIL_XEX2_INFO_H_
|
||||
|
||||
#include <cstdint>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "xenia/base/byte_order.h"
|
||||
|
||||
|
@ -637,6 +638,51 @@ struct X_IMAGE_EXPORT_DIRECTORY {
|
|||
uint32_t AddressOfNameOrdinals; // RVA from base of image
|
||||
};
|
||||
|
||||
const std::unordered_map<uint32_t, std::string> 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"},
|
||||
{XEX_SYSTEM_HANDLE_MCE_INPUT, "XEX_SYSTEM_HANDLE_MCE_INPUT"},
|
||||
{XEX_SYSTEM_RESTRICTED_HUD_FEATURES, "XEX_SYSTEM_RESTRICTED_HUD_FEATURES"},
|
||||
{XEX_SYSTEM_HANDLE_GAMEPAD_DISCONNECT,
|
||||
"XEX_SYSTEM_HANDLE_GAMEPAD_DISCONNECT"},
|
||||
{XEX_SYSTEM_INSECURE_SOCKETS, "XEX_SYSTEM_INSECURE_SOCKETS"},
|
||||
{XEX_SYSTEM_XBOX1_INTEROPERABILITY, "XEX_SYSTEM_XBOX1_INTEROPERABILITY"},
|
||||
{XEX_SYSTEM_DASH_CONTEXT, "XEX_SYSTEM_DASH_CONTEXT"},
|
||||
{XEX_SYSTEM_USES_GAME_VOICE_CHANNEL, "XEX_SYSTEM_USES_GAME_VOICE_CHANNEL"},
|
||||
{XEX_SYSTEM_PAL50_INCOMPATIBLE, "XEX_SYSTEM_PAL50_INCOMPATIBLE"},
|
||||
{XEX_SYSTEM_INSECURE_UTILITY_DRIVE, "XEX_SYSTEM_INSECURE_UTILITY_DRIVE"},
|
||||
{XEX_SYSTEM_XAM_HOOKS, "XEX_SYSTEM_XAM_HOOKS"},
|
||||
{XEX_SYSTEM_ACCESS_PII, "XEX_SYSTEM_ACCESS_PII"},
|
||||
{XEX_SYSTEM_CROSS_PLATFORM_SYSTEM_LINK,
|
||||
"XEX_SYSTEM_CROSS_PLATFORM_SYSTEM_LINK"},
|
||||
{XEX_SYSTEM_MULTIDISC_SWAP, "XEX_SYSTEM_MULTIDISC_SWAP"},
|
||||
{XEX_SYSTEM_MULTIDISC_INSECURE_MEDIA,
|
||||
"XEX_SYSTEM_MULTIDISC_INSECURE_MEDIA"},
|
||||
{XEX_SYSTEM_AP25_MEDIA, "XEX_SYSTEM_AP25_MEDIA"},
|
||||
{XEX_SYSTEM_NO_CONFIRM_EXIT, "XEX_SYSTEM_NO_CONFIRM_EXIT"},
|
||||
{XEX_SYSTEM_ALLOW_BACKGROUND_DOWNLOAD,
|
||||
"XEX_SYSTEM_ALLOW_BACKGROUND_DOWNLOAD"},
|
||||
{XEX_SYSTEM_CREATE_PERSISTABLE_RAMDRIVE,
|
||||
"XEX_SYSTEM_CREATE_PERSISTABLE_RAMDRIVE"},
|
||||
{XEX_SYSTEM_INHERIT_PERSISTENT_RAMDRIVE,
|
||||
"XEX_SYSTEM_INHERIT_PERSISTENT_RAMDRIVE"},
|
||||
{XEX_SYSTEM_ALLOW_HUD_VIBRATION, "XEX_SYSTEM_ALLOW_HUD_VIBRATION"},
|
||||
{XEX_SYSTEM_ACCESS_UTILITY_PARTITIONS,
|
||||
"XEX_SYSTEM_ACCESS_UTILITY_PARTITIONS"},
|
||||
{XEX_SYSTEM_IPTV_INPUT_SUPPORTED, "XEX_SYSTEM_IPTV_INPUT_SUPPORTED"},
|
||||
{XEX_SYSTEM_PREFER_BIG_BUTTON_INPUT, "XEX_SYSTEM_PREFER_BIG_BUTTON_INPUT"},
|
||||
{XEX_SYSTEM_ALLOW_EXTENDED_SYSTEM_RESERVATION,
|
||||
"XEX_SYSTEM_ALLOW_EXTENDED_SYSTEM_RESERVATION"},
|
||||
{XEX_SYSTEM_MULTIDISC_CROSS_TITLE, "XEX_SYSTEM_MULTIDISC_CROSS_TITLE"},
|
||||
{XEX_SYSTEM_INSTALL_INCOMPATIBLE, "XEX_SYSTEM_INSTALL_INCOMPATIBLE"},
|
||||
{XEX_SYSTEM_ALLOW_AVATAR_GET_METADATA_BY_XUID,
|
||||
"XEX_SYSTEM_ALLOW_AVATAR_GET_METADATA_BY_XUID"},
|
||||
{XEX_SYSTEM_ALLOW_CONTROLLER_SWAPPING,
|
||||
"XEX_SYSTEM_ALLOW_CONTROLLER_SWAPPING"},
|
||||
{XEX_SYSTEM_DASH_EXTENSIBILITY_MODULE,
|
||||
"XEX_SYSTEM_DASH_EXTENSIBILITY_MODULE"}};
|
||||
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_KERNEL_UTIL_XEX2_INFO_H_
|
||||
|
|
Loading…
Reference in New Issue