[XBOXKRNL/XCONFIG] - Properly set PC values
- Adding PC Related flags - set correct size of XCONFIG_USER_PC_HINT
This commit is contained in:
parent
01d46c20ff
commit
248d0a4eda
|
@ -139,7 +139,10 @@ X_STATUS xeExGetXConfigSetting(X_CONFIG_CATEGORY category, uint16_t setting,
|
||||||
break;
|
break;
|
||||||
case XCONFIG_USER_PC_FLAGS:
|
case XCONFIG_USER_PC_FLAGS:
|
||||||
setting_size = 1;
|
setting_size = 1;
|
||||||
value[0] = static_cast<uint8_t>(0);
|
// All related flags must be set for PC to function
|
||||||
|
// Both flags set even when PC are off
|
||||||
|
value[0] =
|
||||||
|
X_PC_FLAGS::XBLAllowed | X_PC_FLAGS::XBLMembershipCreationAllowed;
|
||||||
break;
|
break;
|
||||||
case XCONFIG_USER_AV_COMPONENT_SCREENSZ:
|
case XCONFIG_USER_AV_COMPONENT_SCREENSZ:
|
||||||
setting_size = 4;
|
setting_size = 4;
|
||||||
|
@ -165,9 +168,74 @@ X_STATUS xeExGetXConfigSetting(X_CONFIG_CATEGORY category, uint16_t setting,
|
||||||
xe::store_and_swap<int32_t>(value, 0);
|
xe::store_and_swap<int32_t>(value, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case XCONFIG_USER_PC_GAME:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value,
|
||||||
|
X_PC_GAMES_FLAGS::NoGameRestrictions);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_PASSWORD:
|
||||||
|
setting_size = 4;
|
||||||
|
std::memset(value, 0, 4);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_MOVIE:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value,
|
||||||
|
X_PC_MOVIE_FLAGS::NoMovieRestrictions);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_GAME_RATING:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value,
|
||||||
|
X_PC_GAME_RATING_FLAGS::DefaultGame);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_MOVIE_RATING:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value,
|
||||||
|
X_PC_MOVIE_RATING_FLAGS::DefaultMovie);
|
||||||
|
break;
|
||||||
case XCONFIG_USER_PC_HINT:
|
case XCONFIG_USER_PC_HINT:
|
||||||
setting_size = 1;
|
// ExSetXConfigSetting and ExGetXConfigSetting request size of 0x40
|
||||||
value[0] = static_cast<uint8_t>(0);
|
setting_size = 0x40;
|
||||||
|
store_and_swap<std::string>(value, "");
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_HINT_ANSWER:
|
||||||
|
setting_size = 0x20;
|
||||||
|
store_and_swap<std::string>(value, "");
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_ARCADE_FLAGS:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value, X_ARCADE_FLAGS::AutoDownloadOff);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_VERSION:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value, X_PC_VERSION::VersionOne);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_TV:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value, X_PC_TV::NoTVRestrictions);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_TV_RATING:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value, X_PC_TV_RATING::DefaultTV);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_EXPLICIT_VIDEO:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(
|
||||||
|
value, X_PC_EXPLICIT_VIDEO::ExplicitVideoAllowed);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_EXPLICIT_VIDEO_RATING:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(
|
||||||
|
value, X_PC_EXPLICIT_VIDEO_RATING::ExplicitAllowed);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_UNRATED_VIDEO:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(value,
|
||||||
|
X_PC_EXPLICIT_UNRATED::UnratedALL);
|
||||||
|
break;
|
||||||
|
case XCONFIG_USER_PC_UNRATED_VIDEO_RATING:
|
||||||
|
setting_size = 4;
|
||||||
|
xe::store_and_swap<uint32_t>(
|
||||||
|
value, X_PC_EXPLICIT_UNRATED_RATING::DefaultExplicitUnrated);
|
||||||
break;
|
break;
|
||||||
case XCONFIG_USER_VIDEO_OUTPUT_BLACK_LEVELS:
|
case XCONFIG_USER_VIDEO_OUTPUT_BLACK_LEVELS:
|
||||||
setting_size = 4;
|
setting_size = 4;
|
||||||
|
|
|
@ -249,15 +249,98 @@ enum X_RETAIL_FLAGS : uint32_t {
|
||||||
enum X_PC_FLAGS : uint8_t {
|
enum X_PC_FLAGS : uint8_t {
|
||||||
XBLAllowed = 0x01,
|
XBLAllowed = 0x01,
|
||||||
XBLMembershipCreationAllowed = 0x02,
|
XBLMembershipCreationAllowed = 0x02,
|
||||||
|
XboxOneGameAllowed = 0x04,
|
||||||
PCEnabled = 0x80,
|
PCEnabled = 0x80,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum X_PC_HINTS : uint8_t {
|
// XCONFIG_USER_PC_GAMES
|
||||||
FavoriteFictionalCharactar = 0,
|
enum X_PC_GAMES_FLAGS : uint32_t {
|
||||||
FavoritePersonFromHistory = 1,
|
EarlyChildhoodMax = 0x00000000,
|
||||||
FavoriteChildhoodBookOrStory = 2,
|
EveryoneMax = 0x00000002,
|
||||||
FavoriteMovie = 3,
|
Everyone_10Max = 0x00000004,
|
||||||
FavoriteFood = 4
|
TeenMax = 0x00000006,
|
||||||
|
MatureMax = 0x00000008,
|
||||||
|
NoGameRestrictions = 0x000000FF,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_PASSWORD
|
||||||
|
enum X_PC_PASSWORD_FLAGS : uint32_t {
|
||||||
|
XButton = 0x00000001,
|
||||||
|
YButton = 0x00000002,
|
||||||
|
LeftButton = 0x00000003,
|
||||||
|
RightButton = 0x00000004,
|
||||||
|
UPButton = 0x00000005,
|
||||||
|
DownButton = 0x00000006,
|
||||||
|
LTButton = 0x00000009,
|
||||||
|
RTButton = 0x0000000A,
|
||||||
|
LBButton = 0x0000000B,
|
||||||
|
RBButton = 0x0000000C,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_MOVIE
|
||||||
|
enum X_PC_MOVIE_FLAGS : uint32_t {
|
||||||
|
GeneralAudiences = 0x00000001,
|
||||||
|
ParentalGuidance = 0x00000003,
|
||||||
|
ParentalGuidance13 = 0x00000004,
|
||||||
|
Restricted = 0x00000006,
|
||||||
|
NoMovieRestrictions = 0x000000FF,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_GAME_RATING
|
||||||
|
enum X_PC_GAME_RATING_FLAGS : uint32_t {
|
||||||
|
DefaultGame = 0x00000000,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_MOVIE_RATING
|
||||||
|
enum X_PC_MOVIE_RATING_FLAGS : uint32_t {
|
||||||
|
DefaultMovie = 0x00000000,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_ARCADE_FLAGS
|
||||||
|
enum X_ARCADE_FLAGS : uint32_t {
|
||||||
|
AutoDownloadOff = 0x00000000,
|
||||||
|
AutoDownloadNewReleases = 0x00000001,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_VERSION
|
||||||
|
enum X_PC_VERSION : uint32_t {
|
||||||
|
VersionOne = 0x00000001,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_TV
|
||||||
|
enum X_PC_TV : uint32_t {
|
||||||
|
TVG = 0X00000006,
|
||||||
|
TVPG = 0X00000008,
|
||||||
|
TV14 = 0X0000000a,
|
||||||
|
TVMatureAudience = 0x0000000C,
|
||||||
|
NoTVRestrictions = 0X000000FF,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_TV_RATING
|
||||||
|
enum X_PC_TV_RATING : uint32_t {
|
||||||
|
DefaultTV = 0X00000000,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_EXPLICIT_VIDEO
|
||||||
|
enum X_PC_EXPLICIT_VIDEO : uint32_t {
|
||||||
|
ExplicitVideoAllowed = 0X000000FF,
|
||||||
|
ExplicitVideoBanned = 0X00000000,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_EXPLICIT_VIDEO_RATING
|
||||||
|
enum X_PC_EXPLICIT_VIDEO_RATING : uint32_t {
|
||||||
|
ExplicitAllowed = 0X00000000,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_UNRATED_VIDEO
|
||||||
|
enum X_PC_EXPLICIT_UNRATED : uint32_t {
|
||||||
|
ExplicitUnratedBanned = 0X00000000,
|
||||||
|
UnratedALL = 0X000000FF,
|
||||||
|
};
|
||||||
|
|
||||||
|
// XCONFIG_USER_PC_UNRATED_VIDEO_RATING
|
||||||
|
enum X_PC_EXPLICIT_UNRATED_RATING : uint32_t {
|
||||||
|
DefaultExplicitUnrated = 0X00000000,
|
||||||
};
|
};
|
||||||
|
|
||||||
// XCONFIG_USER_VIDEO_OUTPUT_BLACK_LEVELS
|
// XCONFIG_USER_VIDEO_OUTPUT_BLACK_LEVELS
|
||||||
|
|
Loading…
Reference in New Issue