t7x/src/client/game/structs.hpp

876 lines
23 KiB
C++
Raw Normal View History

2022-08-10 05:26:19 -04:00
#pragma once
2022-10-19 15:07:07 -04:00
#ifdef __cplusplus
2022-08-10 05:26:19 -04:00
namespace game
{
2022-10-19 15:07:07 -04:00
#endif
2022-10-28 16:16:14 -04:00
2022-10-29 14:05:22 -04:00
enum ControllerIndex_t
{
INVALID_CONTROLLER_PORT = 0xFFFFFFFF,
CONTROLLER_INDEX_FIRST = 0x0,
CONTROLLER_INDEX_0 = 0x0,
CONTROLLER_INDEX_1 = 0x1,
CONTROLLER_INDEX_2 = 0x2,
CONTROLLER_INDEX_3 = 0x3,
CONTROLLER_INDEX_COUNT = 0x4,
};
2022-10-28 16:16:14 -04:00
enum eModes
{
MODE_ZOMBIES = 0x0,
MODE_MULTIPLAYER = 0x1,
MODE_CAMPAIGN = 0x2,
MODE_COUNT = 0x3,
MODE_INVALID = 0x3,
MODE_FIRST = 0x0,
};
2022-10-19 15:07:07 -04:00
enum bdLobbyErrorCode
2022-09-17 02:13:06 -04:00
{
BD_NO_ERROR = 0x0,
BD_TOO_MANY_TASKS = 0x1,
BD_NOT_CONNECTED = 0x2,
BD_SEND_FAILED = 0x3,
BD_HANDLE_TASK_FAILED = 0x4,
BD_START_TASK_FAILED = 0x5,
BD_RESULT_EXCEEDS_BUFFER_SIZE = 0x64,
BD_ACCESS_DENIED = 0x65,
BD_EXCEPTION_IN_DB = 0x66,
BD_MALFORMED_TASK_HEADER = 0x67,
BD_INVALID_ROW = 0x68,
BD_EMPTY_ARG_LIST = 0x69,
BD_PARAM_PARSE_ERROR = 0x6A,
BD_PARAM_MISMATCHED_TYPE = 0x6B,
BD_SERVICE_NOT_AVAILABLE = 0x6C,
BD_CONNECTION_RESET = 0x6D,
BD_INVALID_USER_ID = 0x6E,
BD_LOBBY_PROTOCOL_VERSION_FAILURE = 0x6F,
BD_LOBBY_INTERNAL_FAILURE = 0x70,
BD_LOBBY_PROTOCOL_ERROR = 0x71,
BD_LOBBY_FAILED_TO_DECODE_UTF8 = 0x72,
BD_LOBBY_ASCII_EXPECTED = 0x73,
BD_ASYNCHRONOUS_ERROR = 0xC8,
BD_STREAMING_COMPLETE = 0xC9,
BD_MEMBER_NO_PROPOSAL = 0x12C,
BD_TEAMNAME_ALREADY_EXISTS = 0x12D,
BD_MAX_TEAM_MEMBERSHIPS_LIMITED = 0x12E,
BD_MAX_TEAM_OWNERSHIPS_LIMITED = 0x12F,
BD_NOT_A_TEAM_MEMBER = 0x130,
BD_INVALID_TEAM_ID = 0x131,
BD_INVALID_TEAM_NAME = 0x132,
BD_NOT_A_TEAM_OWNER = 0x133,
BD_NOT_AN_ADMIN_OR_OWNER = 0x134,
BD_MEMBER_PROPOSAL_EXISTS = 0x135,
BD_MEMBER_EXISTS = 0x136,
BD_TEAM_FULL = 0x137,
BD_VULGAR_TEAM_NAME = 0x138,
BD_TEAM_USERID_BANNED = 0x139,
BD_TEAM_EMPTY = 0x13A,
BD_INVALID_TEAM_PROFILE_QUERY_ID = 0x13B,
BD_TEAMNAME_TOO_SHORT = 0x13C,
BD_UNIQUE_PROFILE_DATA_EXISTS_ALREADY = 0x13D,
BD_INVALID_LEADERBOARD_ID = 0x190,
BD_INVALID_STATS_SET = 0x191,
BD_EMPTY_STATS_SET_IGNORED = 0x193,
BD_NO_DIRECT_ACCESS_TO_ARBITRATED_LBS = 0x194,
BD_STATS_WRITE_PERMISSION_DENIED = 0x195,
BD_STATS_WRITE_TYPE_DATA_TYPE_MISMATCH = 0x196,
BD_NO_STATS_FOR_USER = 0x197,
BD_INVALID_ACCESS_TO_UNRANKED_LB = 0x198,
BD_INVALID_EXTERNAL_TITLE_ID = 0x199,
BD_DIFFERENT_LEADERBOARD_SCHEMAS = 0x19A,
BD_TOO_MANY_LEADERBOARDS_REQUESTED = 0x19B,
BD_ENTITLEMENTS_ERROR = 0x19C,
BD_ENTITLEMENTS_INVALID_TITLEID = 0x19D,
BD_ENTITLEMENTS_INVALID_LEADERBOARDID = 0x19E,
BD_ENTITLEMENTS_INVALID_GET_MODE_FOR_TITLE = 0x19F,
BD_ENTITLEMENTS_URL_CONNECTION_ERROR = 0x1A0,
BD_ENTITLEMENTS_CONFIG_ERROR = 0x1A1,
BD_ENTITLEMENTS_NAMED_PARENT_ERROR = 0x1A2,
BD_ENTITLEMENTS_NAMED_KEY_ERROR = 0x1A3,
BD_TOO_MANY_ENTITY_IDS_REQUESTED = 0x1A4,
BD_STATS_READ_FAILED = 0x1A5,
BD_INVALID_TITLE_ID = 0x1F4,
BD_MESSAGING_INVALID_MAIL_ID = 0x258,
BD_SELF_BLOCK_NOT_ALLOWED = 0x259,
BD_GLOBAL_MESSAGE_ACCESS_DENIED = 0x25A,
BD_GLOBAL_MESSAGES_USER_LIMIT_EXCEEDED = 0x25B,
BD_MESSAGING_SENDER_DOES_NOT_EXIST = 0x25C,
BD_AUTH_NO_ERROR = 0x2BC,
BD_AUTH_BAD_REQUEST = 0x2BD,
BD_AUTH_SERVER_CONFIG_ERROR = 0x2BE,
BD_AUTH_BAD_TITLE_ID = 0x2BF,
BD_AUTH_BAD_ACCOUNT = 0x2C0,
BD_AUTH_ILLEGAL_OPERATION = 0x2C1,
BD_AUTH_INCORRECT_LICENSE_CODE = 0x2C2,
BD_AUTH_CREATE_USERNAME_EXISTS = 0x2C3,
BD_AUTH_CREATE_USERNAME_ILLEGAL = 0x2C4,
BD_AUTH_CREATE_USERNAME_VULGAR = 0x2C5,
BD_AUTH_CREATE_MAX_ACC_EXCEEDED = 0x2C6,
BD_AUTH_MIGRATE_NOT_SUPPORTED = 0x2C7,
BD_AUTH_TITLE_DISABLED = 0x2C8,
BD_AUTH_ACCOUNT_EXPIRED = 0x2C9,
BD_AUTH_ACCOUNT_LOCKED = 0x2CA,
BD_AUTH_UNKNOWN_ERROR = 0x2CB,
BD_AUTH_INCORRECT_PASSWORD = 0x2CC,
BD_AUTH_IP_NOT_IN_ALLOWED_RANGE = 0x2CD,
BD_AUTH_WII_TOKEN_VERIFICATION_FAILED = 0x2CE,
BD_AUTH_WII_AUTHENTICATION_FAILED = 0x2CF,
BD_AUTH_IP_KEY_LIMIT_REACHED = 0x2D0,
BD_AUTH_INVALID_GSPID = 0x2D1,
BD_AUTH_INVALID_IP_RANGE_ID = 0x2D2,
BD_AUTH_3DS_TOKEN_VERIFICATION_FAILED = 0x2D1,
BD_AUTH_3DS_AUTHENTICATION_FAILED = 0x2D2,
BD_AUTH_STEAM_APP_ID_MISMATCH = 0x2D3,
BD_AUTH_ABACCOUNTS_APP_ID_MISMATCH = 0x2D4,
BD_AUTH_CODO_USERNAME_NOT_SET = 0x2D5,
BD_AUTH_WIIU_TOKEN_VERIFICATION_FAILED = 0x2D6,
BD_AUTH_WIIU_AUTHENTICATION_FAILED = 0x2D7,
BD_AUTH_CODO_USERNAME_NOT_BASE64 = 0x2D8,
BD_AUTH_CODO_USERNAME_NOT_UTF8 = 0x2D9,
BD_AUTH_TENCENT_TICKET_EXPIRED = 0x2DA,
BD_AUTH_PS3_SERVICE_ID_MISMATCH = 0x2DB,
BD_AUTH_CODOID_NOT_WHITELISTED = 0x2DC,
BD_AUTH_PLATFORM_TOKEN_ERROR = 0x2DD,
BD_AUTH_JSON_FORMAT_ERROR = 0x2DE,
BD_AUTH_REPLY_CONTENT_ERROR = 0x2DF,
BD_AUTH_THIRD_PARTY_TOKEN_EXPIRED = 0x2E0,
BD_AUTH_CONTINUING = 0x2E1,
BD_AUTH_PLATFORM_DEVICE_ID_ERROR = 0x2E4,
BD_NO_PROFILE_INFO_EXISTS = 0x320,
BD_FRIENDSHIP_NOT_REQUSTED = 0x384,
BD_NOT_A_FRIEND = 0x385,
BD_SELF_FRIENDSHIP_NOT_ALLOWED = 0x387,
BD_FRIENDSHIP_EXISTS = 0x388,
BD_PENDING_FRIENDSHIP_EXISTS = 0x389,
BD_USERID_BANNED = 0x38A,
BD_FRIENDS_FULL = 0x38C,
BD_FRIENDS_NO_RICH_PRESENCE = 0x38D,
BD_RICH_PRESENCE_TOO_LARGE = 0x38E,
BD_NO_FILE = 0x3E8,
BD_PERMISSION_DENIED = 0x3E9,
BD_FILESIZE_LIMIT_EXCEEDED = 0x3EA,
BD_FILENAME_MAX_LENGTH_EXCEEDED = 0x3EB,
BD_EXTERNAL_STORAGE_SERVICE_ERROR = 0x3EC,
BD_CHANNEL_DOES_NOT_EXIST = 0x44D,
BD_CHANNEL_ALREADY_SUBSCRIBED = 0x44E,
BD_CHANNEL_NOT_SUBSCRIBED = 0x44F,
BD_CHANNEL_FULL = 0x450,
BD_CHANNEL_SUBSCRIPTIONS_FULL = 0x451,
BD_CHANNEL_NO_SELF_WHISPERING = 0x452,
BD_CHANNEL_ADMIN_REQUIRED = 0x453,
BD_CHANNEL_TARGET_NOT_SUBSCRIBED = 0x454,
BD_CHANNEL_REQUIRES_PASSWORD = 0x455,
BD_CHANNEL_TARGET_IS_SELF = 0x456,
BD_CHANNEL_PUBLIC_BAN_NOT_ALLOWED = 0x457,
BD_CHANNEL_USER_BANNED = 0x458,
BD_CHANNEL_PUBLIC_PASSWORD_NOT_ALLOWED = 0x459,
BD_CHANNEL_PUBLIC_KICK_NOT_ALLOWED = 0x45A,
BD_CHANNEL_MUTED = 0x45B,
BD_EVENT_DESC_TRUNCATED = 0x4B0,
BD_CONTENT_UNLOCK_UNKNOWN_ERROR = 0x514,
BD_UNLOCK_KEY_INVALID = 0x515,
BD_UNLOCK_KEY_ALREADY_USED_UP = 0x516,
BD_SHARED_UNLOCK_LIMIT_REACHED = 0x517,
BD_DIFFERENT_HARDWARE_ID = 0x518,
BD_INVALID_CONTENT_OWNER = 0x519,
BD_CONTENT_UNLOCK_INVALID_USER = 0x51A,
BD_CONTENT_UNLOCK_INVALID_CATEGORY = 0x51B,
BD_KEY_ARCHIVE_INVALID_WRITE_TYPE = 0x5DC,
BD_KEY_ARCHIVE_EXCEEDED_MAX_IDS_PER_REQUEST = 0x5DD,
BD_BANDWIDTH_TEST_TRY_AGAIN = 0x712,
BD_BANDWIDTH_TEST_STILL_IN_PROGRESS = 0x713,
BD_BANDWIDTH_TEST_NOT_PROGRESS = 0x714,
BD_BANDWIDTH_TEST_SOCKET_ERROR = 0x715,
BD_INVALID_SESSION_NONCE = 0x76D,
BD_ARBITRATION_FAILURE = 0x76F,
BD_ARBITRATION_USER_NOT_REGISTERED = 0x771,
BD_ARBITRATION_NOT_CONFIGURED = 0x772,
BD_CONTENTSTREAMING_FILE_NOT_AVAILABLE = 0x7D0,
BD_CONTENTSTREAMING_STORAGE_SPACE_EXCEEDED = 0x7D1,
BD_CONTENTSTREAMING_NUM_FILES_EXCEEDED = 0x7D2,
BD_CONTENTSTREAMING_UPLOAD_BANDWIDTH_EXCEEDED = 0x7D3,
BD_CONTENTSTREAMING_FILENAME_MAX_LENGTH_EXCEEDED = 0x7D4,
BD_CONTENTSTREAMING_MAX_THUMB_DATA_SIZE_EXCEEDED = 0x7D5,
BD_CONTENTSTREAMING_DOWNLOAD_BANDWIDTH_EXCEEDED = 0x7D6,
BD_CONTENTSTREAMING_NOT_ENOUGH_DOWNLOAD_BUFFER_SPACE = 0x7D7,
BD_CONTENTSTREAMING_SERVER_NOT_CONFIGURED = 0x7D8,
BD_CONTENTSTREAMING_INVALID_APPLE_RECEIPT = 0x7DA,
BD_CONTENTSTREAMING_APPLE_STORE_NOT_AVAILABLE = 0x7DB,
BD_CONTENTSTREAMING_APPLE_RECEIPT_FILENAME_MISMATCH = 0x7DC,
BD_CONTENTSTREAMING_HTTP_ERROR = 0x7E4,
BD_CONTENTSTREAMING_FAILED_TO_START_HTTP = 0x7E5,
BD_CONTENTSTREAMING_LOCALE_INVALID = 0x7E6,
BD_CONTENTSTREAMING_LOCALE_MISSING = 0x7E7,
BD_VOTERANK_ERROR_EMPTY_RATING_SUBMISSION = 0x7EE,
BD_VOTERANK_ERROR_MAX_VOTES_EXCEEDED = 0x7EF,
BD_VOTERANK_ERROR_INVALID_RATING = 0x7F0,
BD_MAX_NUM_TAGS_EXCEEDED = 0x82A,
BD_TAGGED_COLLECTION_DOES_NOT_EXIST = 0x82B,
BD_EMPTY_TAG_ARRAY = 0x82C,
BD_INVALID_QUERY_ID = 0x834,
BD_NO_ENTRY_TO_UPDATE = 0x835,
BD_SESSION_INVITE_EXISTS = 0x836,
BD_INVALID_SESSION_ID = 0x837,
BD_ATTACHMENT_TOO_LARGE = 0x838,
BD_INVALID_GROUP_ID = 0xAF0,
BD_MAIL_INVALID_MAIL_ID_ERROR = 0xB55,
BD_UCD_SERVICE_ERROR = 0xC80,
BD_UCD_SERVICE_DISABLED = 0xC81,
BD_UCD_UNINTIALIZED_ERROR = 0xC82,
BD_UCD_ACCOUNT_ALREADY_REGISTERED = 0xC83,
BD_UCD_ACCOUNT_NOT_REGISTERED = 0xC84,
BD_UCD_AUTH_ATTEMPT_FAILED = 0xC85,
BD_UCD_ACCOUNT_LINKING_ERROR = 0xC86,
BD_UCD_ENCRYPTION_ERROR = 0xC87,
BD_UCD_ACCOUNT_DATA_INVALID = 0xC88,
BD_UCD_ACCOUNT_DATA_INVALID_FIRSTNAME = 0xC89,
BD_UCD_ACCOUNT_DATA_INVALID_LASTNAME = 0xC8A,
BD_UCD_ACCOUNT_DATA_INVALID_DOB = 0xC8B,
BD_UCD_ACCOUNT_DATA_INVALID_EMAIL = 0xC8C,
BD_UCD_ACCOUNT_DATA_INVALID_COUNTRY = 0xC8D,
BD_UCD_ACCOUNT_DATA_INVALID_POSTCODE = 0xC8E,
BD_UCD_ACCOUNT_DATA_INVALID_PASSWORD = 0xC8F,
BD_UCD_ACCOUNT_NAME_ALREADY_RESISTERED = 0xC94,
BD_UCD_ACCOUNT_EMAIL_ALREADY_RESISTERED = 0xC95,
BD_UCD_GUEST_ACCOUNT_AUTH_CONFLICT = 0xC96,
BD_TWITCH_SERVICE_ERROR = 0xC1D,
BD_TWITCH_ACCOUNT_ALREADY_LINKED = 0xC1E,
BD_TWITCH_NO_LINKED_ACCOUNT = 0xC1F,
BD_YOUTUBE_SERVICE_ERROR = 0xCE5,
BD_YOUTUBE_SERVICE_COMMUNICATION_ERROR = 0xCE6,
BD_YOUTUBE_USER_DENIED_AUTHORIZATION = 0xCE7,
BD_YOUTUBE_AUTH_MAX_TIME_EXCEEDED = 0xCE8,
BD_YOUTUBE_USER_UNAUTHORIZED = 0xCE9,
BD_YOUTUBE_UPLOAD_MAX_TIME_EXCEEDED = 0xCEA,
BD_YOUTUBE_DUPLICATE_UPLOAD = 0xCEB,
BD_YOUTUBE_FAILED_UPLOAD = 0xCEC,
BD_YOUTUBE_ACCOUNT_ALREADY_REGISTERED = 0xCED,
BD_YOUTUBE_ACCOUNT_NOT_REGISTERED = 0xCEE,
BD_YOUTUBE_CONTENT_SERVER_ERROR = 0xCEF,
BD_YOUTUBE_UPLOAD_DOES_NOT_EXIST = 0xCF0,
BD_YOUTUBE_NO_LINKED_ACCOUNT = 0xCF1,
BD_YOUTUBE_DEVELOPER_TAGS_INVALID = 0xCF2,
BD_TWITTER_AUTH_ATTEMPT_FAILED = 0xDAD,
BD_TWITTER_AUTH_TOKEN_INVALID = 0xDAE,
BD_TWITTER_UPDATE_LIMIT_REACHED = 0xDAF,
BD_TWITTER_UNAVAILABLE = 0xDB0,
BD_TWITTER_ERROR = 0xDB1,
BD_TWITTER_TIMED_OUT = 0xDB2,
BD_TWITTER_DISABLED_FOR_USER = 0xDB3,
BD_TWITTER_ACCOUNT_AMBIGUOUS = 0xDB4,
BD_TWITTER_MAXIMUM_ACCOUNTS_REACHED = 0xDB5,
BD_TWITTER_ACCOUNT_NOT_REGISTERED = 0xDB6,
BD_TWITTER_DUPLICATE_STATUS = 0xDB7,
BD_TWITTER_ACCOUNT_ALREADY_REGISTERED = 0xE1C,
BD_FACEBOOK_AUTH_ATTEMPT_FAILED = 0xE11,
BD_FACEBOOK_AUTH_TOKEN_INVALID = 0xE12,
BD_FACEBOOK_PHOTO_DOES_NOT_EXIST = 0xE13,
BD_FACEBOOK_PHOTO_INVALID = 0xE14,
BD_FACEBOOK_PHOTO_ALBUM_FULL = 0xE15,
BD_FACEBOOK_UNAVAILABLE = 0xE16,
BD_FACEBOOK_ERROR = 0xE17,
BD_FACEBOOK_TIMED_OUT = 0xE18,
BD_FACEBOOK_DISABLED_FOR_USER = 0xE19,
BD_FACEBOOK_ACCOUNT_AMBIGUOUS = 0xE1A,
BD_FACEBOOK_MAXIMUM_ACCOUNTS_REACHED = 0xE1B,
BD_FACEBOOK_INVALID_NUM_PICTURES_REQUESTED = 0xE1C,
BD_FACEBOOK_VIDEO_DOES_NOT_EXIST = 0xE1D,
BD_FACEBOOK_ACCOUNT_ALREADY_REGISTERED = 0xE1E,
BD_APNS_INVALID_PAYLOAD = 0xE74,
BD_APNS_INVALID_TOKEN_LENGTH_ERROR = 0xE76,
BD_MAX_CONSOLEID_LENGTH_EXCEEDED = 0xEE1,
BD_MAX_WHITELIST_LENGTH_EXCEEDED = 0xEE2,
BD_USERGROUP_NAME_ALREADY_EXISTS = 0x1770,
BD_INVALID_USERGROUP_ID = 0x1771,
BD_USER_ALREADY_IN_USERGROUP = 0x1772,
BD_USER_NOT_IN_USERGROUP = 0x1773,
BD_INVALID_USERGROUP_MEMBER_TYPE = 0x1774,
BD_TOO_MANY_MEMBERS_REQUESTED = 0x1775,
BD_USERGROUP_NAME_TOO_SHORT = 0x1776,
BD_RICH_PRESENCE_DATA_TOO_LARGE = 0x1A90,
BD_RICH_PRESENCE_TOO_MANY_USERS = 0x1A91,
BD_PRESENCE_DATA_TOO_LARGE = 0x283C,
BD_PRESENCE_TOO_MANY_USERS = 0x283D,
BD_USER_LOGGED_IN_OTHER_TITLE = 0x283E,
BD_USER_NOT_LOGGED_IN = 0x283F,
BD_SUBSCRIPTION_TOO_MANY_USERS = 0x1B58,
BD_SUBSCRIPTION_TICKET_PARSE_ERROR = 0x1B59,
BD_CODO_ID_INVALID_DATA = 0x1BBC,
BD_INVALID_MESSAGE_FORMAT = 0x1BBD,
BD_TLOG_TOO_MANY_MESSAGES = 0x1BBE,
BD_CODO_ID_NOT_IN_WHITELIST = 0x1BBF,
BD_TLOG_MESSAGE_TRANSFORMATION_ERROR = 0x1BC0,
BD_REWARDS_NOT_ENABLED = 0x1BC1,
BD_MARKETPLACE_ERROR = 0x1F40,
BD_MARKETPLACE_RESOURCE_NOT_FOUND = 0x1F41,
BD_MARKETPLACE_INVALID_CURRENCY = 0x1F42,
BD_MARKETPLACE_INVALID_PARAMETER = 0x1F43,
BD_MARKETPLACE_RESOURCE_CONFLICT = 0x1F44,
BD_MARKETPLACE_STORAGE_ERROR = 0x1F45,
BD_MARKETPLACE_INTEGRITY_ERROR = 0x1F46,
BD_MARKETPLACE_INSUFFICIENT_FUNDS_ERROR = 0x1F47,
BD_MARKETPLACE_MMP_SERVICE_ERROR = 0x1F48,
BD_MARKETPLACE_PRECONDITION_REQUIRED = 0x1F49,
BD_MARKETPLACE_ITEM_MULTIPLE_PURCHASE_ERROR = 0x1F4A,
BD_MARKETPLACE_MISSING_REQUIRED_ENTITLEMENT = 0x1F4B,
BD_MARKETPLACE_VALIDATION_ERROR = 0x1F4C,
BD_MARKETPLACE_TENCENT_PAYMENT_ERROR = 0x1F4D,
BD_MARKETPLACE_SKU_NOT_COUPON_ENABLED_ERROR = 0x1F4E,
BD_LEAGUE_INVALID_TEAM_SIZE = 0x1FA4,
BD_LEAGUE_INVALID_TEAM = 0x1FA5,
BD_LEAGUE_INVALID_SUBDIVISION = 0x1FA6,
BD_LEAGUE_INVALID_LEAGUE = 0x1FA7,
BD_LEAGUE_TOO_MANY_RESULTS_REQUESTED = 0x1FA8,
BD_LEAGUE_METADATA_TOO_LARGE = 0x1FA9,
BD_LEAGUE_TEAM_ICON_TOO_LARGE = 0x1FAA,
BD_LEAGUE_TEAM_NAME_TOO_LONG = 0x1FAB,
BD_LEAGUE_ARRAY_SIZE_MISMATCH = 0x1FAC,
BD_LEAGUE_SUBDIVISION_MISMATCH = 0x2008,
BD_LEAGUE_INVALID_WRITE_TYPE = 0x2009,
BD_LEAGUE_INVALID_STATS_DATA = 0x200A,
BD_LEAGUE_SUBDIVISION_UNRANKED = 0x200B,
BD_LEAGUE_CROSS_TEAM_STATS_WRITE_PREVENTED = 0x200C,
BD_LEAGUE_INVALID_STATS_SEASON = 0x200D,
BD_COMMERCE_ERROR = 0x206C,
BD_COMMERCE_RESOURCE_NOT_FOUND = 0x206D,
BD_COMMERCE_STORAGE_INVALID_PARAMETER = 0x206E,
BD_COMMERCE_APPLICATION_INVALID_PARAMETER = 0x206F,
BD_COMMERCE_RESOURCE_CONFLICT = 0x2070,
BD_COMMERCE_STORAGE_ERROR = 0x2071,
BD_COMMERCE_INTEGRITY_ERROR = 0x2072,
BD_COMMERCE_MMP_SERVICE_ERROR = 0x2073,
BD_COMMERCE_PERMISSION_DENIED = 0x2074,
BD_COMMERCE_INSUFFICIENT_FUNDS_ERROR = 0x2075,
BD_COMMERCE_UNKNOWN_CURRENCY = 0x2076,
BD_COMMERCE_INVALID_RECEIPT = 0x2077,
BD_COMMERCE_RECEIPT_USED = 0x2078,
BD_COMMERCE_TRANSACTION_ALREADY_APPLIED = 0x2079,
BD_COMMERCE_INVALID_CURRENCY_TYPE = 0x207A,
BD_CONNECTION_COUNTER_ERROR = 0x20D0,
BD_LINKED_ACCOUNTS_INVALID_CONTEXT = 0x2198,
BD_LINKED_ACCOUNTS_INVALID_PLATFORM = 0x2199,
BD_LINKED_ACCOUNTS_LINKED_ACCOUNTS_FETCH_ERROR = 0x219A,
BD_LINKED_ACCOUNTS_INVALID_ACCOUNT = 0x219B,
BD_GMSG_INVALID_CATEGORY_ID = 0x27D8,
BD_GMSG_CATEGORY_MEMBERSHIPS_LIMIT = 0x27D9,
BD_GMSG_NONMEMBER_POST_DISALLOWED = 0x27DA,
BD_GMSG_CATEGORY_DISALLOWS_CLIENT_TYPE = 0x27DB,
BD_GMSG_PAYLOAD_TOO_BIG = 0x27DC,
BD_GMSG_MEMBER_POST_DISALLOWED = 0x27DD,
BD_GMSG_OVERLOADED = 0x27DE,
BD_GMSG_USER_PERCATEGORY_POST_RATE_EXCEEDED = 0x27DF,
BD_GMSG_USER_GLOBAL_POST_RATE_EXCEEDED = 0x27E0,
BD_GMSG_GROUP_POST_RATE_EXCEEDED = 0x27E1,
BD_MAX_ERROR_CODE = 0x27E2,
};
2022-09-17 03:16:24 -04:00
2022-10-19 15:07:07 -04:00
enum bdNATType : uint8_t
{
BD_NAT_UNKNOWN = 0x0,
BD_NAT_OPEN = 0x1,
BD_NAT_MODERATE = 0x2,
BD_NAT_STRICT = 0x3,
};
2022-09-17 03:16:24 -04:00
enum itemTextStyle
{
ITEM_TEXTSTYLE_NORMAL = 0,
ITEM_TEXTSTYLE_SHADOWED = 3,
ITEM_TEXTSTYLE_SHADOWEDMORE = 6,
ITEM_TEXTSTYLE_BORDERED = 7,
ITEM_TEXTSTYLE_BORDEREDMORE = 8,
ITEM_TEXTSTYLE_MONOSPACE = 128,
ITEM_TEXTSTYLE_MONOSPACESHADOWED = 132,
};
2022-09-17 06:24:04 -04:00
enum errorParm
{
ERR_FATAL = 0,
ERR_DROP = 1,
ERR_SERVERDISCONNECT = 2,
ERR_DISCONNECT = 3,
ERR_SCRIPT = 4,
ERR_SCRIPT_DROP = 5,
ERR_LOCALIZATION = 6,
ERR_MAPLOADERRORSUMMARY = 7,
};
2022-10-19 15:07:07 -04:00
enum errorCode
{
ERROR_NONE = 0x0,
ERROR_FATAL = 0x1,
ERROR_DROP = 0x2,
ERROR_FROM_STARTUP = 0x4,
ERROR_SERVERDISCONNECT = 0x8,
ERROR_DISCONNECT = 0x10,
ERROR_SCRIPT = 0x20,
ERROR_SCRIPT_DROP = 0x40,
ERROR_LOCALIZATION = 0x80,
ERROR_UI = 0x100,
ERROR_LUA = 0x200,
ERROR_SOFTRESTART = 0x400,
ERROR_SOFTRESTART_KEEPDW = 0x800,
};
struct XZoneBuffer
{
const void* data;
size_t dataSize;
};
struct XZoneInfo
{
const char* name;
int allocFlags;
int freeFlags;
int allocSlot;
int freeSlot;
XZoneBuffer fileBuffer;
};
typedef void (*xcommand_t)();
struct cmd_function_s
{
cmd_function_s* next;
const char* name;
const char* autoCompleteDir;
const char* autoCompleteExt;
xcommand_t function;
2022-12-30 13:17:36 -05:00
int autoComplete;
2022-10-19 15:07:07 -04:00
};
struct CmdArgs
{
int nesting;
int localClientNum[8];
int controllerIndex[8];
int argshift[8];
int argc[8];
const char** argv[8];
char textPool[8192];
const char* argvPool[512];
int usedTextPool[8];
int totalUsedArgvPool;
int totalUsedTextPool;
};
struct va_info_t
{
char va_string[4][1024];
int index;
};
struct TLSData
{
va_info_t* vaInfo;
jmp_buf* errorJmpBuf;
void* traceInfo;
CmdArgs* cmdArgs;
void* errorData;
};
2022-12-09 12:23:14 -05:00
typedef uint32_t dvarStrHash_t;
enum dvarType_t
{
DVAR_TYPE_INVALID = 0x0,
DVAR_TYPE_BOOL = 0x1,
DVAR_TYPE_FLOAT = 0x2,
DVAR_TYPE_FLOAT_2 = 0x3,
DVAR_TYPE_FLOAT_3 = 0x4,
DVAR_TYPE_FLOAT_4 = 0x5,
DVAR_TYPE_INT = 0x6,
DVAR_TYPE_ENUM = 0x7,
DVAR_TYPE_STRING = 0x8,
DVAR_TYPE_COLOR = 0x9,
DVAR_TYPE_INT64 = 0xA,
DVAR_TYPE_UINT64 = 0xB,
DVAR_TYPE_LINEAR_COLOR_RGB = 0xC,
DVAR_TYPE_COLOR_XYZ = 0xD,
DVAR_TYPE_COLOR_LAB = 0xE,
DVAR_TYPE_SESSIONMODE_BASE_DVAR = 0xF,
DVAR_TYPE_COUNT = 0x10,
};
typedef float vec_t;
union vec4_t
{
vec_t v[4];
//vec4_t::$E8049E02A67BEF20C2B48C1E90A72E45 _anon_0;
//vec4_t::$65A5F67E76558B5B186374890F5F7384 _anon_1;
//vec3_t xyz;
};
struct dvar_t;
union DvarValue
{
bool enabled;
int integer;
uint32_t unsignedInt;
int64_t integer64;
uint64_t unsignedInt64;
float value;
vec4_t vector;
const char* string;
byte color[4];
const dvar_t* indirect[3];
};
struct $7034703ED3857507327AE195CCA24A71
{
int stringCount;
const char** strings;
};
struct $5AC0CC375C7A91894540A0C75867866C
{
int min;
int max;
};
struct $FCEE86E78F1A35297637B00F6DD148A3
{
int64_t min;
int64_t max;
};
struct $28DE879AA85D5F4AA5DF9392CB197229
{
uint64_t min;
uint64_t max;
};
struct $D2B45DCE3C73414E1DE8E10A2D52B392
{
float min;
float max;
};
struct $97F25DA469865168FD08682F42882F2A
{
vec_t min;
vec_t max;
};
union DvarLimits
{
$7034703ED3857507327AE195CCA24A71 enumeration;
$5AC0CC375C7A91894540A0C75867866C integer;
$FCEE86E78F1A35297637B00F6DD148A3 integer64;
$28DE879AA85D5F4AA5DF9392CB197229 unsignedInt64;
$D2B45DCE3C73414E1DE8E10A2D52B392 value;
$97F25DA469865168FD08682F42882F2A vector;
};
2022-10-19 15:07:07 -04:00
struct dvar_t
{
2022-12-09 12:23:14 -05:00
dvarStrHash_t name;
const char* debugName;
const char* description;
unsigned int flags;
dvarType_t type;
bool modified;
DvarValue current;
DvarValue latched;
DvarValue reset;
DvarLimits domain;
dvar_t* hashNext;
};
2022-10-19 15:07:07 -04:00
struct netipv4_t
{
byte a;
byte b;
byte c;
byte d;
};
enum netadrtype_t
{
NA_BOT = 0x0,
NA_BAD = 0x1,
NA_LOOPBACK = 0x2,
NA_RAWIP = 0x3,
NA_IP = 0x4,
};
enum netsrc_t
{
NS_NULL = 0xFFFFFFFF,
NS_CLIENT1 = 0x0,
NS_CLIENT2 = 0x1,
NS_CLIENT3 = 0x2,
NS_CLIENT4 = 0x3,
NS_SERVER = 0x4,
NS_MAXCLIENTS = 0x4,
NS_PACKET = 0x5,
};
struct netadr_t
{
2022-10-29 14:05:22 -04:00
union
{
netipv4_t ipv4;
uint32_t addr;
};
uint16_t port;
2022-10-19 15:07:07 -04:00
netadrtype_t type;
netsrc_t localNetID;
};
2022-10-25 14:42:37 -04:00
struct XNADDR
{
byte addrBuff[37];
};
struct bdSecurityID
{
byte ab[8];
};
typedef bdSecurityID XNKID;
struct bdSecurityKey
{
byte ab[16];
};
typedef bdSecurityKey XNKEY;
2022-10-29 14:05:22 -04:00
typedef uint64_t XUID;
struct SerializedAdr
{
byte valid;
byte addrBuff[37];
};
2022-10-25 14:42:37 -04:00
struct XSESSION_INFO
{
XNKID sessionID;
XNADDR hostAddress;
XNKEY keyExchangeKey;
};
2022-10-23 13:56:03 -04:00
typedef int qboolean;
enum PacketModeList
{
PACKETDATA_FIRST = 0x0,
PACKETDATA_UNDEFINED = 0x0,
PACKETDATA_HEADER = 0x1,
PACKETDATA_OVERHEAD = 0x2,
PACKETDATA_DATA = 0x3,
PACKETDATA_RELIABLEDATA = 0x4,
PACKETDATA_ZEROFLOAT = 0x5,
PACKETDATA_SMALLFLOAT = 0x6,
PACKETDATA_LARGEFLOAT = 0x7,
PACKETDATA_ZEROINT = 0x8,
PACKETDATA_SMALLANGLE = 0x9,
PACKETDATA_ZEROANGLE = 0xA,
PACKETDATA_TIMEDELTA = 0xB,
PACKETDATA_TIME = 0xC,
PACKETDATA_24BITFLAGINDEX = 0xD,
PACKETDATA_GROUNDENTITY = 0xE,
PACKETDATA_ENTITYNUM = 0xF,
PACKETDATA_LASTFIELDCHANGED = 0x10,
PACKETDATA_NOTNETWORKDATA = 0x11,
PACKETDATA_ORIGINDELTA = 0x12,
PACKETDATA_ORIGIN = 0x13,
NUM_PACKETDATA_MODES = 0x14,
};
struct PacketMode
{
unsigned int start;
PacketModeList mode;
};
struct msg_t
{
qboolean overflowed;
qboolean readOnly;
byte* data;
byte* splitData;
int maxsize;
int cursize;
int splitSize;
int readcount;
int bit;
int lastEntityRef;
qboolean flush;
netsrc_t targetLocalNetID;
//PacketMode analysis;
};
2022-10-29 14:05:22 -04:00
typedef void* bdCommonAddrRef;
struct HostInfo
{
uint64_t xuid;
char name[32];
netadr_t netAdr;
SerializedAdr serializedAdr;
bdSecurityID secId;
bdSecurityKey secKey;
uint32_t serverLocation;
};
enum LobbyType
{
LOBBY_TYPE_INVALID = 0xFFFFFFFF,
LOBBY_TYPE_PRIVATE = 0x0,
LOBBY_TYPE_GAME = 0x1,
LOBBY_TYPE_TRANSITION = 0x2,
LOBBY_TYPE_COUNT = 0x3,
LOBBY_TYPE_FIRST = 0x0,
LOBBY_TYPE_LAST = 0x2,
LOBBY_TYPE_AUTO = 0x3,
};
enum LobbyNetworkMode
{
LOBBY_NETWORKMODE_INVALID = 0xFFFFFFFF,
LOBBY_NETWORKMODE_LOCAL = 0x0,
LOBBY_NETWORKMODE_LAN = 0x1,
LOBBY_NETWORKMODE_LIVE = 0x2,
LOBBY_NETWORKMODE_COUNT = 0x3,
};
enum LobbyMainMode
{
LOBBY_MAINMODE_INVALID = 0xFFFFFFFF,
LOBBY_MAINMODE_CP = 0x0,
LOBBY_MAINMODE_MP = 0x1,
LOBBY_MAINMODE_ZM = 0x2,
LOBBY_MAINMODE_COUNT = 0x3,
};
struct LobbyParams
{
LobbyNetworkMode networkMode;
LobbyMainMode mainMode;
};
enum JoinType
{
JOIN_TYPE_NORMAL = 0x0,
JOIN_TYPE_PLAYLIST = 0x1,
JOIN_TYPE_FRIEND = 0x2,
JOIN_TYPE_INVITE = 0x3,
JOIN_TYPE_PARTY = 0x4,
JOIN_TYPE_COUNT = 0x5,
};
struct JoinHost
{
HostInfo info;
LobbyType lobbyType;
LobbyParams lobbyParams;
uint64_t reservationKey;
int retryTime;
int retryCount;
};
enum JoinSourceState
{
JOIN_SOURCE_STATE_IDLE = 0x0,
JOIN_SOURCE_STATE_CONNECT_TO_NEXT_HOST = 0x1,
JOIN_SOURCE_STATE_ASSOCIATING = 0x2,
JOIN_SOURCE_STATE_HANDSHAKING = 0x3,
JOIN_SOURCE_STATE_WAITING_FOR_AGREEMENT = 0x4,
JOIN_SOURCE_STATE_CONNECTION_FAILED = 0x5,
JOIN_SOURCE_STATE_CONNECTION_SUCCESS = 0x6,
JOIN_SOURCE_STATE_ENDING_HOST = 0x7,
JOIN_SOURCE_STATE_CLEANUP = 0x8,
JOIN_SOURCE_STATE_COUNT = 0x9,
};
enum JoinResult
{
JOIN_RESULT_INVALID = 0x0,
JOIN_RESULT_SUCCESS = 0x1,
JOIN_RESULT_CONNECT_TO_HOST_FAILURE = 0x2,
JOIN_RESULT_PROBE_SEND_FAILURE = 0x3,
JOIN_RESULT_PROBE_TIMEOUT = 0x4,
JOIN_RESULT_PROBE_INVALID_LOBBY = 0x5,
JOIN_RESULT_PROBE_INVALID_INFO = 0x6,
JOIN_RESULT_PROBE_RESULT_INVALID = 0x7,
JOIN_RESULT_INVALID_LOBBY = 0x8,
JOIN_RESULT_SEND_AGREEMENT_REQUEST_FAILED = 0x9,
JOIN_RESULT_HANDSHAKE_WINDOW_EXPIRED = 0xA,
JOIN_RESULT_AGREEMENT_WINDOW_EXPIRED = 0xB,
JOIN_RESULT_JOIN_DISABLED = 0xC,
JOIN_RESULT_JOIN_ALREADY_IN_PROGRESS = 0xD,
JOIN_RESULT_NOT_JOINABLE_NOT_HOSTING = 0xE,
JOIN_RESULT_NOT_JOINABLE_NOT_IDLE = 0xF,
JOIN_RESULT_NOT_JOINABLE_CLOSED = 0x10,
JOIN_RESULT_NOT_JOINABLE_INVITE_ONLY = 0x11,
JOIN_RESULT_NOT_JOINABLE_FRIENDS_ONLY = 0x12,
JOIN_RESULT_LOBBY_FULL = 0x13,
JOIN_RESULT_NETWORK_MODE_MISMATCH = 0x14,
JOIN_RESULT_MISMATCH_PLAYLISTID = 0x15,
JOIN_RESULT_MISMATCH_PLAYLIST_VERSION_TO_NEW = 0x16,
JOIN_RESULT_MISMATCH_PLAYLIST_VERSION_TO_OLD = 0x17,
JOIN_RESULT_MISMATCH_PROTOCOL_VERSION = 0x18,
JOIN_RESULT_MISMATCH_NETFIELD_CHECKSUM = 0x19,
JOIN_RESULT_MISMATCH_FFOTD_VERSION_TO_NEW = 0x1A,
JOIN_RESULT_MISMATCH_FFOTD_VERSION_TO_OLD = 0x1B,
JOIN_RESULT_MIGRATE_IN_PROGRESS = 0x1C,
JOIN_RESULT_COULD_NOT_RESERVE = 0x1D,
JOIN_RESPONSE_COUNT = 0x1E,
};
2023-01-02 07:57:00 -05:00
typedef void (*joinCompleteCallback)(int, JoinResult);
2022-10-29 14:05:22 -04:00
struct AgreementStatus
{
XUID xuid;
char name[32];
bool responded;
bool agrees;
int startTime;
int responseTime;
};
struct Agreement
{
int nonce;
AgreementStatus status[18];
int requestCount;
int responseCount;
int agreeCount;
};
struct Join
{
JoinSourceState state;
int actionId;
int startTime;
int duration;
ControllerIndex_t controllerIndex;
LobbyType sourceLobbyType;
LobbyType targetLobbyType;
joinCompleteCallback joinComplete;
JoinHost hostList[50];
int hostCount;
int processedCount;
bool isFinalized;
JoinHost potentialHost;
Agreement agreement;
Agreement debugAgreement;
JoinType joinType;
JoinResult joinResult;
};
2022-10-19 15:07:07 -04:00
#ifdef __cplusplus
2022-08-10 05:26:19 -04:00
}
2022-10-19 15:07:07 -04:00
#endif