diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /gcsdk/steamextra/clientenums.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'gcsdk/steamextra/clientenums.h')
| -rw-r--r-- | gcsdk/steamextra/clientenums.h | 611 |
1 files changed, 611 insertions, 0 deletions
diff --git a/gcsdk/steamextra/clientenums.h b/gcsdk/steamextra/clientenums.h new file mode 100644 index 0000000..a2888d8 --- /dev/null +++ b/gcsdk/steamextra/clientenums.h @@ -0,0 +1,611 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#ifndef CLIENTENUMS_H +#define CLIENTENUMS_H +#ifdef _WIN32 +#pragma once +#endif + + +enum ELogonState +{ + k_ELogonStateNotLoggedOn = 0, + k_ELogonStateLoggingOn = 1, + k_ELogonStateLoggingOff = 2, + k_ELogonStateLoggedOn = 3 +}; + + +// Enums for all personal questions supported by the system. +enum EPersonalQuestion +{ + // Never ever change these after initial release. + k_EPSMsgNameOfSchool = 0, // Question: What is the name of your school? + k_EPSMsgFavoriteTeam = 1, // Question: What is your favorite team? + k_EPSMsgMothersName = 2, // Question: What is your mother's maiden name? + k_EPSMsgNameOfPet = 3, // Question: What is the name of your pet? + k_EPSMsgChildhoodHero = 4, // Question: Who was your childhood hero? + k_EPSMsgCityBornIn = 5, // Question: What city were you born in? + + k_EPSMaxPersonalQuestion +}; + + +// account flags (stored in DB) +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASEd +enum EAccountFlags +{ + m_EAccountFlagNormalUser = 0, // Standard user level (yes, this is meant to be zero) + k_EAccountFlagPersonaNameSet = ( 1 << 0 ), // true if the user has set the persona name they really want, instead of the auto-generated one + k_EAccountFlagUnbannable = ( 1 << 1 ), // whatever happens, this account can't be banned + k_EAccountFlagPasswordSet = ( 1 << 2 ), // we've set the password at least once on this account + k_EAccountFlagSupport = ( 1 << 3 ), // Enables use of web support tool + k_EAccountFlagAdmin = ( 1 << 4 ), // The name says it all, can do everything + k_EAccountFlagSupervisor = ( 1 << 5 ), // support supervisory role + k_EAccountFlagAppEditor = ( 1 << 6 ), // Can edit app info + k_EAccountFlagHWIDSet = ( 1 << 7 ), // Set HWID once + k_EAccountFlagPersonalQASet = ( 1 << 8 ), // user has personal Question & anser set + k_EAccountFlagVacBeta = ( 1 << 9 ), // user participates in VAC beta tests + k_EAccountFlagDebug = ( 1 << 10 ), // user is in debug mode, eg VAC doesn't kick etc + k_EAccountFlagDisabled = ( 1 << 11 ), // account is disabled. + k_EAccountFlagLimitedUser = ( 1 << 12 ), // account is limited user account because it doesnt own anything + k_EAccountFlagLimitedUserForce = ( 1 << 13 ), // account is limited user account because we forced it to be + k_EAccountFlagEmailValidated = ( 1 << 14 ), // user has verified email address via WG + k_EAccountFlagMarketingTreatment = ( 1 << 15), // account is flagged as being in a treatment for marketing/sales experiments +}; + +// profile state (stored in DB) +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ECommunityProfileState +{ + k_ECommunityProfileNotCreated = 0, // user hasn't setup community account yet + k_ECommunityProfileActive = 1, // user joined community, site is public + k_ECommunityProfilePrivate = 2, // user joined community, site is private + k_ECommunityProfileLocked = 3, // user got locked, content can't be changed but is still accessible + k_ECommunityProfileDisabled = 4, // user got disabled, site not accessible anymore +}; + + +// profile privacy option setting (stored in DB) +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ECommunityPrivacyState +{ + k_ECommunityPrivacyInvalid = 0, + k_ECommunityPrivacyPrivate = 1, // ain't nobody can see it + k_ECommunityPrivacyFriendsOnly = 2, // only your friends can see it + k_ECommunityPrivacyPublic = 3, // anybody could see it +}; + +enum ECommunityVisibilityState +{ + k_ECommunityVisibilityPrivate = 1, // private, requester see only public fields + k_ECommunityVisibilityFriendsOnly = 2, // friends only, requester sees only public fields + k_ECommunityVisibilityOpen = 3, // it is visible to requester; they are owner or friend or public + k_ECommunityVisibilitySupportPrivate = 4, // was private, but it's a support account asking + k_ECommunityVisibilitySupportFriendsOnly = 5,// was friends only, but it's a support account asking +}; + +enum ECommentPermission +{ + k_ECommentPermissionFriendsOnly = 0, // only friends can leave a comment + k_ECommentPermissionAnyone = 1, // anybody can leave a comment + k_ECommentPermissionSelfOnly = 2, // only the account owner can leave a comment +}; + +// Payment methods for purchases - BIT FLAGS so can be used to indicate +// acceptable payment methods for packages +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum EPaymentMethod +{ + k_EPaymentMethodNone = 0x000, // user got the license for free + k_EPaymentMethodActivationCode = 0x001, // user paid by entering unused CD-Key or other activation code + k_EPaymentMethodCreditCard = 0x002, // user paid with credit card + k_EPaymentMethodPayPal = 0x004, // user paid with via paypal + k_EPaymentMethodGuestPass = 0x008, // user paid by redeeming a guest pass + k_EPaymentMethodHardwarePromo = 0x010, // user presented machine credentials + k_EPaymentMethodClickAndBuy = 0x020, // ClickandBuy + k_EPaymentMethodAutoGrant = 0x040, // server side purchased package, things like German specific TF2 free weekend + k_EPaymentMethodWallet = 0x080, // user paid with wallet + k_EPaymentMethodOEMTicket = 0x100, // user paid by redeeming a OEM license ticket + k_EPaymentMethodSplit = 0x200, // user paid with wallet AND a provider +}; + +// Sources for WalletTxn records +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum EWalletSource +{ + k_EWalletSourceInvalid = 0, + k_EWalletSourcePurchase = 1, // Created from a purchase, refund, chargeback, or reverse chargeback (PurchaseRefGID -> TransID) + k_EWalletSourceGuestPass = 2, // Created from a guest pass (PurchaseRefGID -> GuestPassID) + k_EWalletSourceConversion = 3, // Created from a wallet conversion (PurchaseRefGID -> GID shared between debit & credit records) + k_EWalletSourceRebate = 4, // Created from a rebate (PurchaseRefGID -> TransID) +}; + +// License types +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ELicenseType +{ + k_ENoLicense = 0, // for shipped goods + k_ESinglePurchase = 1, // single purchase + k_ESinglePurchaseLimitedUse = 2, // single purchase w/ expiration + k_ERecurringCharge = 3, // recurring subscription + k_ERecurringChargeLimitedUse = 4, // recurring subscription w/ limited minutes per period + k_ERecurringChargeLimitedUseWithOverages = 5, // like above but w/ soft limit and overage charges +}; + +// Flags for licenses - BITS +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ELicenseFlags +{ + k_ELicenseFlagNone = 0x00, // just a place holder + k_ELicenseFlagRenew = 0x01, // Renew this license next period + k_ELicenseFlagRenewalFailed = 0x02, // Auto-renew failed + k_ELicenseFlagPending = 0x04, // Purchase or renewal is pending + k_ELicenseFlagExpired = 0x08, // Set if no longer active (whatever the reason) + k_ELicenseFlagCancelledByUser = 0x10, // Cancelled by the user + k_ELicenseFlagCancelledByAdmin = 0x20, // Cancelled by customer support + k_ELicenseFlagLowViolenceContent = 0x40,// license is for low violence content +}; + +// Status of a package +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum EPackageStatus +{ + k_EPackageAvailable = 0, // Available for purchase and use + k_EPackagePreorder = 1, // Available for purchase, as a pre-order + k_EPackageUnavailable = 2, // Not available for new purchases, may still be owned + k_EPackageInvalid = 3, // Either an unknown package or a deleted one that nobody should own +}; + +// Purchase status +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum EPurchaseStatus +{ + k_EPurchasePending = 0, // purchase is pending, valid but pending subscription + k_EPurchaseSucceeded = 1, // purchase successful, valid subscription + k_EPurchaseFailed = 2, // purchase failed, no subscription + k_EPurchaseRefunded = 3, // we refunded the purchase and removed subscription + k_EPurchaseInit = 4, // user started purchase + k_EPurchaseChargedback = 5, // the user issued a chargeback, we removed subscription + k_EPurchaseRevoked = 6, // we revoked the purchase and removed subscription. Usually stolen CD-Keys + k_EPurchaseInDispute = 7, // the purchase is being disputed by the user, preliminary to a chargeback +}; + +// LineItemTypes +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASEd +enum ELineItemType +{ + k_ELineItemTypeInvalid = 0, // Unknown - load all purchase line items + k_ELineItemTypeMicroTxn = ( 1 << 0 ), // Transaction has data in MicroTxnLineItem table + k_ELineItemTypeWallet = ( 1 << 1 ), // Transaction has data in WalletLineItem table + k_ELineItemTypePkg = ( 1 << 2 ), // Transaction has data in PurchaseLineItem table +}; + +// Enum for the types of news push items you can get +enum ENewsUpdateType +{ + k_EAppNews = 0, // news about a particular app + k_ESteamAds = 1, // Marketing messages + k_ESteamNews = 2, // EJ's corner and the like + k_ECDDBUpdate = 3, // backend has a new CDDB for you to load + k_EClientUpdate = 4, // new version of the steam client is available +}; + +// Detailed purchase result codes for the client +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum EPurchaseResultDetail +{ + k_EPurchaseResultNoDetail = 0, + k_EPurchaseResultAVSFailure = 1, + k_EPurchaseResultInsufficientFunds = 2, + k_EPurchaseResultContactSupport = 3, + k_EPurchaseResultTimeout = 4, + + k_EPurchaseResultInvalidPackage = 5, + k_EPurchaseResultInvalidPaymentMethod = 6, + k_EPurchaseResultInvalidData = 7, + k_EPurchaseResultOthersInProgress = 8, + k_EPurchaseResultAlreadyPurchased = 9, + k_EPurchaseResultWrongPrice = 10, + k_EPurchaseResultFraudCheckFailed = 11, + k_EPurchaseResultCancelledByUser = 12, + k_EPurchaseResultRestrictedCountry = 13, + k_EPurchaseResultBadActivationCode = 14, // this code gives no receipt + k_EPurchaseResultDuplicateActivationCode = 15, + + k_EPurchaseResultUseOtherPaymentMethod = 16, // User should try a different payment method + k_EPurchaseResultUseOtherFundingSource = 17, // Select a different funding source (paypal) + k_EPurchaseResultInvalidShippingAddress = 18, // Shipping address is invalid (paypal) + k_EPurchaseResultRegionNotSupported = 19, // This region is not supported with this payment type + + k_EPurchaseResultAcctIsBlocked = 20, // Acct has been blocked by provider - user should contact provider to resolve + k_EPurchaseResultAcctNotVerified = 21, // Provider indicated account needs to be verified for transaction to complete + + k_EPurchaseResultInvalidAccount = 22, // Provider indicated the account is invalid or no longer usable + k_EPurchaseResultStoreBillingCountryMismatch = 23, // store country code & billing country code do not match + k_EPurchaseResultDoesNotOwnRequiredApp = 24, // user does not own one of the apps required for purchase + k_EPurchaseResultCanceledByNewTransaction = 25, // user made a new transaction which canceled an old, pending transaction + k_EPurchaseResultForceCanceledPending = 26, // A pending transaction was force canceled (no response from provider) + k_EPurchaseResultFailCurrencyTransProvider = 27, // selected transaction provider does not support calculated currency + k_EPurchaseResultFailedCyberCafe = 28, // cybercafe account tried to purchase or use an activation code + + k_EPurchaseResultNeedsPreApproval = 29, // Transaction needs approval from support + k_EPurchaseResultPreApprovalDenied = 30, // Transaction was denied by support + k_EPurchaseResultWalletCurrencyMismatch = 31, // Currency of purchase does not match currency of wallet +}; + +// Type of system IM. The client can use this to do special UI handling in specific circumstances +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ESystemIMType +{ + k_ESystemIMRawText = 0, + k_ESystemIMInvalidCard = 1, + k_ESystemIMRecurringPurchaseFailed = 2, + k_ESystemIMCardWillExpire = 3, + k_ESystemIMSubscriptionExpired = 4, + k_ESystemIMGuestPassReceived = 5, // User has received a guest pass from a friend + k_ESystemIMGuestPassGranted = 6, // System has granted a user a guest pass to give out + k_ESystemIMGiftRevoked = 7, // We revoked a gift due to chargeback, etc + + // + k_ESystemIMTypeMax +}; + +// Ways an external cd key can be munged onto a users PC +enum ELegacyKeyRegistrationMethod +{ + eLegacyKeyRegistrationMethodNone = 0, // doesn't support legacy cd keys + eLegacyKeyRegistrationMethodRegistry, // just place it into the registry + eLegacyKeyRegistrationMethodDisk, // put it in a file on disk +}; + +// Support events, generated by system or support input +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ESupportEvent +{ + // support activity + eSupportNote = 0, // a generic support note + eSupportLogin = 1, // support account logged in out, data: IP:Port + eSupportLogoff = 2, // support account logged out, text: IP:Port + eSupportTicketCreated = 3, // a support ticket was created + eSupportTicketClosed = 4, // problem was solved, ticket closed + + // account changes + eSupportEnableAccount = 5, // support enabled account, text: reason + eSupportDisableAccount = 6, // support disabled account, text: reason + eSupportChangeAccountPassword = 7, // support or user changed password, data: DONT include old password + eSupportChangeAccountEmail = 8, // support or user changed email, data: old email + eSupportChangeAccountName = 9, // support or user changed name, data: old name + eSupportChangeAccountPlayer = 10, // support or user changed player name, data: old name + + eSupportPurchaseChargedback = 11, // a charge back was issued + eSupportPurchaseRefunded = 12, // a refund was issued + eSupportPurchaseForcedCompletion = 13, // support forced a pending purchase to complete + + // license handling + eSupportLicenseAdded = 14, // support added a license, text: reason + eSupportLicenseCanceled = 15, // support or user cancel a license + eSupportLicenseChanged = 16, // support removed a license, text: reason + eSupportBannedGame = 17, // support banned game for an account + eSupportUnbannedGame = 18, // support unbanned game for an account + + // purchase activity + eSupportRunPurchase = 19, + eSupportChangedCreditCard = 20, // support updated a credit card + eSupportSetNoFraudCheckFlag = 21, // support disabled fraud check, data: reason + + // banning + eSupportBannedCreditCard = 22, // support banned a credit card + eSupportBannedIP = 23, // support banned an IP + eSupportBannedCDKey = 24, // support banned an CDKey + eSupportBannedCountry = 25, // support banned a country + eSupportBannedPayPalAccount = 26, + + eSupportPurchaseCanceled = 27, // support forced a pending purchase to cancel + + eSupportChangeAvatar = 28, + eSupportChangeProfileURL = 29, + + eSupportRegisterCDKey = 30, // support added a CD key to this account + eSupportGrantGuestPass = 31, // support granted a guest pass to this account + eSupportResubmitTransaction = 32, // support resubmitted a transaction + + eSupportResetContent = 33, // reset user content based on abuse reports + eSupportLockProfile = 34, // temp block a user from modifying community content + eSupportSetCommunityState = 35, // perm lock a user profile, can't be modified + eSupportDeleteAbuseReports = 36, // deleted abuse reports for the SteamID + eSupportSetAccountFlags = 37, // changed account flags + + eSupportChargebackStatusUpdate = 38, // support updated the pending chargeback status + + eSupportRefundForcedCompletion = 39, // support forced a pending refund to complete + eSupportRefundCanceled = 40, // support forced a pending refund to cancel + + eSupportRevokeActivationKey = 41, // support revoked and unlocked activation key + eSupportReverseChargeback = 42, // a charge back was reversed + eSupportRejectedActivationKey = 43, // activation key was rejected (invalid or already used) + + eSupportPurchaseError = 44, // Purchase error + eSupportAudited = 45, + + // items + eSupportBanItems = 46, // support banned a user's items + eSupportRestoreBannedItems = 47, // support restored banned items + eSupportRestoreDeletedItems = 48, // support restored deleted items + + // comments + eSupportDeleteComments = 49, // cleared comments on this account (not written by this account) + + eSupportDeleteItems = 50, // support deleted a user's items + eSupportDeleteCachedCard = 51, // support deleted a user's cached credit card + + eSupportConvertedWallet = 52, // user's wallet was converted + + eSupportTxnApproved = 53, // PreApproval granted + eSupportTxnDenied = 54, // PreApproval denied + + eSupportGCAction = 55, // used for all support actions from the GC +}; + + +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ESupportTicket +{ + // all kinds of problems tickets that have to be handled by support + k_ETicketUnknown = 0, // an unknown problem. yay. + k_ETicketManual = 1, // a problem manually entered by support. + k_ETicketFraudRedFlag = 2, // fraud detection marked this account + k_ETicketPurchaseError = 3, // a purchase error happened + k_ETicketChargeback = 4, // a chargeback needs attention +}; + +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ESupportTicketState +{ + // all kinds of problems tickets that have to be handled by support + k_ETicketStateUnknown = 0, // support issue state is unknown + k_ETicketStateUnassigned = 1, // support issue is 'open' but not assigned yet + k_ETicketStateInProcess = 2, // support issue is assigned to an support actor + k_ETicketStateResolved = 3, // support issue is fixed and closed + k_ETicketStateUnresolved = 4, // support issue couldn't be fixed. closed anyway + k_ETicketStateAutoClosed = 5, // System closed the ticket automatically +}; + + +//----------------------------------------------------------------------------- +// types of content that can be reported as abused +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum ECommunityContentType +{ + k_EContentUnspecified = 0, + k_EContentAll = 1, // reset all community content + k_EContentAvatarImage = 2, // clear avatar image + k_EContentProfileText = 3, // reset profile text + k_EContentWebLinks = 4, // delete web links + k_EContentAnnouncement = 5, + k_EContentEventText = 6, + k_EContentCustomCSS = 7, + k_EContentProfileURL = 8, // delete community URL ID + k_EContentComments = 9, // just comments this guy has written +}; + + +//----------------------------------------------------------------------------- +// types of reasons why a violation report was issued +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum EAbuseReportType +{ + k_EAbuseUnspecified = 0, + k_EAbuseInappropriate = 1, // just not ok to post + k_EAbuseProhibited = 2, // prohibited by EULA or general law + k_EAbuseSpamming = 3, // excessive spamming + k_EAbuseAdvertisement = 4, // unwanted advertisement + k_EAbuseExploit = 5, // content data attempts to exploit code issue + k_EAbuseSpoofing = 6, // user/group is impersonating an official contact + k_EAbuseLanguage = 7, // bad language + k_EAbuseAdultContent = 8, // any kind of adult material, references etc + k_EAbuseHarassment = 9, // harassment, discrimination, racism etc +}; + +//----------------------------------------------------------------------------- +// actions for a user within a clan for logging in the ClanHistory table +//----------------------------------------------------------------------------- + +enum EClanAction +{ + k_EJoined = 1, // joined the clan + k_ELeft = 2, // left the clan + k_EPromoted = 3, // promoted to officer + k_EDemoted = 4, // demoted from officer + k_EKicked = 5, // kicked off the clan + k_ECreated = 6, // clan was created + k_EInvited = 7, // invited someone + k_EEventCreated = 8, // clan event created + k_EEventUpdated = 9, // clan event updated + k_EEventDeleted = 10, // clan event deleted + k_EPermissionsChanged = 11, // clan permissions were changed + k_EAnnouncementCreated = 12, // clan announcement created + k_EAnnouncementUpdated = 13, // clan announcement updated + k_EAnnouncementDeleted = 14, // clan announcement deleted + k_EPOTWChanged = 15, // changed the POTW + k_ELinksChanged = 16, // links changed + k_EDetailsChanged = 17, // details changed + k_ESupportResetContent = 18, // support reset some or all of the clan content + k_ESupportLockedGroup = 19, // support locked this clan, it can't be modified anymore + k_ESupportUnlockedGroup = 20, // support unlocked this clan + k_ESupportChangedOwner = 21, // support transfered ownership + k_EMadePublic = 22, // made from private into public + k_EMadePrivate = 23, // made from public into private + k_ESupportDisabledGroup = 24, // support disabled this group, nobody can see it anymore + k_EKickedChat = 25, // kicked from chat + k_EBannedChat = 26, // banned from chat + k_EUnBannedChat = 27, // un-banned from chat + + k_EHighestValidAction // keep me updated, please! +}; + + +//----------------------------------------------------------------------------- +// types of events for use in the Clan Event Type table +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum EClanEventType +{ + k_EOtherEvent = 1, + k_EGameEvent = 2, + k_EPartyEvent = 3, + k_EMeetingEvent = 4, + k_ESpecialCauseEvent = 5, + k_EMusicAndArtsEvent = 6, + k_ESportsEvent = 7, + k_ETripEvent = 8, + k_EChatEvent = 9, + k_EGameReleaseEvent = 10, +}; + +//----------------------------------------------------------------------------- +// types of marketing messages displayed to users +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum EMarketingMessageType +{ + k_EMarketingMessageNowAvailable = 1, + k_EMarketingMessageWeekendDeal = 2, + k_EMarketingMessagePrePurchase = 3, + k_EMarketingMessagePlayNow = 4, + k_EMarketingMessagePreloadNow = 5, + k_EMarketingMessageGeneral = 6, + k_EMarketingMessageDemoQuit = 7, + k_EMarketingMessageGifting = 8, + k_EMarketingMessageEJsKorner = 9, +}; + +//----------------------------------------------------------------------------- +// types of associations a marketing message may have +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum EMarketingMessageAssociationType +{ + k_EMarketingMessageNoAssociation = 0, + k_EMarketingMessageAppAssociation = 1, + k_EMarketingMessageSubscriptionAssociation = 2, + k_EMarketingMessagePublisherAssociation = 3, + k_EMarketingMessageGenreAssociation = 4, +}; + +//----------------------------------------------------------------------------- +// Marketing message visibility +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum EMarketingMessageVisibility +{ + k_EMarketingMessageVisibleBeta = 1, + k_EMarketingMessageVisiblePublic = 2, +}; + +//----------------------------------------------------------------------------- +// Structures used in multiple messages +//----------------------------------------------------------------------------- +// Purchase message constants +// WARNING: Do not change these if an instance of this record may exist in a database!!! +// BUGBUG derrick - Since these also define schema, they should be moved into steamschema.h +const int k_cchCCNumMax = 16 + 1; +const int k_cchHolderNameMax = 100 + 1; +const int k_cchExpYearMax = 4 + 1; +const int k_cchExpMonthMax = 2 + 1; +const int k_cchCVV2Max = 4 + 1; +const int k_cchAddressMax = 128 + 1; +const int k_cchAddress2Max = k_cchAddressMax; +const int k_cchCityMax = 50 + 1; +const int k_cchPostcodeMax = 16 + 1; +const int k_cchStateMax = 32 + 1; +const int k_cchPhoneMax = 20 + 1; +const int k_cchEmailMax = 100 + 1; +const int k_cchCountryCodeMax = 2 + 1; +const int k_cchPayPalCheckoutTokenMax = 20 + 1; +const int k_cchStateCodeMax = 3 + 1; +const int k_cchCurrencyCodeMax = 3 + 1; + +const int k_cubMaxDfsURL = 128; // Max size for URL descriptors on DFS + + +// License information +struct LicenseInfo_t +{ + PackageId_t m_unPackageID; + RTime32 m_RTime32Created; + RTime32 m_RTime32NextProcess; + int32 m_nMinuteLimit; + int32 m_nMinutesUsed; + EPaymentMethod m_ePaymentMethod; + uint32 m_nFlags; + char m_rgchPurchaseCountryCode[k_cchCountryCodeMax]; + int32 m_nTerritoryCode; +}; + +// Supported Currency Codes +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +enum ECurrencyCode +{ + k_ECurrencyCodeInvalid = 0, + k_ECurrencyCodeUSD = 1, + k_ECurrencyCodeGBP = 2, + k_ECurrencyCodeEUR = 3, + + k_ECurrencyCodeMax = 4 +}; + +enum ETaxType +{ + k_ETaxTypeInvalid = 0, + k_ETaxTypeUSState = 1, + k_ETaxTypeVAT = 2 +}; + +// client stat list +// needs to be kept in the same order, since it's part of the protocol +enum EClientStat +{ + k_EClientStatP2PConnectionsUDP = 0, + k_EClientStatP2PConnectionsRelay = 1, + k_EClientStatP2PGameConnections = 2, + k_EClientStatP2PVoiceConnections = 3, + + k_EClientStatBytesDownloaded = 4, + + k_EClientStatMax, // must be last, used as array's of data +}; + +enum EP2PState +{ + k_EP2PStateNotConnected, + k_EP2PStateUDP, + k_EP2PStateRelay, +}; + +// User response for authentication request +enum EMicroTxnAuthResponse +{ + k_EMicroTxnAuthResponseInvalid = 0, // Invalid value + k_EMicroTxnAuthResponseAuthorize = 1, // user accepted microtransaction + k_EMicroTxnAuthResponseDeny = 2, // user denied microtransaction + k_EMicroTxnAuthResponseAutoDeny = 3, // client automatically denied microtransaction (user wasn't in game, etc.) +}; + +// Result of authorization request, returned to client +enum EMicroTxnAuthResult +{ + k_EMicroTxnAuthResultInvalid = 0, // Invalid value + k_EMicroTxnAuthResultOK = 1, // Successfully authorized + k_EMicroTxnAuthResultFail = 2, // An error occurred + k_EMicroTxnAuthResultInsufficientFunds = 3, // User has insufficient funds to complete microtransaction +}; + +#endif |