mirror of
https://github.com/0TheSpy/Seaside.git
synced 2025-01-10 19:22:10 +08:00
550 lines
16 KiB
C++
550 lines
16 KiB
C++
#ifndef ACTUAL_ECON_ITEM_CONSTANTS_H
|
|
#define ACTUAL_ECON_ITEM_CONSTANTS_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
typedef uint32 item_price_t;
|
|
typedef uint8 item_transaction_quantity_t;
|
|
|
|
class CLocalizationProvider;
|
|
|
|
#define TESTITEM_DEFINITIONS_BEGIN_AT 32000
|
|
#define TESTITEM_DEFINITIONS_COUNT 16
|
|
|
|
enum EEconTypeID
|
|
{
|
|
k_EEconTypeItem = 1,
|
|
k_EEconTypePersonaDataPublic = 2,
|
|
k_EEconTypeGameAccountClient = 7,
|
|
k_EEconTypeGameAccount = 8,
|
|
k_EEconTypeEquipInstance = 31,
|
|
k_EEconTypeDefaultEquippedDefinitionInstance = 42,
|
|
k_EEconTypeDefaultEquippedDefinitionInstanceClient = 43,
|
|
k_EEconTypeCoupon = 45,
|
|
k_EEconTypeQuest = 46,
|
|
};
|
|
|
|
enum EItemAction
|
|
{
|
|
k_EItemActionInvalid = -1,
|
|
k_EItemActionGSCreate = 0,
|
|
k_EItemActionUnpurchase = 1,
|
|
k_EItemActionDelete = 2,
|
|
k_EItemActionAwardAchievement = 3,
|
|
k_EItemActionBanned = 4,
|
|
k_EItemActionQuantityChanged = 5,
|
|
k_EItemActionRestored = 6,
|
|
k_EItemActionAwardTime = 7,
|
|
k_EItemActionManualCreate = 8,
|
|
k_EItemActionDrop = 9,
|
|
k_EItemActionPickUp = 10,
|
|
k_EItemActionCraftDestroy = 11,
|
|
k_EItemActionCraftCreate = 12,
|
|
k_EItemActionLimitExceeded = 13,
|
|
k_EItemActionPurchase = 14,
|
|
k_EItemActionNameChanged_Add = 15,
|
|
k_EItemActionUnlockCrate_Add = 16,
|
|
k_EItemActionPaintItem_Add = 17,
|
|
k_EItemActionAutoGrantItem = 18,
|
|
k_EItemActionCrossGameAchievement = 19,
|
|
k_EItemActionAddItemToSocket_Add = 20,
|
|
k_EItemActionAddSocketToItem_Add = 21,
|
|
k_EItemActionRemoveSocketItem_Add = 22,
|
|
k_EItemActionCustomizeItemTexture_Add = 23,
|
|
k_EItemActionItemTraded_Add = 24,
|
|
k_EItemActionUseItem = 25,
|
|
k_EItemActionAwardGift_Receiver = 26,
|
|
k_EItemActionNameChanged_Remove = 27,
|
|
k_EItemActionUnlockCrate_Remove = 28,
|
|
k_EItemActionPaintItem_Remove = 29,
|
|
k_EItemActionAddItemToSocket_Remove = 30,
|
|
k_EItemActionAddSocketToItem_Remove = 31,
|
|
k_EItemActionRemoveSocketItem_Remove = 32,
|
|
k_EItemActionCustomizeItemTexture_Remove = 33,
|
|
k_EItemActionItemTraded_Remove = 34,
|
|
k_EItemActionUnpackItemBundle = 35,
|
|
k_EItemActionCreateItemFromBundle = 36,
|
|
k_EItemActionAwardStorePromotionItem = 37,
|
|
k_EItemActionConvertItem = 38,
|
|
k_EItemActionEarnedItem = 39,
|
|
k_EItemActionAwardGift_Giver = 40,
|
|
k_EItemActionRefundedItem = 41,
|
|
k_EItemActionAwardThirdPartyPromo = 42,
|
|
k_EItemActionRemoveItemName_Remove = 43,
|
|
k_EItemActionRemoveItemName_Add = 44,
|
|
k_EItemActionRemoveItemPaint_Remove = 45,
|
|
k_EItemActionRemoveItemPaint_Add = 46,
|
|
k_EItemActionHalloweenDrop = 47,
|
|
k_EItemActionSteamWorkshopContributor = 48,
|
|
|
|
k_EItemActionSupportDelete = 50,
|
|
k_EItemActionSupportCreatedByUndo = 51,
|
|
k_EItemActionSupportDeletedByUndo = 52,
|
|
k_EItemActionSupportQuantityChangedByUndo = 53,
|
|
k_EItemActionSupportRename_Add = 54,
|
|
k_EItemActionSupportRename_Remove = 55,
|
|
k_EItemActionSupportDescribe_Add = 56,
|
|
k_EItemActionSupportDescribe_Remove = 57,
|
|
|
|
k_EItemActionPeriodicScoreReward_Add = 58,
|
|
k_EItemActionPeriodicScoreReward_Remove = 59,
|
|
k_EItemActionStrangePartApply_Add = 60,
|
|
k_EItemActionStrangePartApply_Remove = 61,
|
|
|
|
k_EItemActionPennantUpgradeApply_Add = 62,
|
|
k_EItemActionPennantUpgradeApply_Remove = 63,
|
|
|
|
k_EItemActionPaintKitItem_Add = 64,
|
|
k_EItemActionPaintKitItem_Remove = 65,
|
|
|
|
k_EItemActionUpgradeChallengeCoin_Add = 66,
|
|
k_EItemActionUpgradeChallengeCoin_Remove = 67,
|
|
|
|
k_EItemActionStickerApply_Add = 68,
|
|
k_EItemActionStickerApply_Remove = 69,
|
|
k_EItemActionStickerRemove_Add = 70,
|
|
k_EItemActionStickerRemove_Remove = 71,
|
|
|
|
k_EItemActionGrantQuestReward_Add = 72,
|
|
k_EItemActionGrantQuestReward_Remove = 73,
|
|
k_EItemActionApplyQuestProgress_Add = 74,
|
|
k_EItemActionApplyQuestProgress_Remove = 75,
|
|
|
|
k_EItemActionPurchaseUnlockCrate_Add = 76,
|
|
k_EItemActionPurchaseUnlockCrate_Remove = 77,
|
|
|
|
k_EItemActionSwapStatTrak_Add = 78,
|
|
k_EItemActionSwapStatTrak_Remove = 79,
|
|
|
|
k_EItemActionPurchaseConsumedAsNonItem = 80,
|
|
|
|
k_EItemActionDev_ClientLootListRoll = 90,
|
|
|
|
k_EItemActionGiftWrap_Add = 100,
|
|
k_EItemActionGiftWrap_Remove = 101,
|
|
k_EItemActionGiftDelivery_Add = 102,
|
|
k_EItemActionGiftDelivery_Remove = 103,
|
|
k_EItemActionGiftUnwrap_Add = 104,
|
|
k_EItemActionGiftUnwrap_Remove = 105,
|
|
k_EItemActionPackageItem = 106,
|
|
k_EItemActionPackageItem_Revoked = 107,
|
|
k_EItemActionHandleMapToken = 108,
|
|
k_EItemActionCafeOrSchoolItem_Remove = 109,
|
|
k_EItemActionVACBanned_Remove = 110,
|
|
k_EItemActionUpgradeThirdPartyPromo = 111,
|
|
k_EItemActionExpired = 112,
|
|
k_EItemActionTradeRollback_Add = 113,
|
|
k_EItemActionTradeRollback_Remove = 114,
|
|
k_EItemActionCDKeyGrant = 115,
|
|
k_EItemActionCDKeyRevoke = 116,
|
|
k_EItemActionWeddingRing_Add = 117,
|
|
k_EItemActionWeddingRing_Remove = 118,
|
|
k_EItemActionWeddingRing_AddPartner = 119,
|
|
k_EItemActionEconSetUnowned = 120,
|
|
k_EItemActionEconSetOwned = 121,
|
|
|
|
k_EItemActionRemoveItemCraftIndex_Remove = 150,
|
|
k_EItemActionRemoveItemCraftIndex_Add = 151,
|
|
k_EItemActionRemoveItemMakersMark_Remove = 152,
|
|
k_EItemActionRemoveItemMakersMark_Add = 153,
|
|
|
|
k_EItemActionCollectItem_CollectedItem = 154,
|
|
k_EItemActionCollectItem_UpdateCollection = 155,
|
|
k_EItemActionCollectItem_RemoveCollection = 156,
|
|
k_EItemActionCollectItem_RedeemCollectionReward = 157,
|
|
|
|
k_EItemActionPreviewItem_BeginPreviewPeriod = 158,
|
|
k_EItemActionPreviewItem_EndPreviewPeriodExpired = 159,
|
|
k_EItemActionPreviewItem_EndPreviewPeriodItemBought = 160,
|
|
|
|
k_EItemActionRecycling = 161,
|
|
k_EItemActionAwardXP = 162,
|
|
k_EItemActionTournamentDrop = 163,
|
|
k_EItemDiretideReward = 164,
|
|
|
|
|
|
k_EItemDiretideEggAddOnModify = 165,
|
|
k_EItemDiretideEssenceRemove = 166,
|
|
k_EItemDiretideEggRemoveOnModify = 167,
|
|
|
|
k_EItemActionUnpackItems = 168,
|
|
|
|
k_EItemActionUnlockStyle = 169,
|
|
k_EItemActionUnlockStyle_Remove = 170,
|
|
|
|
k_EItemActionTutorialDrop = 171,
|
|
|
|
k_EItemActionAutographAdd = 172,
|
|
k_EItemActionAutographRemove = 173,
|
|
|
|
k_EItemActionApplyIntermediateStickerWear = 174,
|
|
k_EItemActionTemplateItemGrant = 175,
|
|
|
|
k_EItemActionCoinCampaignProgress = 176,
|
|
|
|
k_EItemActionMarket_Add = 177,
|
|
k_EItemActionMarket_Remove = 178,
|
|
};
|
|
extern const char* PchNameFromEItemAction(EItemAction eAction);
|
|
extern const char* PchNameFromEItemActionUnsafe(EItemAction eAction);
|
|
|
|
extern bool BIsActionCreative(EItemAction);
|
|
extern bool BIsActionDestructive(EItemAction);
|
|
|
|
enum EItemActionMissingBehavior { kEItemAction_FriendlyNameLookup_ReturnNULLIfMissing, kEItemAction_FriendlyNameLookup_ReturnDummyStringIfMissing };
|
|
extern const char* PchFriendlyNameFromEItemAction(EItemAction eAction, EItemActionMissingBehavior eMissingBehavior);
|
|
extern const char* PchLocalizedNameFromEItemAction(EItemAction eAction, CLocalizationProvider& localizationProvider);
|
|
|
|
|
|
enum EEconOwnershipAction
|
|
{
|
|
k_EEconOwnershipAction_Invalid = 0,
|
|
|
|
k_EEconOwnershipAction_TradeBase = 100,
|
|
k_EEconOwnershipAction_TradeCommit = 101,
|
|
k_EEconOwnershipAction_TradeRollback = 102,
|
|
};
|
|
|
|
enum eEconItemFlags_Deprecated
|
|
{
|
|
kDeprecated_EconItemFlag_AchievementGrantedItem = 1 << 0,
|
|
kDeprecated_EconItemFlag_CannotTrade = 1 << 1,
|
|
kDeprecated_EconItemFlag_Purchased = 1 << 2,
|
|
kDeprecated_EconItemFlag_CannotBeUsedInCrafting = 1 << 3,
|
|
kDeprecated_EconItemFlag_Promotion = 1 << 4,
|
|
};
|
|
|
|
enum eEconItemFlags
|
|
{
|
|
kEconItemFlag_CannotTrade = 1 << 0,
|
|
kEconItemFlag_CannotBeUsedInCrafting = 1 << 1,
|
|
kEconItemFlag_CanBeTradedByFreeAccounts = 1 << 2,
|
|
kEconItemFlag_NonEconomy = 1 << 3,
|
|
|
|
#ifdef CLIENT_DLL
|
|
#ifdef TF_CLIENT_DLL
|
|
kEconItemFlagClient_ForceBlueTeam = 1 << 5,
|
|
#endif
|
|
kEconItemFlagClient_StoreItem = 1 << 6,
|
|
kEconItemFlagClient_Preview = 1 << 7,
|
|
#endif
|
|
|
|
kEconItemFlags_CheckFlags_CannotTrade = kEconItemFlag_CannotTrade,
|
|
kEconItemFlags_CheckFlags_NotUsableInCrafting = kEconItemFlag_CannotBeUsedInCrafting,
|
|
|
|
kEconItemFlags_CheckFlags_AllGCFlags = kEconItemFlags_CheckFlags_CannotTrade | kEconItemFlags_CheckFlags_NotUsableInCrafting,
|
|
};
|
|
|
|
enum eEconItemOrigin
|
|
{
|
|
kEconItemOrigin_Invalid = -1,
|
|
|
|
kEconItemOrigin_Drop = 0,
|
|
kEconItemOrigin_Achievement,
|
|
kEconItemOrigin_Purchased,
|
|
kEconItemOrigin_Traded,
|
|
kEconItemOrigin_Crafted,
|
|
kEconItemOrigin_StorePromotion,
|
|
kEconItemOrigin_Gifted,
|
|
kEconItemOrigin_SupportGranted,
|
|
kEconItemOrigin_FoundInCrate,
|
|
kEconItemOrigin_Earned,
|
|
kEconItemOrigin_ThirdPartyPromotion,
|
|
kEconItemOrigin_GiftWrapped,
|
|
kEconItemOrigin_HalloweenDrop,
|
|
kEconItemOrigin_PackageItem,
|
|
kEconItemOrigin_Foreign,
|
|
kEconItemOrigin_CDKey,
|
|
kEconItemOrigin_CollectionReward,
|
|
kEconItemOrigin_PreviewItem,
|
|
kEconItemOrigin_SteamWorkshopContribution,
|
|
kEconItemOrigin_PeriodicScoreReward,
|
|
kEconItemOrigin_Recycling,
|
|
kEconItemOrigin_TournamentDrop,
|
|
kEconItemOrigin_StockItem,
|
|
KEconItemOrigin_QuestReward,
|
|
KEconItemOrigin_LevelUpReward,
|
|
|
|
kEconItemOrigin_Max,
|
|
};
|
|
extern const char* PchNameFromeEconItemOrigin(eEconItemOrigin eOrigin);
|
|
|
|
typedef uint64 itemid_t;
|
|
typedef uint16 item_definition_index_t;
|
|
typedef uint16 attrib_definition_index_t;
|
|
typedef uint32 attrib_value_t;
|
|
|
|
typedef uint32 equip_region_mask_t;
|
|
typedef uint8 style_index_t;
|
|
|
|
const uint64 INVALID_ITEM_ID = (itemid_t)-1;
|
|
const item_definition_index_t INVALID_ITEM_DEF_INDEX = ((item_definition_index_t)-1);
|
|
const attrib_definition_index_t INVALID_ATTRIB_DEF_INDEX = ((attrib_definition_index_t)-1);
|
|
|
|
#define DEFAULT_NUM_BACKPACK_SLOTS_PER_PAGE 100
|
|
#define DEFAULT_NUM_BACKPACK_SLOTS 1000
|
|
#define DEFAULT_NUM_BACKPACK_SLOTS_FREE_TRIAL_ACCOUNT 100
|
|
#define MAX_NUM_BACKPACK_SLOTS 2000
|
|
|
|
#define MIN_ITEM_LEVEL 0
|
|
#define MAX_ITEM_LEVEL 100
|
|
|
|
#define MAX_ATTRIBUTES_PER_ITEM 32
|
|
#define MAX_ATTRIBUTE_DESCRIPTION_LENGTH ( 256 / sizeof( locchar_t ) )
|
|
|
|
#define MAX_ITEM_NAME_LENGTH 128
|
|
#define MAX_ITEM_DESC_LENGTH 256
|
|
#define MAX_ITEM_LONG_DESC_LENGTH 2048
|
|
#define MAX_ITEM_CUSTOM_NAME_LENGTH 40
|
|
#define MAX_ITEM_CUSTOM_NAME_DATABASE_SIZE ((4 * MAX_ITEM_CUSTOM_NAME_LENGTH) + 1)
|
|
#define MAX_ITEM_CUSTOM_DESC_LENGTH 80
|
|
#define MAX_ITEM_CUSTOM_DESC_DATABASE_SIZE ((4 * MAX_ITEM_CUSTOM_DESC_LENGTH) + 1)
|
|
|
|
#define MAX_CLAIM_CODE_LENGTH 128
|
|
|
|
#define MAX_ITEMS_BEFORE_YIELD 50
|
|
|
|
#define RGB_INT_RED 12073019
|
|
#define RGB_INT_BLUE 5801378
|
|
|
|
const int k_nCustomImageSize = 256;
|
|
const int k_nMaxCustomImageFileSize = k_nCustomImageSize * k_nCustomImageSize * 4 + 4 * 1024;
|
|
|
|
typedef int32 entityquality_t;
|
|
enum EEconItemQuality
|
|
{
|
|
AE_UNDEFINED = -1,
|
|
|
|
AE_NORMAL = 0,
|
|
AE_GENUINE = 1,
|
|
AE_VINTAGE,
|
|
AE_UNUSUAL,
|
|
AE_UNIQUE,
|
|
AE_COMMUNITY,
|
|
AE_DEVELOPER,
|
|
AE_SELFMADE,
|
|
AE_CUSTOMIZED,
|
|
AE_STRANGE,
|
|
AE_COMPLETED,
|
|
AE_HAUNTED,
|
|
AE_TOURNAMENT,
|
|
AE_FAVORED,
|
|
|
|
AE_MAX_TYPES,
|
|
};
|
|
|
|
|
|
enum attrib_colors_t
|
|
{
|
|
ATTRIB_COL_LEVEL = 0,
|
|
ATTRIB_COL_NEUTRAL,
|
|
ATTRIB_COL_POSITIVE,
|
|
ATTRIB_COL_NEGATIVE,
|
|
ATTRIB_COL_ITEMSET_NAME,
|
|
ATTRIB_COL_ITEMSET_EQUIPPED,
|
|
ATTRIB_COL_ITEMSET_MISSING,
|
|
ATTRIB_COL_BUNDLE_ITEM,
|
|
ATTRIB_COL_LIMITED_USE,
|
|
ATTRIB_COL_ITEM_FLAGS,
|
|
ATTRIB_COL_RARITY_DEFAULT,
|
|
ATTRIB_COL_RARITY_COMMON,
|
|
ATTRIB_COL_RARITY_UNCOMMON,
|
|
ATTRIB_COL_RARITY_RARE,
|
|
ATTRIB_COL_RARITY_MYTHICAL,
|
|
ATTRIB_COL_RARITY_LEGENDARY,
|
|
ATTRIB_COL_RARITY_ANCIENT,
|
|
ATTRIB_COL_RARITY_IMMORTAL,
|
|
ATTRIB_COL_RARITY_ARCANA,
|
|
ATTRIB_COL_STRANGE,
|
|
ATTRIB_COL_UNUSUAL,
|
|
|
|
NUM_ATTRIB_COLORS,
|
|
};
|
|
|
|
|
|
#define AE_USE_SCRIPT_VALUE 9999
|
|
|
|
const char* EconQuality_GetQualityString(EEconItemQuality eQuality);
|
|
const char* EconQuality_GetColorString(EEconItemQuality eQuality);
|
|
const char* EconQuality_GetLocalizationString(EEconItemQuality eQuality);
|
|
|
|
int EconQuality_GetRarityScore(EEconItemQuality eQuality);
|
|
|
|
int EconRarity_CombinedItemAndPaintRarity(int nItemDefRarity, int nPaintRarity);
|
|
|
|
int EconWear_ToIntCategory(float flWear);
|
|
float EconWear_FromIntCategory(int nWearCategory);
|
|
|
|
int EconMinutes_ToRoundMinHrsCategory(float flMinutes);
|
|
float EconMinutes_FromRoundMinHrsCategory(int nRoundMinHrsCategory);
|
|
|
|
int EconTintID_ToRoundCategory(uint32 unTintID);
|
|
uint32 EconTintID_FromRoundCategory(int nRoundCategory);
|
|
|
|
extern attrib_colors_t GetAttribColorIndexForName(const char* pszName);
|
|
|
|
extern const char* GetColorNameForAttribColor(attrib_colors_t unAttribColor);
|
|
extern const char* GetHexColorForAttribColor(attrib_colors_t unAttribColor);
|
|
|
|
entityquality_t GetItemQualityFromString(const char* sQuality);
|
|
|
|
enum recipecategories_t
|
|
{
|
|
RECIPE_CATEGORY_CRAFTINGITEMS = 0,
|
|
RECIPE_CATEGORY_COMMONITEMS,
|
|
RECIPE_CATEGORY_RAREITEMS,
|
|
RECIPE_CATEGORY_SPECIAL,
|
|
|
|
NUM_RECIPE_CATEGORIES
|
|
};
|
|
extern const char* g_szRecipeCategoryStrings[NUM_RECIPE_CATEGORIES];
|
|
|
|
enum kill_eater_event_t
|
|
{
|
|
kKillEaterEvent_PlayerKill = 0,
|
|
kKillEaterEvent_MVPs,
|
|
|
|
|
|
};
|
|
|
|
bool EventRequiresVictim(kill_eater_event_t ke_event);
|
|
|
|
#define KILL_EATER_RANK_LEVEL_BLOCK_NAME "KillEaterRank"
|
|
|
|
int GetKillEaterAttrPairCount();
|
|
const class CEconItemAttributeDefinition* GetKillEaterAttrPair_Score(int i);
|
|
const class CEconItemAttributeDefinition* GetKillEaterAttrPair_Type(int i);
|
|
bool GetKillEaterAttrPair_IsUserCustomizable(int i);
|
|
|
|
|
|
enum unacknowledged_item_inventory_positions_t
|
|
{
|
|
UNACK_ITEM_DROPPED = 1,
|
|
UNACK_ITEM_CRAFTED,
|
|
UNACK_ITEM_TRADED,
|
|
UNACK_ITEM_PURCHASED,
|
|
UNACK_ITEM_FOUND_IN_CRATE,
|
|
UNACK_ITEM_GIFTED,
|
|
UNACK_ITEM_SUPPORT,
|
|
UNACK_ITEM_PROMOTION,
|
|
UNACK_ITEM_EARNED,
|
|
UNACK_ITEM_REFUNDED,
|
|
UNACK_ITEM_GIFT_WRAPPED,
|
|
UNACK_ITEM_FOREIGN,
|
|
UNACK_ITEM_COLLECTION_REWARD,
|
|
UNACK_ITEM_PREVIEW_ITEM,
|
|
UNACK_ITEM_PREVIEW_ITEM_PURCHASED,
|
|
UNACK_ITEM_PERIODIC_SCORE_REWARD,
|
|
UNACK_ITEM_RECYCLING,
|
|
UNACK_ITEM_TOURNAMENT_DROP,
|
|
UNACK_ITEM_QUEST_REWARD,
|
|
UNACK_ITEM_LEVEL_UP_REWARD,
|
|
#ifdef ENABLE_STORE_RENTAL_BACKEND
|
|
UNACK_ITEM_RENTAL_PURCHASE,
|
|
#endif
|
|
|
|
UNACK_NUM_METHODS,
|
|
};
|
|
|
|
extern const char* g_pszItemPickupMethodStrings[UNACK_NUM_METHODS];
|
|
extern const char* g_pszItemPickupMethodStringsUnloc[UNACK_NUM_METHODS];
|
|
extern const char* g_pszItemFoundMethodStrings[UNACK_NUM_METHODS];
|
|
|
|
enum
|
|
{
|
|
kGCItemSort_NoSort = 0,
|
|
|
|
kGCItemSort_SortByName = 1,
|
|
kGCItemSort_SortByDefIndex = 2,
|
|
kGCItemSort_SortByRarity = 3,
|
|
kGCItemSort_SortByType = 4,
|
|
kGCItemSort_SortByQuality = 5,
|
|
|
|
kGCItemSort_GameSpecificBase = 100,
|
|
};
|
|
|
|
enum
|
|
{
|
|
kTFGCItemSort_SortByClass = kGCItemSort_GameSpecificBase + 1,
|
|
kTFGCItemSort_SortBySlot = kGCItemSort_GameSpecificBase + 2,
|
|
kDOTAGCItemSort_SortByHero = kGCItemSort_GameSpecificBase + 3,
|
|
};
|
|
|
|
enum
|
|
{
|
|
kBackendPosition_Unacked = 1 << 30,
|
|
kBackendPosition_Reserved = 1 << 31,
|
|
|
|
kBackendPositionMask_Position = 0x0000ffff,
|
|
kBackendPositionMask_FormatFlags = (kBackendPosition_Unacked | kBackendPosition_Reserved),
|
|
};
|
|
|
|
inline void SetBackpackPosition(uint32* pPosition, uint32 iPackPosition)
|
|
{
|
|
(*pPosition) = iPackPosition;
|
|
|
|
(*pPosition) &= ~kBackendPosition_Unacked;
|
|
}
|
|
|
|
inline bool IsUnacknowledged(uint32 iBackendPosition)
|
|
{
|
|
return (iBackendPosition == 0 || (iBackendPosition & kBackendPosition_Unacked) != 0);
|
|
}
|
|
|
|
inline int ExtractBackpackPositionFromBackend(uint32 iBackendPosition)
|
|
{
|
|
if (IsUnacknowledged(iBackendPosition))
|
|
return 0;
|
|
|
|
return iBackendPosition & kBackendPositionMask_Position;
|
|
}
|
|
|
|
inline unacknowledged_item_inventory_positions_t GetUnacknowledgedReason(uint32 iBackendPosition)
|
|
{
|
|
return (unacknowledged_item_inventory_positions_t)(iBackendPosition &= ~kBackendPositionMask_FormatFlags);
|
|
}
|
|
|
|
inline uint32 GetUnacknowledgedPositionFor(unacknowledged_item_inventory_positions_t iMethod)
|
|
{
|
|
return (iMethod | kBackendPosition_Unacked | kBackendPosition_Reserved);
|
|
}
|
|
|
|
enum EEconItemPreviewEventIDs
|
|
{
|
|
k_EEconItemPreview_Start = 1,
|
|
k_EEconItemPreview_Expired = 2,
|
|
k_EEconItemPreview_ItemPurchased = 3,
|
|
};
|
|
|
|
enum EHoliday
|
|
{
|
|
kHoliday_None = 0,
|
|
kHoliday_Halloween,
|
|
kHoliday_Christmas,
|
|
kHoliday_FullMoon,
|
|
kHoliday_HalloweenOrFullMoon,
|
|
kHoliday_Easter,
|
|
|
|
kHolidayCount,
|
|
};
|
|
|
|
enum ECartItemType
|
|
{
|
|
kCartItem_Purchase,
|
|
kCartItem_TryOutUpgrade,
|
|
kCartItem_Rental_1Day,
|
|
kCartItem_Rental_3Day,
|
|
kCartItem_Rental_7Day,
|
|
};
|
|
|
|
void GetHexStringFromPaintColor(float flPaint, char* pszRGB);
|
|
inline bool IsRentalCartItemType(ECartItemType eCartType)
|
|
{
|
|
return eCartType == kCartItem_Rental_1Day
|
|
|| eCartType == kCartItem_Rental_3Day
|
|
|| eCartType == kCartItem_Rental_7Day;
|
|
}
|
|
|
|
|
|
#endif |