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 /game/shared/econ/econ_gcmessages.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/shared/econ/econ_gcmessages.h')
| -rw-r--r-- | game/shared/econ/econ_gcmessages.h | 345 |
1 files changed, 345 insertions, 0 deletions
diff --git a/game/shared/econ/econ_gcmessages.h b/game/shared/econ/econ_gcmessages.h new file mode 100644 index 0000000..c5e5d7a --- /dev/null +++ b/game/shared/econ/econ_gcmessages.h @@ -0,0 +1,345 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: This file defines all of our over-the-wire net protocols for the +// Game Coordinator for the item system. Note that we never use types +// with undefined length (like int). Always use an explicit type +// (like int32). +// +//============================================================================= + +#ifndef ITEM_GCMESSAGES_H +#define ITEM_GCMESSAGES_H +#ifdef _WIN32 +#pragma once +#endif + +#include "econ_gcmessages.pb.h" + +#pragma pack( push, 1 ) + + +// generic zero-length message struct +struct MsgGCEmpty_t +{ + +}; + +// k_EMsgGCSetItemPosition +struct MsgGCSetItemPosition_t +{ + uint64 m_unItemID; + uint32 m_unNewPosition; +}; + +// k_EMsgGCCraft +struct MsgGCCraft_t +{ + int16 m_nRecipeDefIndex; + uint16 m_nItemCount; + // list of m_nItemCount uint64 item IDs +}; + +// k_EMsgGCDelete +struct MsgGCDelete_t +{ + uint64 m_unItemID; +}; + +// k_EMsgGCCraftResponse +struct MsgGCStandardResponse_t +{ + int16 m_nResponseIndex; + uint32 m_eResponse; +}; + +// k_EMsgGCVerifyCacheSubscription +struct MsgGCVerifyCacheSubscription_t +{ + uint64 m_ulSteamID; +}; + +// k_EMsgGCNameItem +struct MsgGCNameItem_t +{ + uint64 m_unToolItemID; // the Nametag item + uint64 m_unSubjectItemID; // the item to be renamed + bool m_bDescription; + // Varchar: Item name +}; + +// k_EMsgGCNameBaseItem +struct MsgGCNameBaseItem_t +{ + uint64 m_unToolItemID; // the Nametag item + uint32 m_unBaseItemDefinitionID; // the base item definition to be renamed + bool m_bDescription; + // Varchar: Item name +}; + +// k_EMsgGCUnlockCrate +struct MsgGCUnlockCrate_t +{ + uint64 m_unToolItemID; // the crate key + uint64 m_unSubjectItemID; // the crate to be decoded +}; + +// k_EMsgGCPaintItem +struct MsgGCPaintItem_t +{ + uint64 m_unToolItemID; // the Paint Can item + uint64 m_unSubjectItemID; // the item to be painted +}; + +// k_EMsgGCGiftWrapItem +struct MsgGCGiftWrapItem_t +{ + uint64 m_unToolItemID; // the Gift Wrap item + uint64 m_unSubjectItemID; // the item to be wrapped +}; + +// k_EMsgGCDeliverGift +struct MsgGCDeliverGift_t +{ + uint64 m_unGiftID; + uint64 m_ulGiverSteamID; + uint64 m_ulTargetSteamID; +}; + +// k_EMsgGCUnwrapGiftRequest +struct MsgGCUnwrapGiftRequest_t +{ + uint64 m_unItemID; +}; + +// k_EMsgGCMOTDRequest +struct MsgGCMOTDRequest_t +{ + RTime32 m_nLastMOTDRequest; // Time at which the client last asked for MOTDs. GC will send back all MOTDs posted since. + int16 m_eLanguage; +}; + +// k_EMsgGCMOTDRequestResponse +struct MsgGCMOTDRequestResponse_t +{ + int16 m_nEntries; +}; + +// k_EMsgGCCustomizeItemTexture +struct MsgGCCustomizeItemTexture_t +{ + uint64 m_unToolItemID; // the tool + uint64 m_unSubjectItemID; // the item wants the texture + uint64 m_unImageUGCHandle; // cloud ID of image file (UGCHandle_t) +}; + +// k_EMsgGCSetItemStyle +struct MsgGCSetItemStyle_t +{ + uint64 m_unItemID; + uint8 m_iStyle; +}; + +// k_EMsgGCItemPreviewCheckStatus +struct MsgGCCheckItemPreviewStatus_t +{ + uint32 m_unItemDefIndex; +}; + +// k_EMsgGCItemPreviewCheckStatusResponse +struct MsgGCItemPreviewCheckStatusResponse_t +{ + uint32 m_unItemDefIndex; + uint32 m_eResponse; + RTime32 m_timePreviewTime; +}; + +// k_EMsgGCItemPreviewRequest +struct MsgGCItemPreviewRequest_t +{ + uint32 m_unItemDefIndex; +}; + +// k_EMsgGCItemPreviewRequestResponse +struct MsgGCItemPreviewRequestResponse_t +{ + uint32 m_unItemDefIndex; + uint32 m_eResponse; +}; + +// k_EMsgGCItemPreviewExpire +struct MsgGCItemPreviewExpire_t +{ + +}; + +// k_EMsgGCItemPreviewExpireNotification +struct MsgGCItemPreviewExpireNotification_t +{ + uint32 m_unItemDefIndex; +}; + +//----------------------------------------------------------------------------- + +// k_EMsgGCUseItemResponse +enum EGCMsgUseItemResponse +{ + k_EGCMsgUseItemResponse_ItemUsed = 0, + k_EGCMsgUseItemResponse_GiftNoOtherPlayers = 1, + k_EGCMsgUseItemResponse_ServerError = 2, + k_EGCMsgUseItemResponse_MiniGameAlreadyStarted = 3, + k_EGCMsgUseItemResponse_ItemUsed_ItemsGranted = 4, + k_EGCMsgUseItemResponse_CannotBeUsedByAccount = 5, + k_EGCMsgUseItemResponse_ForceSizeInt = 0x7FFFFFFF +}; + +// k_EMsgGCUseItemResponse +struct MsgGCUseItemResponse_t +{ + uint32 m_eResponse; +}; + +// k_EMsgGCSpawnItem +struct MsgGCSpawnItem_t +{ + uint64 m_ulInitiatorSteamID; + uint32 m_unItemDefinitionID; + // other data dynamically added: + // string of initiator name +}; + +// k_EMsgGCRespawnPostLoadoutChange +struct MsgGCRespawnPostLoadoutChange_t +{ + uint64 m_ulInitiatorSteamID; +}; + +// k_EMsgGCRemoveItemName +struct MsgGCRemoveItemName_t +{ + uint64 m_unItemID; + bool m_bDescription; +}; + +//----------------------------------------------------------------------------- +// Trading + +// k_EMsgGCTrading_InitiateTradeRequest +struct MsgGCTrading_InitiateTradeRequest_t +{ + uint32 m_unTradeRequestID; + uint64 m_ulOtherSteamID; + // @note player A's name as string when sent to party B +}; + +enum EGCMsgInitiateTradeResponse +{ + k_EGCMsgInitiateTradeResponse_Accepted = 0, + k_EGCMsgInitiateTradeResponse_Declined = 1, + k_EGCMsgInitiateTradeResponse_VAC_Banned_Initiator = 2, + k_EGCMsgInitiateTradeResponse_VAC_Banned_Target = 3, + k_EGCMsgInitiateTradeResponse_Target_Already_Trading = 4, + k_EGCMsgInitiateTradeResponse_Disabled = 5, + k_EGCMsgInitiateTradeResponse_NotLoggedIn = 6, + k_EGCMsgInitiateTradeResponse_Cancel = 7, + k_EGCMsgInitiateTradeResponse_TooSoon = 8, + k_EGCMsgInitiateTradeResponse_TooSoonPenalty = 9, + k_EGCMsgInitiateTradeResponse_Trade_Banned_Initiator = 10, + k_EGCMsgInitiateTradeResponse_Trade_Banned_Target = 11, + k_EGCMsgInitiateTradeResponse_Free_Account_Initiator_DEPRECATED = 12, // free accounts can initiate trades now + k_EGCMsgInitiateTradeResponse_Shared_Account_Initiator= 13, + k_EGCMsgInitiateTradeResponse_Service_Unavailable = 14, + k_EGCMsgInitiateTradeResponse_Target_Blocked = 15, + k_EGCMsgInitiateTradeResponse_NeedVerifiedEmail = 16, + k_EGCMsgInitiateTradeResponse_NeedSteamGuard = 17, + k_EGCMsgInitiateTradeResponse_SteamGuardDuration = 18, + k_EGCMsgInitiateTradeResponse_TheyCannotTrade = 19, + k_EGCMsgInitiateTradeResponse_Recent_Password_Reset = 20, + k_EGCMsgInitiateTradeResponse_Using_New_Device = 21, + k_EGCMsgInitiateTradeResponse_Sent_Invalid_Cookie = 22, + + k_EGCMsgInitiateTradeResponse_Count, + k_EGCMsgInitiateTradeResponse_ForceSizeInt = 0x7FFFFFFF +}; + +// k_EMsgGCTrading_InitiateTradeResponse +struct MsgGCTrading_InitiateTradeResponse_t +{ + uint32 m_eResponse; + uint32 m_unTradeRequestID; +}; + +// k_EMsgGCTrading_StartSession +struct MsgGCTrading_StartSession_t +{ + uint32 m_unSessionVersion; + uint64 m_ulSteamIDPartyA; + uint64 m_ulSteamIDPartyB; + // @note strings from player names will be added to the message +}; + +// k_EMsgGCTrading_CancelSession +struct MsgGCTrading_CancelSession_t +{ +}; + +// k_EMsgGCUsedClaimCodeItem +struct MsgGCUsedClaimCodeItem_t +{ + // string of URL +}; + +//----------------------------------------------------------------------------- +// ServerBrowser messages + +enum EGCMsgServerBrowser +{ + k_EGCMsgServerBrowser_FromServerBrowser = 0, + k_EGCMsgServerBrowser_FromAutoAskDialog = 1, +}; + +// k_EMsgGCServerBrowser_FavoriteServer +// k_EMsgGCServerBrowser_BlacklistServer +struct MsgGCServerBrowser_Server_t +{ + uint32 m_unIP; + int m_usPort; + uint8 m_ubSource; // 0=serverbrowser, 1=auto-ask dialog +}; + +//----------------------------------------------------------------------------- +// Public facing loot lists. + +// k_EMsgGC_RevolvingLootList +struct MsgGC_RevolvingLootList_t +{ + uint8 m_usListID; // Id of this list. + // Var Data: + // Serialized Lootlist KV +}; + + +// k_EMsgGCLookupAccount +struct MsgGCLookupAccount_t +{ + uint16 m_uiFindType; + + // Var Data + // string containing Persona / URL / etc +}; + +// k_EMsgGCLookupAccountName +struct MsgGCLookupAccountName_t +{ + uint32 m_unAccountID; +}; + +// k_EMsgGCLookupAccountNameResponse +struct MsgGCLookupAccountNameResponse_t +{ + uint32 m_unAccountID; + // string containing persona name +}; + +#pragma pack( pop ) + +#endif |