Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: This file defines all of our over-the-wire net protocols for the
// global system messages used by the GC. These are usually sent by
// the GC Host so be very careful of versioning issues when you consider
// changing them. Note that we never use types with undefined length
// (like int). Always use an explicit type (like int32).
//
//=============================================================================
#ifndef GCSYSTEMMSGS_H
#define GCSYSTEMMSGS_H
#ifdef _WIN32
#pragma once
#endif
// Protobuf headers interfere with the valve min/max/malloc overrides. so we need to do all
// this funky wrapping to make the include happy.
#include <tier0/valve_minmax_off.h>
#include "gcsystemmsgs.pb.h"
#include <tier0/valve_minmax_on.h>
namespace GCSDK {
#pragma pack( push, 8 ) // this is a 8 instead of a 1 to maintain backward compatibility with Steam
// generic zero-length message struct
struct MsgGCEmpty_t {
};
// k_EGCMsgAchievementAwarded
struct MsgGCAchievementAwarded_t { uint16 m_usStatID; uint8 m_ubBit; // var data:
// string data: name of achievement earned
};
// k_EGCMsgConCommand
struct MsgGCConCommand_t { // var data:
// string: the command as typed into the console
};
// k_EGCMsgStartPlaying
struct MsgGCStartPlaying_t { CSteamID m_steamID; CSteamID m_steamIDGS; uint32 m_unServerAddr; uint16 m_usServerPort; };
// k_EGCMsgStartPlaying
// k_EGCMsgStopGameserver
struct MsgGCStopSession_t { CSteamID m_steamID; };
// k_EGCMsgStartGameserver
struct MsgGCStartGameserver_t { CSteamID m_steamID; uint32 m_unServerAddr; uint16 m_usServerPort; };
// k_EGCMsgWGRequest
struct MsgGCWGRequest_t { uint64 m_ulSteamID; //SteamID of auth'd WG user
uint32 m_unPrivilege; // The EGCWebApiPrivilege value that the request was made with
uint32 m_cubKeyValues; // length of the key values data blob in message (starts after string request name data)
// var data -
// request name
// binary key values of web request
};
// k_EGCMsgWGResponse
struct MsgGCWGResponse_t { bool m_bResult; // True if the request was successful
uint32 m_cubKeyValues; // length of the key values data blob in message
// var data -
// binary key values of web response
};
// k_EGCMsgGetUserGameStatsSchemaResponse
struct MsgGetUserGameStatsSchemaResponse_t { bool m_bSuccess; // True is the request was successful
// var data -
// binary key values containing the User Game Stats schema
};
// k_EGCMsgGetUserStats
struct MsgGetUserStats_t { uint64 m_ulSteamID; // SteamID the stats are requested for
uint16 m_cStatIDs; // A count of the number of statIDs requested
// var data -
// Array of m_cStatIDs 16-bit StatIDs
};
// k_EGCMsgGetUserStatsResponse
struct MsgGetUserStatsResponse_t { uint64 m_ulSteamID; // SteamID the stats were requested for
bool m_bSuccess; // True is the request was successful
uint16 m_cStats; // Number of stats returned in the message
// var data -
// m_cStats instances of:
// uint16 usStatID - Stat ID
// uint32 unData - Stat value
};
// k_EGCMsgValidateSession
struct MsgGCValidateSession_t { uint64 m_ulSteamID; // SteamID to validate
};
// k_EGCMsgValidateSessionResponse
struct MsgGCValidateSessionResponse_t { uint64 m_ulSteamID; uint64 m_ulSteamIDGS; uint32 m_unServerAddr; uint16 m_usServerPort; bool m_bOnline; };
// response to k_EGCMsgLookupAccountFromInput
struct MsgGCLookupAccountResponse { uint64 m_ulSteamID; };
// k_EGCMsgSendHTTPRequest
struct MsgGCSendHTTPRequest_t { // Variable data:
// - Serialized CHTTPRequest
};
// k_EGCMsgSendHTTPRequestResponse
struct MsgGCSendHTTPRequestResponse_t { bool m_bCompleted; // Variable data:
// - if m_bCompleted is true, Serialized CHTTPResponse
};
// k_EGCMsgRecordSupportAction
struct MsgGCRecordSupportAction_t { uint32 m_unAccountID; // which account is affected (object)
uint32 m_unActorID; // who made the change (subject)
// Variable data:
// - string - Custom data for the event
// - string - A note with the reason for the change
};
// k_EGCMsgWebAPIRegisterInterfaces
struct MsgGCWebAPIRegisterInterfaces_t { uint32 m_cInterfaces; // Variable data:
// - KeyValues for interface - one per interface
};
// k_EGCMsgGetAccountDetails
struct MsgGCGetAccountDetails_t { uint64 m_ulSteamID; // SteamID to validate
};
// Used by k_EGCMsgFindAccounts
enum EAccountFindType { k_EFindAccountTypeInvalid = 0, k_EFindAccountTypeAccountName = 1, k_EFindAccountTypeEmail, k_EFindAccountTypePersonaName, k_EFindAccountTypeURL, k_EFindAccountTypeAllOnline, k_EFindAccountTypeAll, k_EFindClanTypeClanName, k_EFindClanTypeURL, k_EFindClanTypeOfficialURL, k_EFindClanTypeAppID, };
} // namespace GCSDK
#pragma pack( pop )
#endif // GCSYSTEMMSGS_H
|