Update UserMessage protobufs

This commit is contained in:
Asher Baker 2020-03-11 22:14:21 +00:00
parent c2a3461823
commit 77caffb19a
9 changed files with 15207 additions and 14511 deletions

File diff suppressed because it is too large Load Diff

View File

@ -94,6 +94,9 @@ class CSVCMsg_EncryptedData;
class CSVCMsg_HltvReplay;
class CCLCMsg_HltvReplay;
class CSVCMsg_Broadcast_Command;
class CCLCMsg_HltvFixupOperatorTick;
class CSVCMsg_HltvFixupOperatorStatus;
class CCLCMsg_ItemVerificationSerial;
enum NET_Messages {
net_NOP = 0,
@ -133,11 +136,14 @@ enum CLC_Messages {
clc_SplitPlayerConnect = 16,
clc_ClientMessage = 17,
clc_CmdKeyValues = 18,
clc_HltvReplay = 20
clc_HltvReplay = 20,
clc_HltvFixupOperatorTick = 21,
clc_HltvFixupOperatorReceiver = 22,
clc_ItemVerificationSerial = 40
};
bool CLC_Messages_IsValid(int value);
const CLC_Messages CLC_Messages_MIN = clc_ClientInfo;
const CLC_Messages CLC_Messages_MAX = clc_HltvReplay;
const CLC_Messages CLC_Messages_MAX = clc_ItemVerificationSerial;
const int CLC_Messages_ARRAYSIZE = CLC_Messages_MAX + 1;
const ::google::protobuf::EnumDescriptor* CLC_Messages_descriptor();
@ -189,27 +195,6 @@ inline bool ESplitScreenMessageType_Parse(
return ::google::protobuf::internal::ParseNamedEnum<ESplitScreenMessageType>(
ESplitScreenMessageType_descriptor(), name, value);
}
enum ReplayEventType_t {
REPLAY_EVENT_CANCEL = 0,
REPLAY_EVENT_DEATH = 1,
REPLAY_EVENT_GENERIC = 2,
REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3
};
bool ReplayEventType_t_IsValid(int value);
const ReplayEventType_t ReplayEventType_t_MIN = REPLAY_EVENT_CANCEL;
const ReplayEventType_t ReplayEventType_t_MAX = REPLAY_EVENT_STUCK_NEED_FULL_UPDATE;
const int ReplayEventType_t_ARRAYSIZE = ReplayEventType_t_MAX + 1;
const ::google::protobuf::EnumDescriptor* ReplayEventType_t_descriptor();
inline const ::std::string& ReplayEventType_t_Name(ReplayEventType_t value) {
return ::google::protobuf::internal::NameOfEnum(
ReplayEventType_t_descriptor(), value);
}
inline bool ReplayEventType_t_Parse(
const ::std::string& name, ReplayEventType_t* value) {
return ::google::protobuf::internal::ParseNamedEnum<ReplayEventType_t>(
ReplayEventType_t_descriptor(), name, value);
}
enum SVC_Messages {
svc_ServerInfo = 8,
svc_SendTable = 9,
@ -239,11 +224,12 @@ enum SVC_Messages {
svc_CmdKeyValues = 34,
svc_EncryptedData = 35,
svc_HltvReplay = 36,
svc_Broadcast_Command = 38
svc_Broadcast_Command = 38,
svc_HltvFixupOperatorStatus = 39
};
bool SVC_Messages_IsValid(int value);
const SVC_Messages SVC_Messages_MIN = svc_ServerInfo;
const SVC_Messages SVC_Messages_MAX = svc_Broadcast_Command;
const SVC_Messages SVC_Messages_MAX = svc_HltvFixupOperatorStatus;
const int SVC_Messages_ARRAYSIZE = SVC_Messages_MAX + 1;
const ::google::protobuf::EnumDescriptor* SVC_Messages_descriptor();
@ -256,6 +242,27 @@ inline bool SVC_Messages_Parse(
return ::google::protobuf::internal::ParseNamedEnum<SVC_Messages>(
SVC_Messages_descriptor(), name, value);
}
enum ReplayEventType_t {
REPLAY_EVENT_CANCEL = 0,
REPLAY_EVENT_DEATH = 1,
REPLAY_EVENT_GENERIC = 2,
REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3
};
bool ReplayEventType_t_IsValid(int value);
const ReplayEventType_t ReplayEventType_t_MIN = REPLAY_EVENT_CANCEL;
const ReplayEventType_t ReplayEventType_t_MAX = REPLAY_EVENT_STUCK_NEED_FULL_UPDATE;
const int ReplayEventType_t_ARRAYSIZE = ReplayEventType_t_MAX + 1;
const ::google::protobuf::EnumDescriptor* ReplayEventType_t_descriptor();
inline const ::std::string& ReplayEventType_t_Name(ReplayEventType_t value) {
return ::google::protobuf::internal::NameOfEnum(
ReplayEventType_t_descriptor(), value);
}
inline bool ReplayEventType_t_Parse(
const ::std::string& name, ReplayEventType_t* value) {
return ::google::protobuf::internal::ParseNamedEnum<ReplayEventType_t>(
ReplayEventType_t_descriptor(), name, value);
}
// ===================================================================
class CMsgVector : public ::google::protobuf::Message {
@ -7210,6 +7217,353 @@ class CSVCMsg_Broadcast_Command : public ::google::protobuf::Message {
void InitAsDefaultInstance();
static CSVCMsg_Broadcast_Command* default_instance_;
};
// -------------------------------------------------------------------
class CCLCMsg_HltvFixupOperatorTick : public ::google::protobuf::Message {
public:
CCLCMsg_HltvFixupOperatorTick();
virtual ~CCLCMsg_HltvFixupOperatorTick();
CCLCMsg_HltvFixupOperatorTick(const CCLCMsg_HltvFixupOperatorTick& from);
inline CCLCMsg_HltvFixupOperatorTick& operator=(const CCLCMsg_HltvFixupOperatorTick& from) {
CopyFrom(from);
return *this;
}
inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
return _unknown_fields_;
}
inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
return &_unknown_fields_;
}
static const ::google::protobuf::Descriptor* descriptor();
static const CCLCMsg_HltvFixupOperatorTick& default_instance();
void Swap(CCLCMsg_HltvFixupOperatorTick* other);
// implements Message ----------------------------------------------
CCLCMsg_HltvFixupOperatorTick* New() const;
void CopyFrom(const ::google::protobuf::Message& from);
void MergeFrom(const ::google::protobuf::Message& from);
void CopyFrom(const CCLCMsg_HltvFixupOperatorTick& from);
void MergeFrom(const CCLCMsg_HltvFixupOperatorTick& from);
void Clear();
bool IsInitialized() const;
int ByteSize() const;
bool MergePartialFromCodedStream(
::google::protobuf::io::CodedInputStream* input);
void SerializeWithCachedSizes(
::google::protobuf::io::CodedOutputStream* output) const;
::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
int GetCachedSize() const { return _cached_size_; }
private:
void SharedCtor();
void SharedDtor();
void SetCachedSize(int size) const;
public:
::google::protobuf::Metadata GetMetadata() const;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
// optional int32 tick = 1;
inline bool has_tick() const;
inline void clear_tick();
static const int kTickFieldNumber = 1;
inline ::google::protobuf::int32 tick() const;
inline void set_tick(::google::protobuf::int32 value);
// optional bytes props_data = 2;
inline bool has_props_data() const;
inline void clear_props_data();
static const int kPropsDataFieldNumber = 2;
inline const ::std::string& props_data() const;
inline void set_props_data(const ::std::string& value);
inline void set_props_data(const char* value);
inline void set_props_data(const void* value, size_t size);
inline ::std::string* mutable_props_data();
inline ::std::string* release_props_data();
inline void set_allocated_props_data(::std::string* props_data);
// optional .CMsgVector origin = 3;
inline bool has_origin() const;
inline void clear_origin();
static const int kOriginFieldNumber = 3;
inline const ::CMsgVector& origin() const;
inline ::CMsgVector* mutable_origin();
inline ::CMsgVector* release_origin();
inline void set_allocated_origin(::CMsgVector* origin);
// optional .CMsgQAngle eye_angles = 4;
inline bool has_eye_angles() const;
inline void clear_eye_angles();
static const int kEyeAnglesFieldNumber = 4;
inline const ::CMsgQAngle& eye_angles() const;
inline ::CMsgQAngle* mutable_eye_angles();
inline ::CMsgQAngle* release_eye_angles();
inline void set_allocated_eye_angles(::CMsgQAngle* eye_angles);
// optional int32 observer_mode = 5;
inline bool has_observer_mode() const;
inline void clear_observer_mode();
static const int kObserverModeFieldNumber = 5;
inline ::google::protobuf::int32 observer_mode() const;
inline void set_observer_mode(::google::protobuf::int32 value);
// optional bool cameraman_scoreboard = 6;
inline bool has_cameraman_scoreboard() const;
inline void clear_cameraman_scoreboard();
static const int kCameramanScoreboardFieldNumber = 6;
inline bool cameraman_scoreboard() const;
inline void set_cameraman_scoreboard(bool value);
// optional int32 observer_target = 7;
inline bool has_observer_target() const;
inline void clear_observer_target();
static const int kObserverTargetFieldNumber = 7;
inline ::google::protobuf::int32 observer_target() const;
inline void set_observer_target(::google::protobuf::int32 value);
// optional .CMsgVector view_offset = 8;
inline bool has_view_offset() const;
inline void clear_view_offset();
static const int kViewOffsetFieldNumber = 8;
inline const ::CMsgVector& view_offset() const;
inline ::CMsgVector* mutable_view_offset();
inline ::CMsgVector* release_view_offset();
inline void set_allocated_view_offset(::CMsgVector* view_offset);
// @@protoc_insertion_point(class_scope:CCLCMsg_HltvFixupOperatorTick)
private:
inline void set_has_tick();
inline void clear_has_tick();
inline void set_has_props_data();
inline void clear_has_props_data();
inline void set_has_origin();
inline void clear_has_origin();
inline void set_has_eye_angles();
inline void clear_has_eye_angles();
inline void set_has_observer_mode();
inline void clear_has_observer_mode();
inline void set_has_cameraman_scoreboard();
inline void clear_has_cameraman_scoreboard();
inline void set_has_observer_target();
inline void clear_has_observer_target();
inline void set_has_view_offset();
inline void clear_has_view_offset();
::google::protobuf::UnknownFieldSet _unknown_fields_;
::std::string* props_data_;
::CMsgVector* origin_;
::google::protobuf::int32 tick_;
::google::protobuf::int32 observer_mode_;
::CMsgQAngle* eye_angles_;
bool cameraman_scoreboard_;
::google::protobuf::int32 observer_target_;
::CMsgVector* view_offset_;
mutable int _cached_size_;
::google::protobuf::uint32 _has_bits_[(8 + 31) / 32];
friend void protobuf_AddDesc_netmessages_2eproto();
friend void protobuf_AssignDesc_netmessages_2eproto();
friend void protobuf_ShutdownFile_netmessages_2eproto();
void InitAsDefaultInstance();
static CCLCMsg_HltvFixupOperatorTick* default_instance_;
};
// -------------------------------------------------------------------
class CSVCMsg_HltvFixupOperatorStatus : public ::google::protobuf::Message {
public:
CSVCMsg_HltvFixupOperatorStatus();
virtual ~CSVCMsg_HltvFixupOperatorStatus();
CSVCMsg_HltvFixupOperatorStatus(const CSVCMsg_HltvFixupOperatorStatus& from);
inline CSVCMsg_HltvFixupOperatorStatus& operator=(const CSVCMsg_HltvFixupOperatorStatus& from) {
CopyFrom(from);
return *this;
}
inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
return _unknown_fields_;
}
inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
return &_unknown_fields_;
}
static const ::google::protobuf::Descriptor* descriptor();
static const CSVCMsg_HltvFixupOperatorStatus& default_instance();
void Swap(CSVCMsg_HltvFixupOperatorStatus* other);
// implements Message ----------------------------------------------
CSVCMsg_HltvFixupOperatorStatus* New() const;
void CopyFrom(const ::google::protobuf::Message& from);
void MergeFrom(const ::google::protobuf::Message& from);
void CopyFrom(const CSVCMsg_HltvFixupOperatorStatus& from);
void MergeFrom(const CSVCMsg_HltvFixupOperatorStatus& from);
void Clear();
bool IsInitialized() const;
int ByteSize() const;
bool MergePartialFromCodedStream(
::google::protobuf::io::CodedInputStream* input);
void SerializeWithCachedSizes(
::google::protobuf::io::CodedOutputStream* output) const;
::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
int GetCachedSize() const { return _cached_size_; }
private:
void SharedCtor();
void SharedDtor();
void SetCachedSize(int size) const;
public:
::google::protobuf::Metadata GetMetadata() const;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
// optional uint32 mode = 1;
inline bool has_mode() const;
inline void clear_mode();
static const int kModeFieldNumber = 1;
inline ::google::protobuf::uint32 mode() const;
inline void set_mode(::google::protobuf::uint32 value);
// optional string override_operator_name = 2;
inline bool has_override_operator_name() const;
inline void clear_override_operator_name();
static const int kOverrideOperatorNameFieldNumber = 2;
inline const ::std::string& override_operator_name() const;
inline void set_override_operator_name(const ::std::string& value);
inline void set_override_operator_name(const char* value);
inline void set_override_operator_name(const char* value, size_t size);
inline ::std::string* mutable_override_operator_name();
inline ::std::string* release_override_operator_name();
inline void set_allocated_override_operator_name(::std::string* override_operator_name);
// @@protoc_insertion_point(class_scope:CSVCMsg_HltvFixupOperatorStatus)
private:
inline void set_has_mode();
inline void clear_has_mode();
inline void set_has_override_operator_name();
inline void clear_has_override_operator_name();
::google::protobuf::UnknownFieldSet _unknown_fields_;
::std::string* override_operator_name_;
::google::protobuf::uint32 mode_;
mutable int _cached_size_;
::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
friend void protobuf_AddDesc_netmessages_2eproto();
friend void protobuf_AssignDesc_netmessages_2eproto();
friend void protobuf_ShutdownFile_netmessages_2eproto();
void InitAsDefaultInstance();
static CSVCMsg_HltvFixupOperatorStatus* default_instance_;
};
// -------------------------------------------------------------------
class CCLCMsg_ItemVerificationSerial : public ::google::protobuf::Message {
public:
CCLCMsg_ItemVerificationSerial();
virtual ~CCLCMsg_ItemVerificationSerial();
CCLCMsg_ItemVerificationSerial(const CCLCMsg_ItemVerificationSerial& from);
inline CCLCMsg_ItemVerificationSerial& operator=(const CCLCMsg_ItemVerificationSerial& from) {
CopyFrom(from);
return *this;
}
inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
return _unknown_fields_;
}
inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
return &_unknown_fields_;
}
static const ::google::protobuf::Descriptor* descriptor();
static const CCLCMsg_ItemVerificationSerial& default_instance();
void Swap(CCLCMsg_ItemVerificationSerial* other);
// implements Message ----------------------------------------------
CCLCMsg_ItemVerificationSerial* New() const;
void CopyFrom(const ::google::protobuf::Message& from);
void MergeFrom(const ::google::protobuf::Message& from);
void CopyFrom(const CCLCMsg_ItemVerificationSerial& from);
void MergeFrom(const CCLCMsg_ItemVerificationSerial& from);
void Clear();
bool IsInitialized() const;
int ByteSize() const;
bool MergePartialFromCodedStream(
::google::protobuf::io::CodedInputStream* input);
void SerializeWithCachedSizes(
::google::protobuf::io::CodedOutputStream* output) const;
::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
int GetCachedSize() const { return _cached_size_; }
private:
void SharedCtor();
void SharedDtor();
void SetCachedSize(int size) const;
public:
::google::protobuf::Metadata GetMetadata() const;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
// optional bytes data = 1;
inline bool has_data() const;
inline void clear_data();
static const int kDataFieldNumber = 1;
inline const ::std::string& data() const;
inline void set_data(const ::std::string& value);
inline void set_data(const char* value);
inline void set_data(const void* value, size_t size);
inline ::std::string* mutable_data();
inline ::std::string* release_data();
inline void set_allocated_data(::std::string* data);
// @@protoc_insertion_point(class_scope:CCLCMsg_ItemVerificationSerial)
private:
inline void set_has_data();
inline void clear_has_data();
::google::protobuf::UnknownFieldSet _unknown_fields_;
::std::string* data_;
mutable int _cached_size_;
::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
friend void protobuf_AddDesc_netmessages_2eproto();
friend void protobuf_AssignDesc_netmessages_2eproto();
friend void protobuf_ShutdownFile_netmessages_2eproto();
void InitAsDefaultInstance();
static CCLCMsg_ItemVerificationSerial* default_instance_;
};
// ===================================================================
@ -14839,6 +15193,452 @@ inline void CSVCMsg_Broadcast_Command::set_allocated_cmd(::std::string* cmd) {
}
}
// -------------------------------------------------------------------
// CCLCMsg_HltvFixupOperatorTick
// optional int32 tick = 1;
inline bool CCLCMsg_HltvFixupOperatorTick::has_tick() const {
return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_tick() {
_has_bits_[0] |= 0x00000001u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_tick() {
_has_bits_[0] &= ~0x00000001u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_tick() {
tick_ = 0;
clear_has_tick();
}
inline ::google::protobuf::int32 CCLCMsg_HltvFixupOperatorTick::tick() const {
return tick_;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_tick(::google::protobuf::int32 value) {
set_has_tick();
tick_ = value;
}
// optional bytes props_data = 2;
inline bool CCLCMsg_HltvFixupOperatorTick::has_props_data() const {
return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_props_data() {
_has_bits_[0] |= 0x00000002u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_props_data() {
_has_bits_[0] &= ~0x00000002u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_props_data() {
if (props_data_ != &::google::protobuf::internal::kEmptyString) {
props_data_->clear();
}
clear_has_props_data();
}
inline const ::std::string& CCLCMsg_HltvFixupOperatorTick::props_data() const {
return *props_data_;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_props_data(const ::std::string& value) {
set_has_props_data();
if (props_data_ == &::google::protobuf::internal::kEmptyString) {
props_data_ = new ::std::string;
}
props_data_->assign(value);
}
inline void CCLCMsg_HltvFixupOperatorTick::set_props_data(const char* value) {
set_has_props_data();
if (props_data_ == &::google::protobuf::internal::kEmptyString) {
props_data_ = new ::std::string;
}
props_data_->assign(value);
}
inline void CCLCMsg_HltvFixupOperatorTick::set_props_data(const void* value, size_t size) {
set_has_props_data();
if (props_data_ == &::google::protobuf::internal::kEmptyString) {
props_data_ = new ::std::string;
}
props_data_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* CCLCMsg_HltvFixupOperatorTick::mutable_props_data() {
set_has_props_data();
if (props_data_ == &::google::protobuf::internal::kEmptyString) {
props_data_ = new ::std::string;
}
return props_data_;
}
inline ::std::string* CCLCMsg_HltvFixupOperatorTick::release_props_data() {
clear_has_props_data();
if (props_data_ == &::google::protobuf::internal::kEmptyString) {
return NULL;
} else {
::std::string* temp = props_data_;
props_data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
return temp;
}
}
inline void CCLCMsg_HltvFixupOperatorTick::set_allocated_props_data(::std::string* props_data) {
if (props_data_ != &::google::protobuf::internal::kEmptyString) {
delete props_data_;
}
if (props_data) {
set_has_props_data();
props_data_ = props_data;
} else {
clear_has_props_data();
props_data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
}
}
// optional .CMsgVector origin = 3;
inline bool CCLCMsg_HltvFixupOperatorTick::has_origin() const {
return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_origin() {
_has_bits_[0] |= 0x00000004u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_origin() {
_has_bits_[0] &= ~0x00000004u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_origin() {
if (origin_ != NULL) origin_->::CMsgVector::Clear();
clear_has_origin();
}
inline const ::CMsgVector& CCLCMsg_HltvFixupOperatorTick::origin() const {
return origin_ != NULL ? *origin_ : *default_instance_->origin_;
}
inline ::CMsgVector* CCLCMsg_HltvFixupOperatorTick::mutable_origin() {
set_has_origin();
if (origin_ == NULL) origin_ = new ::CMsgVector;
return origin_;
}
inline ::CMsgVector* CCLCMsg_HltvFixupOperatorTick::release_origin() {
clear_has_origin();
::CMsgVector* temp = origin_;
origin_ = NULL;
return temp;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_allocated_origin(::CMsgVector* origin) {
delete origin_;
origin_ = origin;
if (origin) {
set_has_origin();
} else {
clear_has_origin();
}
}
// optional .CMsgQAngle eye_angles = 4;
inline bool CCLCMsg_HltvFixupOperatorTick::has_eye_angles() const {
return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_eye_angles() {
_has_bits_[0] |= 0x00000008u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_eye_angles() {
_has_bits_[0] &= ~0x00000008u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_eye_angles() {
if (eye_angles_ != NULL) eye_angles_->::CMsgQAngle::Clear();
clear_has_eye_angles();
}
inline const ::CMsgQAngle& CCLCMsg_HltvFixupOperatorTick::eye_angles() const {
return eye_angles_ != NULL ? *eye_angles_ : *default_instance_->eye_angles_;
}
inline ::CMsgQAngle* CCLCMsg_HltvFixupOperatorTick::mutable_eye_angles() {
set_has_eye_angles();
if (eye_angles_ == NULL) eye_angles_ = new ::CMsgQAngle;
return eye_angles_;
}
inline ::CMsgQAngle* CCLCMsg_HltvFixupOperatorTick::release_eye_angles() {
clear_has_eye_angles();
::CMsgQAngle* temp = eye_angles_;
eye_angles_ = NULL;
return temp;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_allocated_eye_angles(::CMsgQAngle* eye_angles) {
delete eye_angles_;
eye_angles_ = eye_angles;
if (eye_angles) {
set_has_eye_angles();
} else {
clear_has_eye_angles();
}
}
// optional int32 observer_mode = 5;
inline bool CCLCMsg_HltvFixupOperatorTick::has_observer_mode() const {
return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_observer_mode() {
_has_bits_[0] |= 0x00000010u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_observer_mode() {
_has_bits_[0] &= ~0x00000010u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_observer_mode() {
observer_mode_ = 0;
clear_has_observer_mode();
}
inline ::google::protobuf::int32 CCLCMsg_HltvFixupOperatorTick::observer_mode() const {
return observer_mode_;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_observer_mode(::google::protobuf::int32 value) {
set_has_observer_mode();
observer_mode_ = value;
}
// optional bool cameraman_scoreboard = 6;
inline bool CCLCMsg_HltvFixupOperatorTick::has_cameraman_scoreboard() const {
return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_cameraman_scoreboard() {
_has_bits_[0] |= 0x00000020u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_cameraman_scoreboard() {
_has_bits_[0] &= ~0x00000020u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_cameraman_scoreboard() {
cameraman_scoreboard_ = false;
clear_has_cameraman_scoreboard();
}
inline bool CCLCMsg_HltvFixupOperatorTick::cameraman_scoreboard() const {
return cameraman_scoreboard_;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_cameraman_scoreboard(bool value) {
set_has_cameraman_scoreboard();
cameraman_scoreboard_ = value;
}
// optional int32 observer_target = 7;
inline bool CCLCMsg_HltvFixupOperatorTick::has_observer_target() const {
return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_observer_target() {
_has_bits_[0] |= 0x00000040u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_observer_target() {
_has_bits_[0] &= ~0x00000040u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_observer_target() {
observer_target_ = 0;
clear_has_observer_target();
}
inline ::google::protobuf::int32 CCLCMsg_HltvFixupOperatorTick::observer_target() const {
return observer_target_;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_observer_target(::google::protobuf::int32 value) {
set_has_observer_target();
observer_target_ = value;
}
// optional .CMsgVector view_offset = 8;
inline bool CCLCMsg_HltvFixupOperatorTick::has_view_offset() const {
return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_has_view_offset() {
_has_bits_[0] |= 0x00000080u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_has_view_offset() {
_has_bits_[0] &= ~0x00000080u;
}
inline void CCLCMsg_HltvFixupOperatorTick::clear_view_offset() {
if (view_offset_ != NULL) view_offset_->::CMsgVector::Clear();
clear_has_view_offset();
}
inline const ::CMsgVector& CCLCMsg_HltvFixupOperatorTick::view_offset() const {
return view_offset_ != NULL ? *view_offset_ : *default_instance_->view_offset_;
}
inline ::CMsgVector* CCLCMsg_HltvFixupOperatorTick::mutable_view_offset() {
set_has_view_offset();
if (view_offset_ == NULL) view_offset_ = new ::CMsgVector;
return view_offset_;
}
inline ::CMsgVector* CCLCMsg_HltvFixupOperatorTick::release_view_offset() {
clear_has_view_offset();
::CMsgVector* temp = view_offset_;
view_offset_ = NULL;
return temp;
}
inline void CCLCMsg_HltvFixupOperatorTick::set_allocated_view_offset(::CMsgVector* view_offset) {
delete view_offset_;
view_offset_ = view_offset;
if (view_offset) {
set_has_view_offset();
} else {
clear_has_view_offset();
}
}
// -------------------------------------------------------------------
// CSVCMsg_HltvFixupOperatorStatus
// optional uint32 mode = 1;
inline bool CSVCMsg_HltvFixupOperatorStatus::has_mode() const {
return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_has_mode() {
_has_bits_[0] |= 0x00000001u;
}
inline void CSVCMsg_HltvFixupOperatorStatus::clear_has_mode() {
_has_bits_[0] &= ~0x00000001u;
}
inline void CSVCMsg_HltvFixupOperatorStatus::clear_mode() {
mode_ = 0u;
clear_has_mode();
}
inline ::google::protobuf::uint32 CSVCMsg_HltvFixupOperatorStatus::mode() const {
return mode_;
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_mode(::google::protobuf::uint32 value) {
set_has_mode();
mode_ = value;
}
// optional string override_operator_name = 2;
inline bool CSVCMsg_HltvFixupOperatorStatus::has_override_operator_name() const {
return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_has_override_operator_name() {
_has_bits_[0] |= 0x00000002u;
}
inline void CSVCMsg_HltvFixupOperatorStatus::clear_has_override_operator_name() {
_has_bits_[0] &= ~0x00000002u;
}
inline void CSVCMsg_HltvFixupOperatorStatus::clear_override_operator_name() {
if (override_operator_name_ != &::google::protobuf::internal::kEmptyString) {
override_operator_name_->clear();
}
clear_has_override_operator_name();
}
inline const ::std::string& CSVCMsg_HltvFixupOperatorStatus::override_operator_name() const {
return *override_operator_name_;
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_override_operator_name(const ::std::string& value) {
set_has_override_operator_name();
if (override_operator_name_ == &::google::protobuf::internal::kEmptyString) {
override_operator_name_ = new ::std::string;
}
override_operator_name_->assign(value);
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_override_operator_name(const char* value) {
set_has_override_operator_name();
if (override_operator_name_ == &::google::protobuf::internal::kEmptyString) {
override_operator_name_ = new ::std::string;
}
override_operator_name_->assign(value);
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_override_operator_name(const char* value, size_t size) {
set_has_override_operator_name();
if (override_operator_name_ == &::google::protobuf::internal::kEmptyString) {
override_operator_name_ = new ::std::string;
}
override_operator_name_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* CSVCMsg_HltvFixupOperatorStatus::mutable_override_operator_name() {
set_has_override_operator_name();
if (override_operator_name_ == &::google::protobuf::internal::kEmptyString) {
override_operator_name_ = new ::std::string;
}
return override_operator_name_;
}
inline ::std::string* CSVCMsg_HltvFixupOperatorStatus::release_override_operator_name() {
clear_has_override_operator_name();
if (override_operator_name_ == &::google::protobuf::internal::kEmptyString) {
return NULL;
} else {
::std::string* temp = override_operator_name_;
override_operator_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
return temp;
}
}
inline void CSVCMsg_HltvFixupOperatorStatus::set_allocated_override_operator_name(::std::string* override_operator_name) {
if (override_operator_name_ != &::google::protobuf::internal::kEmptyString) {
delete override_operator_name_;
}
if (override_operator_name) {
set_has_override_operator_name();
override_operator_name_ = override_operator_name;
} else {
clear_has_override_operator_name();
override_operator_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
}
}
// -------------------------------------------------------------------
// CCLCMsg_ItemVerificationSerial
// optional bytes data = 1;
inline bool CCLCMsg_ItemVerificationSerial::has_data() const {
return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void CCLCMsg_ItemVerificationSerial::set_has_data() {
_has_bits_[0] |= 0x00000001u;
}
inline void CCLCMsg_ItemVerificationSerial::clear_has_data() {
_has_bits_[0] &= ~0x00000001u;
}
inline void CCLCMsg_ItemVerificationSerial::clear_data() {
if (data_ != &::google::protobuf::internal::kEmptyString) {
data_->clear();
}
clear_has_data();
}
inline const ::std::string& CCLCMsg_ItemVerificationSerial::data() const {
return *data_;
}
inline void CCLCMsg_ItemVerificationSerial::set_data(const ::std::string& value) {
set_has_data();
if (data_ == &::google::protobuf::internal::kEmptyString) {
data_ = new ::std::string;
}
data_->assign(value);
}
inline void CCLCMsg_ItemVerificationSerial::set_data(const char* value) {
set_has_data();
if (data_ == &::google::protobuf::internal::kEmptyString) {
data_ = new ::std::string;
}
data_->assign(value);
}
inline void CCLCMsg_ItemVerificationSerial::set_data(const void* value, size_t size) {
set_has_data();
if (data_ == &::google::protobuf::internal::kEmptyString) {
data_ = new ::std::string;
}
data_->assign(reinterpret_cast<const char*>(value), size);
}
inline ::std::string* CCLCMsg_ItemVerificationSerial::mutable_data() {
set_has_data();
if (data_ == &::google::protobuf::internal::kEmptyString) {
data_ = new ::std::string;
}
return data_;
}
inline ::std::string* CCLCMsg_ItemVerificationSerial::release_data() {
clear_has_data();
if (data_ == &::google::protobuf::internal::kEmptyString) {
return NULL;
} else {
::std::string* temp = data_;
data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
return temp;
}
}
inline void CCLCMsg_ItemVerificationSerial::set_allocated_data(::std::string* data) {
if (data_ != &::google::protobuf::internal::kEmptyString) {
delete data_;
}
if (data) {
set_has_data();
data_ = data;
} else {
clear_has_data();
data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
}
}
// @@protoc_insertion_point(namespace_scope)
@ -14863,13 +15663,13 @@ inline const EnumDescriptor* GetEnumDescriptor< ::ESplitScreenMessageType>() {
return ::ESplitScreenMessageType_descriptor();
}
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::ReplayEventType_t>() {
return ::ReplayEventType_t_descriptor();
}
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::SVC_Messages>() {
return ::SVC_Messages_descriptor();
}
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::ReplayEventType_t>() {
return ::ReplayEventType_t_descriptor();
}
} // namespace google
} // namespace protobuf

View File

@ -1,184 +1,162 @@
//====== Copyright (c) 2013, Valve Corporation, All rights reserved. ========//
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
// Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
// THE POSSIBILITY OF SUCH DAMAGE.
//===========================================================================//
//
// Purpose: The file defines our Google Protocol Buffers which are used in over
// the wire messages for the Source engine.
//
//=============================================================================
// Note about encoding:
// http://code.google.com/apis/protocolbuffers/docs/encoding.html
//
// TL;DR: Use sint32/sint64 for values that may be negative.
//
// There is an important difference between the signed int types (sint32 and sint64)
// and the "standard" int types (int32 and int64) when it comes to encoding negative
// numbers. If you use int32 or int64 as the type for a negative number, the
// resulting varint is always ten bytes long it is, effectively, treated like a
// very large unsigned integer. If you use one of the signed types, the resulting
// varint uses ZigZag encoding, which is much more efficient.
// Commenting this out allows it to be compiled for SPEED or LITE_RUNTIME.
// option optimize_for = SPEED;
// We don't use the service generation functionality
option cc_generic_services = false;
//
// STYLE NOTES:
//
// Use CamelCase CMsgMyMessageName style names for messages.
//
// Use lowercase _ delimited names like my_steam_id for field names, this is non-standard for Steam,
// but plays nice with the Google formatted code generation.
//
// Try not to use required fields ever. Only do so if you are really really sure you'll never want them removed.
// Optional should be preffered as it will make versioning easier and cleaner in the future if someone refactors
// your message and wants to remove or rename fields.
//
// Use fixed64 for JobId_t, GID_t, or SteamID. This is appropriate for any field that is normally
// going to be larger than 2^56. Otherwise use int64 for 64 bit values that are frequently smaller
// than 2^56 as it will safe space on the wire in those cases.
//
// Similar to fixed64, use fixed32 for RTime32 or other 32 bit values that are frequently larger than
// 2^28. It will safe space in those cases, otherwise use int32 which will safe space for smaller values.
// An exception to this rule for RTime32 is if the value will frequently be zero rather than set to an actual
// time.
//
import "google/protobuf/descriptor.proto";
//=============================================================================
// Common Types
//=============================================================================
option cc_generic_services = false;
message CMsgVector
{
enum NET_Messages {
net_NOP = 0;
net_Disconnect = 1;
net_File = 2;
net_SplitScreenUser = 3;
net_Tick = 4;
net_StringCmd = 5;
net_SetConVar = 6;
net_SignonState = 7;
net_PlayerAvatarData = 100;
}
enum CLC_Messages {
clc_ClientInfo = 8;
clc_Move = 9;
clc_VoiceData = 10;
clc_BaselineAck = 11;
clc_ListenEvents = 12;
clc_RespondCvarValue = 13;
clc_FileCRCCheck = 14;
clc_LoadingProgress = 15;
clc_SplitPlayerConnect = 16;
clc_ClientMessage = 17;
clc_CmdKeyValues = 18;
clc_HltvReplay = 20;
clc_HltvFixupOperatorTick = 21;
clc_HltvFixupOperatorReceiver = 22;
clc_ItemVerificationSerial = 40;
}
enum VoiceDataFormat_t {
VOICEDATA_FORMAT_STEAM = 0;
VOICEDATA_FORMAT_ENGINE = 1;
}
enum ESplitScreenMessageType {
option allow_alias = true;
MSG_SPLITSCREEN_ADDUSER = 0;
MSG_SPLITSCREEN_REMOVEUSER = 1;
MSG_SPLITSCREEN_TYPE_BITS = 1;
}
enum SVC_Messages {
svc_ServerInfo = 8;
svc_SendTable = 9;
svc_ClassInfo = 10;
svc_SetPause = 11;
svc_CreateStringTable = 12;
svc_UpdateStringTable = 13;
svc_VoiceInit = 14;
svc_VoiceData = 15;
svc_Print = 16;
svc_Sounds = 17;
svc_SetView = 18;
svc_FixAngle = 19;
svc_CrosshairAngle = 20;
svc_BSPDecal = 21;
svc_SplitScreen = 22;
svc_UserMessage = 23;
svc_EntityMessage = 24;
svc_GameEvent = 25;
svc_PacketEntities = 26;
svc_TempEntities = 27;
svc_Prefetch = 28;
svc_Menu = 29;
svc_GameEventList = 30;
svc_GetCvarValue = 31;
svc_PaintmapData = 33;
svc_CmdKeyValues = 34;
svc_EncryptedData = 35;
svc_HltvReplay = 36;
svc_Broadcast_Command = 38;
svc_HltvFixupOperatorStatus = 39;
}
enum ReplayEventType_t {
REPLAY_EVENT_CANCEL = 0;
REPLAY_EVENT_DEATH = 1;
REPLAY_EVENT_GENERIC = 2;
REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3;
}
message CMsgVector {
optional float x = 1;
optional float y = 2;
optional float z = 3;
}
message CMsgVector2D
{
message CMsgVector2D {
optional float x = 1;
optional float y = 2;
}
message CMsgQAngle
{
message CMsgQAngle {
optional float x = 1;
optional float y = 2;
optional float z = 3;
}
message CMsgRGBA
{
message CMsgRGBA {
optional int32 r = 1;
optional int32 g = 2;
optional int32 b = 3;
optional int32 a = 4;
}
//=============================================================================
// Bidirectional NET Messages
//=============================================================================
enum NET_Messages
{
net_NOP = 0;
net_Disconnect = 1; // disconnect, last message in connection
net_File = 2; // file transmission message request/deny
net_SplitScreenUser = 3; // Changes split screen user, client and server must both provide handler
net_Tick = 4; // s->c world tick, c->s ack world tick
net_StringCmd = 5; // a string command
net_SetConVar = 6; // sends one/multiple convar/userinfo settings
net_SignonState = 7; // signals or acks current signon state
net_PlayerAvatarData = 100;
}
message CNETMsg_Tick
{
optional uint32 tick = 1; // current tick count
message CNETMsg_Tick {
optional uint32 tick = 1;
optional uint32 host_computationtime = 4;
optional uint32 host_computationtime_std_deviation = 5;
optional uint32 host_framestarttime_std_deviation = 6;
optional uint32 hltv_replay_flags = 7;
}
message CNETMsg_StringCmd
{
message CNETMsg_StringCmd {
optional string command = 1;
}
message CNETMsg_SignonState
{
optional uint32 signon_state = 1; // See SIGNONSTATE_ defines
optional uint32 spawn_count = 2; // server spawn count (session number)
optional uint32 num_server_players = 3; // Number of players the server discloses as connected to the server
repeated string players_networkids = 4; // player network ids
optional string map_name = 5; // Name of the current map
message CNETMsg_SignonState {
optional uint32 signon_state = 1;
optional uint32 spawn_count = 2;
optional uint32 num_server_players = 3;
repeated string players_networkids = 4;
optional string map_name = 5;
}
message CMsg_CVars
{
message CVar
{
message CMsg_CVars {
message CVar {
optional string name = 1;
optional string value = 2;
optional uint32 dictionary_name = 3;
}
repeated CVar cvars = 1;
repeated .CMsg_CVars.CVar cvars = 1;
}
message CNETMsg_SetConVar
{
optional CMsg_CVars convars = 1;
message CNETMsg_SetConVar {
optional .CMsg_CVars convars = 1;
}
message CNETMsg_NOP
{
message CNETMsg_NOP {
}
message CNETMsg_Disconnect
{
message CNETMsg_Disconnect {
optional string text = 1;
}
message CNETMsg_File
{
message CNETMsg_File {
optional int32 transfer_id = 1;
optional string file_name = 2;
optional bool is_replay_demo_file = 3;
optional bool deny = 4;
}
message CNETMsg_SplitScreenUser
{
message CNETMsg_SplitScreenUser {
optional int32 slot = 1;
}
@ -187,28 +165,7 @@ message CNETMsg_PlayerAvatarData {
optional bytes rgb = 2;
}
//=============================================================================
// Client messages
//=============================================================================
enum CLC_Messages
{
clc_ClientInfo = 8; // client info (table CRC etc)
clc_Move = 9; // [CUserCmd]
clc_VoiceData = 10; // Voicestream data from a client
clc_BaselineAck = 11; // client acknowledges a new baseline seqnr
clc_ListenEvents = 12; // client acknowledges a new baseline seqnr
clc_RespondCvarValue = 13; // client is responding to a svc_GetCvarValue message.
clc_FileCRCCheck = 14; // client is sending a file's CRC to the server to be verified.
clc_LoadingProgress = 15; // client loading progress
clc_SplitPlayerConnect = 16;
clc_ClientMessage = 17;
clc_CmdKeyValues = 18;
clc_HltvReplay = 20;
}
message CCLCMsg_ClientInfo
{
message CCLCMsg_ClientInfo {
optional fixed32 send_table_crc = 1;
optional uint32 server_count = 2;
optional bool is_hltv = 3;
@ -218,61 +175,42 @@ message CCLCMsg_ClientInfo
repeated fixed32 custom_files = 7;
}
message CCLCMsg_Move
{
optional uint32 num_backup_commands = 1; // new commands = user_cmds_size() - num_backup_commands
message CCLCMsg_Move {
optional uint32 num_backup_commands = 1;
optional uint32 num_new_commands = 2;
optional bytes data = 3;
}
message CCLCMsg_VoiceData
{
message CCLCMsg_VoiceData {
optional bytes data = 1;
optional fixed64 xuid = 2;
optional VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_ENGINE];
optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_ENGINE];
optional int32 sequence_bytes = 4;
optional uint32 section_number = 5;
optional uint32 uncompressed_sample_offset = 6;
}
message CCLCMsg_BaselineAck
{
message CCLCMsg_BaselineAck {
optional int32 baseline_tick = 1;
optional int32 baseline_nr = 2;
}
message CCLCMsg_ListenEvents
{
message CCLCMsg_ListenEvents {
repeated fixed32 event_mask = 1;
}
message CCLCMsg_RespondCvarValue
{
optional int32 cookie = 1; // QueryCvarCookie_t
optional int32 status_code = 2; // EQueryCvarValueStatus
message CCLCMsg_RespondCvarValue {
optional int32 cookie = 1;
optional int32 status_code = 2;
optional string name = 3;
optional string value = 4;
}
message CCLCMsg_FileCRCCheck
{
// See CCLCMsg_FileCRCCheck_t in netmessages.h while reading this.
// Optimisation:
// Do not set or get path or filename directly, use instead
// CCLCMsg_FileCRCCheck_t::GetPath()
// CCLCMsg_FileCRCCheck_t::GetPath()...etc..
// If the path and/or filename below is one of certain commonly occuring ones
// then an index is stored instead of a string. So if code_path != -1 then
// path == "".
optional int32 code_path = 1; // read comment above
optional string path = 2; // read comment above
optional int32 code_filename = 3; // read comment above
optional string filename = 4; // read comment above
message CCLCMsg_FileCRCCheck {
optional int32 code_path = 1;
optional string path = 2;
optional int32 code_filename = 3;
optional string filename = 4;
optional int32 file_fraction = 5;
optional bytes md5 = 6;
optional uint32 crc = 7;
@ -282,156 +220,86 @@ message CCLCMsg_FileCRCCheck
optional int32 pack_file_number = 11;
}
message CCLCMsg_LoadingProgress
{
message CCLCMsg_LoadingProgress {
optional int32 progress = 1;
}
message CCLCMsg_SplitPlayerConnect
{
optional CMsg_CVars convars = 1;
message CCLCMsg_SplitPlayerConnect {
optional .CMsg_CVars convars = 1;
}
message CCLCMsg_CmdKeyValues
{
message CCLCMsg_CmdKeyValues {
optional bytes keyvalues = 1;
}
//=============================================================================
// Server messages
//=============================================================================
enum VoiceDataFormat_t {
VOICEDATA_FORMAT_STEAM = 0;
VOICEDATA_FORMAT_ENGINE = 1;
}
enum ESplitScreenMessageType
{
option allow_alias = true;
MSG_SPLITSCREEN_ADDUSER = 0;
MSG_SPLITSCREEN_REMOVEUSER = 1;
MSG_SPLITSCREEN_TYPE_BITS = 1;
};
enum ReplayEventType_t {
REPLAY_EVENT_CANCEL = 0;
REPLAY_EVENT_DEATH = 1;
REPLAY_EVENT_GENERIC = 2;
REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3;
}
enum SVC_Messages
{
svc_ServerInfo = 8; // first message from server about game; map etc
svc_SendTable = 9; // sends a sendtable description for a game class
svc_ClassInfo = 10; // Info about classes (first byte is a CLASSINFO_ define).
svc_SetPause = 11; // tells client if server paused or unpaused
svc_CreateStringTable = 12; // inits shared string tables
svc_UpdateStringTable = 13; // updates a string table
svc_VoiceInit = 14; // inits used voice codecs & quality
svc_VoiceData = 15; // Voicestream data from the server
svc_Print = 16; // print text to console
svc_Sounds = 17; // starts playing sound
svc_SetView = 18; // sets entity as point of view
svc_FixAngle = 19; // sets/corrects players viewangle
svc_CrosshairAngle = 20; // adjusts crosshair in auto aim mode to lock on traget
svc_BSPDecal = 21; // add a static decal to the world BSP
svc_SplitScreen = 22; // split screen style message
svc_UserMessage = 23; // a game specific message
svc_EntityMessage = 24; // a message for an entity
svc_GameEvent = 25; // global game event fired
svc_PacketEntities = 26; // non-delta compressed entities
svc_TempEntities = 27; // non-reliable event object
svc_Prefetch = 28; // only sound indices for now
svc_Menu = 29; // display a menu from a plugin
svc_GameEventList = 30; // list of known games events and fields
svc_GetCvarValue = 31; // Server wants to know the value of a cvar on the client
svc_PaintmapData = 33;
svc_CmdKeyValues = 34; // Server submits KeyValues command for the client
svc_EncryptedData = 35;
svc_HltvReplay = 36;
svc_Broadcast_Command = 38;
}
message CSVCMsg_ServerInfo
{
optional int32 protocol = 1; // protocol version
optional int32 server_count = 2; // number of changelevels since server start
optional bool is_dedicated = 3; // dedicated server ?
message CSVCMsg_ServerInfo {
optional int32 protocol = 1;
optional int32 server_count = 2;
optional bool is_dedicated = 3;
optional bool is_official_valve_server = 4;
optional bool is_hltv = 5; // HLTV server ?
optional bool is_replay = 6; // Replay server ?
optional bool is_redirecting_to_proxy_relay = 21; // // Will be redirecting to proxy relay
optional int32 c_os = 7; // L = linux, W = Win32
optional fixed32 map_crc = 8; // server map CRC
optional fixed32 client_crc = 9; // client.dll CRC server is using
optional fixed32 string_table_crc = 10; // string table CRC server is using
optional int32 max_clients = 11; // max number of clients on server
optional int32 max_classes = 12; // max number of server classes
optional int32 player_slot = 13; // our client slot number
optional float tick_interval = 14; // server tick interval
optional string game_dir = 15; // game directory eg "tf2"
optional string map_name = 16; // name of current map
optional string map_group_name = 17; // name of current map
optional string sky_name = 18; // name of current skybox
optional string host_name = 19; // server name
optional uint32 public_ip = 20;
optional uint64 ugc_map_id = 22;
optional bool is_hltv = 5;
optional bool is_replay = 6;
optional bool is_redirecting_to_proxy_relay = 21;
optional int32 c_os = 7;
optional fixed32 map_crc = 8;
optional fixed32 client_crc = 9;
optional fixed32 string_table_crc = 10;
optional int32 max_clients = 11;
optional int32 max_classes = 12;
optional int32 player_slot = 13;
optional float tick_interval = 14;
optional string game_dir = 15;
optional string map_name = 16;
optional string map_group_name = 17;
optional string sky_name = 18;
optional string host_name = 19;
optional uint32 public_ip = 20;
optional uint64 ugc_map_id = 22;
}
message CSVCMsg_ClassInfo
{
message class_t
{
message CSVCMsg_ClassInfo {
message class_t {
optional int32 class_id = 1;
optional string data_table_name = 2;
optional string class_name = 3;
}
optional bool create_on_client = 1;
repeated class_t classes = 2;
optional bool create_on_client = 1;
repeated .CSVCMsg_ClassInfo.class_t classes = 2;
}
message CSVCMsg_SendTable
{
message sendprop_t
{
optional int32 type = 1; // SendPropType
message CSVCMsg_SendTable {
message sendprop_t {
optional int32 type = 1;
optional string var_name = 2;
optional int32 flags = 3;
optional int32 priority = 4;
optional string dt_name = 5; // if pProp->m_Type == DPT_DataTable || IsExcludeProp
optional int32 num_elements = 6; // else if pProp->m_Type == DPT_Array
optional float low_value = 7; // else ...
optional float high_value = 8; // ...
optional int32 num_bits = 9; // ...
};
optional string dt_name = 5;
optional int32 num_elements = 6;
optional float low_value = 7;
optional float high_value = 8;
optional int32 num_bits = 9;
}
optional bool is_end = 1;
optional string net_table_name = 2;
optional bool needs_decoder = 3;
repeated sendprop_t props = 4;
repeated .CSVCMsg_SendTable.sendprop_t props = 4;
}
message CSVCMsg_Print
{
message CSVCMsg_Print {
optional string text = 1;
}
message CSVCMsg_SetPause
{
message CSVCMsg_SetPause {
optional bool paused = 1;
}
message CSVCMsg_SetView
{
message CSVCMsg_SetView {
optional int32 entity_index = 1;
}
message CSVCMsg_CreateStringTable
{
message CSVCMsg_CreateStringTable {
optional string name = 1;
optional int32 max_entries = 2;
optional int32 num_entries = 3;
@ -442,188 +310,164 @@ message CSVCMsg_CreateStringTable
optional bytes string_data = 8;
}
message CSVCMsg_UpdateStringTable
{
message CSVCMsg_UpdateStringTable {
optional int32 table_id = 1;
optional int32 num_changed_entries = 2;
optional bytes string_data = 3;
}
message CSVCMsg_VoiceInit
{
message CSVCMsg_VoiceInit {
optional int32 quality = 1;
optional string codec = 2;
optional int32 version = 3 [default = 0];
}
message CSVCMsg_VoiceData
{
message CSVCMsg_VoiceData {
optional int32 client = 1;
optional bool proximity = 2;
optional fixed64 xuid = 3;
optional int32 audible_mask = 4;
optional bytes voice_data = 5;
optional bool caster = 6;
optional VoiceDataFormat_t format = 7 [default = VOICEDATA_FORMAT_ENGINE];
optional .VoiceDataFormat_t format = 7 [default = VOICEDATA_FORMAT_ENGINE];
optional int32 sequence_bytes = 8;
optional uint32 section_number = 9;
optional uint32 uncompressed_sample_offset = 10;
}
message CSVCMsg_FixAngle
{
message CSVCMsg_FixAngle {
optional bool relative = 1;
optional CMsgQAngle angle = 2;
optional .CMsgQAngle angle = 2;
}
message CSVCMsg_CrosshairAngle
{
optional CMsgQAngle angle = 1;
message CSVCMsg_CrosshairAngle {
optional .CMsgQAngle angle = 1;
}
message CSVCMsg_Prefetch
{
message CSVCMsg_Prefetch {
optional int32 sound_index = 1;
}
message CSVCMsg_BSPDecal
{
optional CMsgVector pos = 1;
message CSVCMsg_BSPDecal {
optional .CMsgVector pos = 1;
optional int32 decal_texture_index = 2;
optional int32 entity_index = 3;
optional int32 model_index = 4;
optional bool low_priority = 5;
}
message CSVCMsg_SplitScreen
{
optional ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
message CSVCMsg_SplitScreen {
optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];
optional int32 slot = 2;
optional int32 player_index = 3;
}
message CSVCMsg_GetCvarValue
{
optional int32 cookie = 1; // QueryCvarCookie_t
message CSVCMsg_GetCvarValue {
optional int32 cookie = 1;
optional string cvar_name = 2;
}
message CSVCMsg_Menu
{
optional int32 dialog_type = 1; // DIALOG_TYPE
optional bytes menu_key_values = 2; // KeyValues.WriteAsBinary()
message CSVCMsg_Menu {
optional int32 dialog_type = 1;
optional bytes menu_key_values = 2;
}
message CSVCMsg_UserMessage
{
message CSVCMsg_UserMessage {
optional int32 msg_type = 1;
optional bytes msg_data = 2;
optional int32 passthrough = 3;
}
message CSVCMsg_PaintmapData
{
message CSVCMsg_PaintmapData {
optional bytes paintmap = 1;
}
message CSVCMsg_GameEvent
{
message key_t
{
optional int32 type = 1; // type
optional string val_string = 2; // TYPE_STRING
optional float val_float = 3; // TYPE_FLOAT
optional int32 val_long = 4; // TYPE_LONG
optional int32 val_short = 5; // TYPE_SHORT
optional int32 val_byte = 6; // TYPE_BYTE
optional bool val_bool = 7; // TYPE_BOOL
optional uint64 val_uint64 = 8; // TYPE_UINT64
optional bytes val_wstring = 9; // TYPE_WSTRING
message CSVCMsg_GameEvent {
message key_t {
optional int32 type = 1;
optional string val_string = 2;
optional float val_float = 3;
optional int32 val_long = 4;
optional int32 val_short = 5;
optional int32 val_byte = 6;
optional bool val_bool = 7;
optional uint64 val_uint64 = 8;
optional bytes val_wstring = 9;
}
optional string event_name = 1;
optional int32 eventid = 2;
repeated key_t keys = 3;
repeated .CSVCMsg_GameEvent.key_t keys = 3;
optional int32 passthrough = 4;
}
message CSVCMsg_GameEventList
{
message key_t
{
message CSVCMsg_GameEventList {
message key_t {
optional int32 type = 1;
optional string name = 2;
};
}
message descriptor_t
{
message descriptor_t {
optional int32 eventid = 1;
optional string name = 2;
repeated key_t keys = 3;
};
repeated .CSVCMsg_GameEventList.key_t keys = 3;
}
repeated descriptor_t descriptors = 1;
repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;
}
message CSVCMsg_TempEntities
{
message CSVCMsg_TempEntities {
optional bool reliable = 1;
optional int32 num_entries = 2;
optional bytes entity_data = 3;
}
message CSVCMsg_PacketEntities
{
message CSVCMsg_PacketEntities {
optional int32 max_entries = 1;
optional int32 updated_entries = 2;
optional bool is_delta = 3;
optional bool is_delta = 3;
optional bool update_baseline = 4;
optional int32 baseline = 5;
optional int32 delta_from = 6;
optional bytes entity_data = 7;
}
message CSVCMsg_Sounds
{
message sounddata_t
{
optional sint32 origin_x = 1;
optional sint32 origin_y = 2;
optional sint32 origin_z = 3;
optional uint32 volume = 4;
optional float delay_value = 5;
optional int32 sequence_number = 6;
optional int32 entity_index = 7;
optional int32 channel = 8;
optional int32 pitch = 9;
optional int32 flags = 10;
optional uint32 sound_num = 11;
optional fixed32 sound_num_handle = 12;
optional int32 speaker_entity = 13;
optional int32 random_seed = 14;
optional int32 sound_level = 15; // soundlevel_t
optional bool is_sentence = 16;
optional bool is_ambient = 17;
};
message CSVCMsg_Sounds {
message sounddata_t {
optional sint32 origin_x = 1;
optional sint32 origin_y = 2;
optional sint32 origin_z = 3;
optional uint32 volume = 4;
optional float delay_value = 5;
optional int32 sequence_number = 6;
optional int32 entity_index = 7;
optional int32 channel = 8;
optional int32 pitch = 9;
optional int32 flags = 10;
optional uint32 sound_num = 11;
optional fixed32 sound_num_handle = 12;
optional int32 speaker_entity = 13;
optional int32 random_seed = 14;
optional int32 sound_level = 15;
optional bool is_sentence = 16;
optional bool is_ambient = 17;
}
optional bool reliable_sound = 1;
repeated sounddata_t sounds = 2;
repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;
}
message CSVCMsg_EntityMsg
{
message CSVCMsg_EntityMsg {
optional int32 ent_index = 1;
optional int32 class_id = 2;
optional bytes ent_data = 3;
}
message CSVCMsg_CmdKeyValues
{
message CSVCMsg_CmdKeyValues {
optional bytes keyvalues = 1;
}
message CSVCMsg_EncryptedData
{
message CSVCMsg_EncryptedData {
optional bytes encrypted = 1;
optional int32 key_type = 2;
}
@ -649,3 +493,23 @@ message CCLCMsg_HltvReplay {
message CSVCMsg_Broadcast_Command {
optional string cmd = 1;
}
message CCLCMsg_HltvFixupOperatorTick {
optional int32 tick = 1;
optional bytes props_data = 2;
optional .CMsgVector origin = 3;
optional .CMsgQAngle eye_angles = 4;
optional int32 observer_mode = 5;
optional bool cameraman_scoreboard = 6;
optional int32 observer_target = 7;
optional .CMsgVector view_offset = 8;
}
message CSVCMsg_HltvFixupOperatorStatus {
optional uint32 mode = 1;
optional string override_operator_name = 2;
}
message CCLCMsg_ItemVerificationSerial {
optional bytes data = 1;
}

View File

@ -1,122 +1,135 @@
#include "cstrike15_usermessage_helpers.h"
CCstrike15UsermessageHelpers g_Cstrike15UsermessageHelpers;
#define SETUP_MESSAGE( msgname ) \
m_NameIndexMap.Insert( #msgname, CS_UM_##msgname ); \
m_IndexNameMap[CS_UM_##msgname] = #msgname; \
m_Prototypes[CS_UM_##msgname] = &CCSUsrMsg_##msgname::default_instance();
CCstrike15UsermessageHelpers::CCstrike15UsermessageHelpers()
{
// Clear all so that any unused are inited.
memset( m_Prototypes, 0, sizeof(m_Prototypes) );
memset( m_IndexNameMap, 0, sizeof(m_IndexNameMap) );
SETUP_MESSAGE( VGUIMenu );
SETUP_MESSAGE( Geiger );
SETUP_MESSAGE( Train );
SETUP_MESSAGE( HudText );
SETUP_MESSAGE( SayText );
SETUP_MESSAGE( SayText2 );
SETUP_MESSAGE( TextMsg );
SETUP_MESSAGE( HudMsg );
SETUP_MESSAGE( ResetHud );
SETUP_MESSAGE( GameTitle );
SETUP_MESSAGE( Shake );
SETUP_MESSAGE( Fade );
SETUP_MESSAGE( Rumble );
SETUP_MESSAGE( CloseCaption );
SETUP_MESSAGE( CloseCaptionDirect );
SETUP_MESSAGE( SendAudio );
SETUP_MESSAGE( RawAudio );
SETUP_MESSAGE( VoiceMask );
SETUP_MESSAGE( RequestState );
SETUP_MESSAGE( Damage );
SETUP_MESSAGE( RadioText );
SETUP_MESSAGE( HintText );
SETUP_MESSAGE( KeyHintText );
SETUP_MESSAGE( ProcessSpottedEntityUpdate );
SETUP_MESSAGE( ReloadEffect );
SETUP_MESSAGE( AdjustMoney );
//SETUP_MESSAGE( UpdateTeamMoney );
SETUP_MESSAGE( StopSpectatorMode );
SETUP_MESSAGE( KillCam );
SETUP_MESSAGE( DesiredTimescale );
SETUP_MESSAGE( CurrentTimescale );
SETUP_MESSAGE( AchievementEvent );
SETUP_MESSAGE( MatchEndConditions );
SETUP_MESSAGE( DisconnectToLobby );
SETUP_MESSAGE( PlayerStatsUpdate );
SETUP_MESSAGE( DisplayInventory );
SETUP_MESSAGE( WarmupHasEnded );
SETUP_MESSAGE( ClientInfo );
SETUP_MESSAGE( XRankGet );
SETUP_MESSAGE( XRankUpd );
SETUP_MESSAGE( CallVoteFailed );
SETUP_MESSAGE( VoteStart );
SETUP_MESSAGE( VotePass );
SETUP_MESSAGE( VoteFailed );
SETUP_MESSAGE( VoteSetup );
SETUP_MESSAGE( ServerRankRevealAll );
SETUP_MESSAGE( SendLastKillerDamageToClient );
SETUP_MESSAGE( ServerRankUpdate );
SETUP_MESSAGE( ItemPickup );
SETUP_MESSAGE( ShowMenu );
SETUP_MESSAGE( BarTime );
SETUP_MESSAGE( AmmoDenied );
SETUP_MESSAGE( MarkAchievement );
SETUP_MESSAGE( MatchStatsUpdate );
SETUP_MESSAGE( ItemDrop );
SETUP_MESSAGE( GlowPropTurnOff );
SETUP_MESSAGE( SendPlayerItemDrops );
SETUP_MESSAGE( RoundBackupFilenames );
SETUP_MESSAGE( SendPlayerItemFound );
SETUP_MESSAGE( ReportHit );
SETUP_MESSAGE( XpUpdate );
SETUP_MESSAGE( QuestProgress );
SETUP_MESSAGE( ScoreLeaderboardData );
SETUP_MESSAGE( PlayerDecalDigitalSignature );
SETUP_MESSAGE( WeaponSound );
SETUP_MESSAGE( UpdateScreenHealthBar );
SETUP_MESSAGE( EntityOutlineHighlight );
SETUP_MESSAGE( SSUI );
SETUP_MESSAGE( SurvivalStats );
//SETUP_MESSAGE( DisconnectToLobby2 );
}
const google::protobuf::Message *CCstrike15UsermessageHelpers::GetPrototype( int index ) const
{
if( index >= 0 && index < ECstrike15UserMessages_ARRAYSIZE )
return m_Prototypes[index];
return NULL;
}
const google::protobuf::Message *CCstrike15UsermessageHelpers::GetPrototype( const char *name ) const
{
int index = GetIndex( name );
if( index > -1 )
return m_Prototypes[ index ];
return NULL;
}
int CCstrike15UsermessageHelpers::GetIndex( const char *name ) const
{
unsigned int idx = m_NameIndexMap.Find( name );
if( idx != m_NameIndexMap.InvalidHandle() )
return m_NameIndexMap[idx];
return -1;
}
const char *CCstrike15UsermessageHelpers::GetName( int index ) const
{
if( index >= 0 && index < ECstrike15UserMessages_ARRAYSIZE )
return m_IndexNameMap[index];
return NULL;
}
#include "berimbau_usermessage_helpers.h"
CBerimbauUsermessageHelpers g_BerimbauUsermessageHelpers;
#define SETUP_MESSAGE( msgname ) \
m_NameIndexMap.Insert( #msgname, CS_UM_##msgname ); \
m_IndexNameMap[CS_UM_##msgname] = #msgname; \
m_Prototypes[CS_UM_##msgname] = &CCSUsrMsg_##msgname::default_instance();
CBerimbauUsermessageHelpers::CBerimbauUsermessageHelpers()
{
// Clear all so that any unused are inited.
memset( m_Prototypes, 0, sizeof(m_Prototypes) );
memset( m_IndexNameMap, 0, sizeof(m_IndexNameMap) );
SETUP_MESSAGE( VGUIMenu );
SETUP_MESSAGE( Geiger );
SETUP_MESSAGE( Train );
SETUP_MESSAGE( HudText );
SETUP_MESSAGE( SayText );
SETUP_MESSAGE( SayText2 );
SETUP_MESSAGE( TextMsg );
SETUP_MESSAGE( HudMsg );
SETUP_MESSAGE( ResetHud );
SETUP_MESSAGE( GameTitle );
SETUP_MESSAGE( Shake );
SETUP_MESSAGE( Fade );
SETUP_MESSAGE( Rumble );
SETUP_MESSAGE( CloseCaption );
SETUP_MESSAGE( CloseCaptionDirect );
SETUP_MESSAGE( SendAudio );
SETUP_MESSAGE( RawAudio );
SETUP_MESSAGE( VoiceMask );
SETUP_MESSAGE( RequestState );
SETUP_MESSAGE( Damage );
SETUP_MESSAGE( RadioText );
SETUP_MESSAGE( HintText );
SETUP_MESSAGE( KeyHintText );
SETUP_MESSAGE( ProcessSpottedEntityUpdate );
SETUP_MESSAGE( ReloadEffect );
SETUP_MESSAGE( AdjustMoney );
// SETUP_MESSAGE( UpdateTeamMoney );
SETUP_MESSAGE( StopSpectatorMode );
SETUP_MESSAGE( KillCam );
SETUP_MESSAGE( DesiredTimescale );
SETUP_MESSAGE( CurrentTimescale );
SETUP_MESSAGE( AchievementEvent );
SETUP_MESSAGE( MatchEndConditions );
SETUP_MESSAGE( DisconnectToLobby );
SETUP_MESSAGE( PlayerStatsUpdate );
SETUP_MESSAGE( DisplayInventory );
SETUP_MESSAGE( WarmupHasEnded );
SETUP_MESSAGE( ClientInfo );
SETUP_MESSAGE( XRankGet );
SETUP_MESSAGE( XRankUpd );
SETUP_MESSAGE( CallVoteFailed );
SETUP_MESSAGE( VoteStart );
SETUP_MESSAGE( VotePass );
SETUP_MESSAGE( VoteFailed );
SETUP_MESSAGE( VoteSetup );
SETUP_MESSAGE( ServerRankRevealAll );
SETUP_MESSAGE( SendLastKillerDamageToClient );
SETUP_MESSAGE( ServerRankUpdate );
SETUP_MESSAGE( ItemPickup );
SETUP_MESSAGE( ShowMenu );
SETUP_MESSAGE( BarTime );
SETUP_MESSAGE( AmmoDenied );
SETUP_MESSAGE( MarkAchievement );
SETUP_MESSAGE( MatchStatsUpdate );
SETUP_MESSAGE( ItemDrop );
SETUP_MESSAGE( GlowPropTurnOff );
SETUP_MESSAGE( SendPlayerItemDrops );
SETUP_MESSAGE( RoundBackupFilenames );
SETUP_MESSAGE( SendPlayerItemFound );
SETUP_MESSAGE( ReportHit );
SETUP_MESSAGE( XpUpdate );
SETUP_MESSAGE( QuestProgress );
SETUP_MESSAGE( ScoreLeaderboardData );
SETUP_MESSAGE( PlayerDecalDigitalSignature );
SETUP_MESSAGE( BerimbauHint );
SETUP_MESSAGE( DuelListUpdate );
SETUP_MESSAGE( UpdateComboCounter );
SETUP_MESSAGE( BerimbauVote );
SETUP_MESSAGE( ShowRoundStart );
SETUP_MESSAGE( BerimbauTutorialChapter );
SETUP_MESSAGE( PrivateDuelBegin );
SETUP_MESSAGE( RagdollCleanup );
SETUP_MESSAGE( DedicatedServerSetting );
SETUP_MESSAGE( SnapCameraAngles );
SETUP_MESSAGE( TurnViewAngles );
SETUP_MESSAGE( ReadyStateChanged );
SETUP_MESSAGE( IncrementStat );
SETUP_MESSAGE( GiveAchievement );
SETUP_MESSAGE( PlayerAnimEvent );
SETUP_MESSAGE( BerimbauTutorial );
SETUP_MESSAGE( CombatFx );
SETUP_MESSAGE( DuelRoundEnd );
SETUP_MESSAGE( DuelOver );
}
const google::protobuf::Message *CBerimbauUsermessageHelpers::GetPrototype( int index ) const
{
if( index >= 0 && index < ECstrike15UserMessages_ARRAYSIZE )
return m_Prototypes[index];
return NULL;
}
const google::protobuf::Message *CBerimbauUsermessageHelpers::GetPrototype( const char *name ) const
{
int index = GetIndex( name );
if( index > -1 )
return m_Prototypes[ index ];
return NULL;
}
int CBerimbauUsermessageHelpers::GetIndex( const char *name ) const
{
unsigned int idx = m_NameIndexMap.Find( name );
if( idx != m_NameIndexMap.InvalidHandle() )
return m_NameIndexMap[idx];
return -1;
}
const char *CBerimbauUsermessageHelpers::GetName( int index ) const
{
if( index >= 0 && index < ECstrike15UserMessages_ARRAYSIZE )
return m_IndexNameMap[index];
return NULL;
}

View File

@ -1,27 +1,27 @@
#ifndef CSTRIKE15_UM_HELPERS
#define CSTRIKE15_UM_HELPERS
#include "game/shared/csgo/protobuf/cstrike15_usermessages.pb.h"
#include <tier1/utlhashdict.h>
class CCstrike15UsermessageHelpers
{
public:
CCstrike15UsermessageHelpers();
const google::protobuf::Message *GetPrototype( int index ) const;
const google::protobuf::Message *GetPrototype( const char *name ) const;
int GetIndex( const char *name ) const;
const char *GetName( int index ) const;
private:
CUtlHashDict<int, false, false> m_NameIndexMap;
const char *m_IndexNameMap[ECstrike15UserMessages_ARRAYSIZE];
const google::protobuf::Message *m_Prototypes[ECstrike15UserMessages_ARRAYSIZE];
};
extern CCstrike15UsermessageHelpers g_Cstrike15UsermessageHelpers;
#endif // CSTRIKE15_UM_HELPERS
#ifndef BERIMBAU_UM_HELPERS
#define BERIMBAU_UM_HELPERS
#include "game/shared/berimbau/protobuf/berimbau_usermessages.pb.h"
#include <tier1/utlhashdict.h>
class CBerimbauUsermessageHelpers
{
public:
CBerimbauUsermessageHelpers();
const google::protobuf::Message *GetPrototype( int index ) const;
const google::protobuf::Message *GetPrototype( const char *name ) const;
int GetIndex( const char *name ) const;
const char *GetName( int index ) const;
private:
CUtlHashDict<int, false, false> m_NameIndexMap;
const char *m_IndexNameMap[ECstrike15UserMessages_ARRAYSIZE];
const google::protobuf::Message *m_Prototypes[ECstrike15UserMessages_ARRAYSIZE];
};
extern CBerimbauUsermessageHelpers g_BerimbauUsermessageHelpers;
#endif // BERIMBAU_UM_HELPERS

View File

@ -0,0 +1,577 @@
import "google/protobuf/descriptor.proto";
import "netmessages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ECstrike15UserMessages {
CS_UM_VGUIMenu = 1;
CS_UM_Geiger = 2;
CS_UM_Train = 3;
CS_UM_HudText = 4;
CS_UM_SayText = 5;
CS_UM_SayText2 = 6;
CS_UM_TextMsg = 7;
CS_UM_HudMsg = 8;
CS_UM_ResetHud = 9;
CS_UM_GameTitle = 10;
CS_UM_Shake = 12;
CS_UM_Fade = 13;
CS_UM_Rumble = 14;
CS_UM_CloseCaption = 15;
CS_UM_CloseCaptionDirect = 16;
CS_UM_SendAudio = 17;
CS_UM_RawAudio = 18;
CS_UM_VoiceMask = 19;
CS_UM_RequestState = 20;
CS_UM_Damage = 21;
CS_UM_RadioText = 22;
CS_UM_HintText = 23;
CS_UM_KeyHintText = 24;
CS_UM_ProcessSpottedEntityUpdate = 25;
CS_UM_ReloadEffect = 26;
CS_UM_AdjustMoney = 27;
CS_UM_UpdateTeamMoney = 28;
CS_UM_StopSpectatorMode = 29;
CS_UM_KillCam = 30;
CS_UM_DesiredTimescale = 31;
CS_UM_CurrentTimescale = 32;
CS_UM_AchievementEvent = 33;
CS_UM_MatchEndConditions = 34;
CS_UM_DisconnectToLobby = 35;
CS_UM_PlayerStatsUpdate = 36;
CS_UM_DisplayInventory = 37;
CS_UM_WarmupHasEnded = 38;
CS_UM_ClientInfo = 39;
CS_UM_XRankGet = 40;
CS_UM_XRankUpd = 41;
CS_UM_CallVoteFailed = 45;
CS_UM_VoteStart = 46;
CS_UM_VotePass = 47;
CS_UM_VoteFailed = 48;
CS_UM_VoteSetup = 49;
CS_UM_ServerRankRevealAll = 50;
CS_UM_SendLastKillerDamageToClient = 51;
CS_UM_ServerRankUpdate = 52;
CS_UM_ItemPickup = 53;
CS_UM_ShowMenu = 54;
CS_UM_BarTime = 55;
CS_UM_AmmoDenied = 56;
CS_UM_MarkAchievement = 57;
CS_UM_MatchStatsUpdate = 58;
CS_UM_ItemDrop = 59;
CS_UM_GlowPropTurnOff = 60;
CS_UM_SendPlayerItemDrops = 61;
CS_UM_RoundBackupFilenames = 62;
CS_UM_SendPlayerItemFound = 63;
CS_UM_ReportHit = 64;
CS_UM_XpUpdate = 65;
CS_UM_QuestProgress = 66;
CS_UM_ScoreLeaderboardData = 67;
CS_UM_PlayerDecalDigitalSignature = 68;
CS_UM_BerimbauHint = 69;
CS_UM_DuelListUpdate = 70;
CS_UM_UpdateComboCounter = 71;
CS_UM_BerimbauVote = 72;
CS_UM_ShowRoundStart = 73;
CS_UM_BerimbauTutorialChapter = 74;
CS_UM_PrivateDuelBegin = 75;
CS_UM_RagdollCleanup = 76;
CS_UM_DedicatedServerSetting = 77;
CS_UM_SnapCameraAngles = 78;
CS_UM_TurnViewAngles = 79;
CS_UM_ReadyStateChanged = 80;
CS_UM_IncrementStat = 81;
CS_UM_GiveAchievement = 82;
CS_UM_PlayerAnimEvent = 83;
CS_UM_BerimbauTutorial = 84;
CS_UM_CombatFx = 85;
CS_UM_DuelRoundEnd = 86;
CS_UM_DuelOver = 87;
}
message CCSUsrMsg_VGUIMenu {
message Subkey {
optional string name = 1;
optional string str = 2;
}
optional string name = 1;
optional bool show = 2;
repeated .CCSUsrMsg_VGUIMenu.Subkey subkeys = 3;
}
message CCSUsrMsg_Geiger {
optional int32 range = 1;
}
message CCSUsrMsg_Train {
optional int32 train = 1;
}
message CCSUsrMsg_HudText {
optional string text = 1;
}
message CCSUsrMsg_SayText {
optional int32 ent_idx = 1;
optional string text = 2;
optional bool chat = 3;
optional bool textallchat = 4;
}
message CCSUsrMsg_SayText2 {
optional int32 ent_idx = 1;
optional bool chat = 2;
optional string msg_name = 3;
repeated string params = 4;
optional bool textallchat = 5;
}
message CCSUsrMsg_TextMsg {
optional int32 msg_dst = 1;
repeated string params = 3;
}
message CCSUsrMsg_HudMsg {
optional int32 channel = 1;
optional .CMsgVector2D pos = 2;
optional .CMsgRGBA clr1 = 3;
optional .CMsgRGBA clr2 = 4;
optional int32 effect = 5;
optional float fade_in_time = 6;
optional float fade_out_time = 7;
optional float hold_time = 9;
optional float fx_time = 10;
optional string text = 11;
}
message CCSUsrMsg_Shake {
optional int32 command = 1;
optional float local_amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
optional int32 entidx = 5;
}
message CCSUsrMsg_Fade {
optional int32 duration = 1;
optional int32 hold_time = 2;
optional int32 flags = 3;
optional .CMsgRGBA clr = 4;
}
message CCSUsrMsg_Rumble {
optional int32 index = 1;
optional int32 data = 2;
optional int32 flags = 3;
}
message CCSUsrMsg_CloseCaption {
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
}
message CCSUsrMsg_CloseCaptionDirect {
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
}
message CCSUsrMsg_SendAudio {
optional string radio_sound = 1;
}
message CCSUsrMsg_RawAudio {
optional int32 pitch = 1;
optional int32 entidx = 2;
optional float duration = 3;
optional string voice_filename = 4;
}
message CCSUsrMsg_VoiceMask {
message PlayerMask {
optional int32 game_rules_mask = 1;
optional int32 ban_masks = 2;
}
repeated .CCSUsrMsg_VoiceMask.PlayerMask player_masks = 1;
optional bool player_mod_enable = 2;
}
message CCSUsrMsg_Damage {
optional int32 amount = 1;
optional .CMsgVector inflictor_world_pos = 2;
optional int32 victim_entindex = 3;
}
message CCSUsrMsg_RadioText {
optional int32 msg_dst = 1;
optional int32 client = 2;
optional string msg_name = 3;
repeated string params = 4;
}
message CCSUsrMsg_HintText {
optional string text = 1;
}
message CCSUsrMsg_KeyHintText {
repeated string hints = 1;
}
message CCSUsrMsg_ProcessSpottedEntityUpdate {
message SpottedEntityUpdate {
optional int32 entity_idx = 1;
optional int32 class_id = 2;
optional int32 origin_x = 3;
optional int32 origin_y = 4;
optional int32 origin_z = 5;
optional int32 angle_y = 6;
optional bool defuser = 7;
optional bool player_has_defuser = 8;
optional bool player_has_c4 = 9;
}
optional bool new_update = 1;
repeated .CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate entity_updates = 2;
}
message CCSUsrMsg_SendPlayerItemDrops {
}
message CCSUsrMsg_SendPlayerItemFound {
optional int32 entindex = 2;
}
message CCSUsrMsg_ReloadEffect {
optional int32 entidx = 1;
optional int32 actanim = 2;
optional float origin_x = 3;
optional float origin_y = 4;
optional float origin_z = 5;
}
message CCSUsrMsg_AdjustMoney {
optional int32 amount = 1;
}
message CCSUsrMsg_ReportHit {
optional float pos_x = 1;
optional float pos_y = 2;
optional float timestamp = 4;
optional float pos_z = 3;
}
message CCSUsrMsg_KillCam {
optional int32 obs_mode = 1;
optional int32 first_target = 2;
optional int32 second_target = 3;
}
message CCSUsrMsg_DesiredTimescale {
optional float desired_timescale = 1;
optional float duration_realtime_sec = 2;
optional int32 interpolator_type = 3;
optional float start_blend_time = 4;
}
message CCSUsrMsg_CurrentTimescale {
optional float cur_timescale = 1;
}
message CCSUsrMsg_AchievementEvent {
optional int32 achievement = 1;
optional int32 count = 2;
optional int32 user_id = 3;
}
message CCSUsrMsg_MatchEndConditions {
optional int32 fraglimit = 1;
optional int32 mp_maxrounds = 2;
optional int32 mp_winlimit = 3;
optional int32 mp_timelimit = 4;
}
message CCSUsrMsg_PlayerStatsUpdate {
message Stat {
optional int32 idx = 1;
optional int32 delta = 2;
}
optional int32 version = 1;
repeated .CCSUsrMsg_PlayerStatsUpdate.Stat stats = 4;
optional int32 user_id = 5;
optional int32 crc = 6;
}
message CCSUsrMsg_DisplayInventory {
optional bool display = 1;
optional int32 user_id = 2;
}
message CCSUsrMsg_QuestProgress {
optional uint32 quest_id = 1;
optional uint32 normal_points = 2;
optional uint32 bonus_points = 3;
optional bool is_event_quest = 4;
}
message CCSUsrMsg_ScoreLeaderboardData {
}
message CCSUsrMsg_PlayerDecalDigitalSignature {
}
message CCSUsrMsg_XRankGet {
optional int32 mode_idx = 1;
optional int32 controller = 2;
}
message CCSUsrMsg_XRankUpd {
optional int32 mode_idx = 1;
optional int32 controller = 2;
optional int32 ranking = 3;
}
message CCSUsrMsg_CallVoteFailed {
optional int32 reason = 1;
optional int32 time = 2;
}
message CCSUsrMsg_VoteStart {
optional int32 team = 1;
optional int32 ent_idx = 2;
optional int32 vote_type = 3;
optional string disp_str = 4;
optional string details_str = 5;
optional string other_team_str = 6;
optional bool is_yes_no_vote = 7;
}
message CCSUsrMsg_VotePass {
optional int32 team = 1;
optional int32 vote_type = 2;
optional string disp_str = 3;
optional string details_str = 4;
}
message CCSUsrMsg_VoteFailed {
optional int32 team = 1;
optional int32 reason = 2;
}
message CCSUsrMsg_VoteSetup {
repeated string potential_issues = 1;
}
message CCSUsrMsg_SendLastKillerDamageToClient {
optional int32 num_hits_given = 1;
optional int32 damage_given = 2;
optional int32 num_hits_taken = 3;
optional int32 damage_taken = 4;
}
message CCSUsrMsg_ServerRankUpdate {
message RankUpdate {
optional int32 account_id = 1;
optional int32 rank_old = 2;
optional int32 rank_new = 3;
optional int32 num_wins = 4;
optional float rank_change = 5;
}
repeated .CCSUsrMsg_ServerRankUpdate.RankUpdate rank_update = 1;
}
message CCSUsrMsg_XpUpdate {
}
message CCSUsrMsg_ItemPickup {
optional string item = 1;
}
message CCSUsrMsg_ShowMenu {
optional int32 bits_valid_slots = 1;
optional int32 display_time = 2;
optional string menu_string = 3;
}
message CCSUsrMsg_BarTime {
optional string time = 1;
}
message CCSUsrMsg_AmmoDenied {
optional int32 ammoIdx = 1;
}
message CCSUsrMsg_MarkAchievement {
optional string achievement = 1;
}
message CCSUsrMsg_MatchStatsUpdate {
optional string update = 1;
}
message CCSUsrMsg_ItemDrop {
optional int64 itemid = 1;
optional bool death = 2;
}
message CCSUsrMsg_GlowPropTurnOff {
optional int32 entidx = 1;
}
message CCSUsrMsg_RoundBackupFilenames {
optional int32 count = 1;
optional int32 index = 2;
optional string filename = 3;
optional string nicename = 4;
}
message CCSUsrMsg_ResetHud {
optional bool reset = 1;
}
message CCSUsrMsg_GameTitle {
optional int32 dummy = 1;
}
message CCSUsrMsg_RequestState {
optional int32 dummy = 1;
}
message CCSUsrMsg_StopSpectatorMode {
optional int32 dummy = 1;
}
message CCSUsrMsg_DisconnectToLobby {
optional int32 dummy = 1;
}
message CCSUsrMsg_WarmupHasEnded {
optional int32 dummy = 1;
}
message CCSUsrMsg_ClientInfo {
optional int32 dummy = 1;
}
message CCSUsrMsg_ServerRankRevealAll {
optional int32 seconds_till_shutdown = 1;
}
message CCSUsrMsg_BerimbauHint {
optional string token = 1;
repeated string params = 2;
}
message CCSUsrMsg_DuelListUpdate {
repeated string arenas = 1;
}
message CCSUsrMsg_BerimbauVote {
optional int32 type = 1;
optional string subject_token = 2;
repeated string params = 3;
repeated string detail_names = 4;
repeated string detail_values = 5;
optional string accept_token = 6;
optional string decline_token = 7;
optional int32 player_count = 8;
optional int32 countyes = 9;
optional int32 countno = 10;
optional int32 maskyes = 11;
optional int32 maskno = 12;
optional string result = 13;
}
message CCSUsrMsg_ShowRoundStart {
optional float warmup_time = 1;
optional bool initial = 2;
optional string arena_name = 3;
repeated int32 player_entids = 4;
}
message CCSUsrMsg_PrivateDuelBegin {
repeated int32 player_entids = 1;
optional bool duel_start = 2;
}
message CCSUsrMsg_RagdollCleanup {
repeated int32 player_entids = 1;
}
message CCSUsrMsg_DedicatedServerSetting {
optional bool is_dedicated = 1;
}
message CCSUsrMsg_BerimbauTutorialChapter {
optional string intro_title = 1;
}
message CCSUsrMsg_SnapCameraAngles {
optional int32 entidx = 1;
optional .CMsgQAngle viewangles = 2;
}
message CCSUsrMsg_ReadyStateChanged {
optional bool ready = 1;
}
message CCSUsrMsg_TurnViewAngles {
optional float yaw_delta = 1;
}
message CCSUsrMsg_GiveAchievement {
optional string ach_name = 1;
}
message CCSUsrMsg_IncrementStat {
optional string stat_name = 1;
}
message CCSUsrMsg_PlayerAnimEvent {
optional int32 player_entidx = 1;
optional int32 event = 2;
optional int32 data = 3;
optional int32 idle = 4;
optional int32 run = 5;
optional bool check_predicted = 6;
}
message CCSUsrMsg_UpdateComboCounter {
optional int32 attacker_entidx = 1;
optional int32 new_combo_count = 2;
optional int32 accumulated_damage = 3;
}
message CCSUsrMsg_CombatFx {
optional int32 attacker_entidx = 1;
optional int32 victim_entidx = 2;
optional int32 block_type = 3;
optional int32 flags = 4;
optional .CMsgVector origin = 5;
optional .CMsgQAngle angles = 6;
}
message CCSUsrMsg_BerimbauTutorial {
optional int32 type = 1;
optional string header_token = 2;
repeated string infos = 3;
optional int32 goal = 4;
optional int32 current = 5;
optional int32 chapter_index = 6;
optional bool aborted = 7;
optional bool skip = 8;
}
message CCSUsrMsg_DuelRoundEnd {
optional int32 damage_taken = 1;
}
message CCSUsrMsg_DuelOver {
optional bool won = 1;
optional int32 rounds = 2;
}

View File

@ -1,732 +0,0 @@
//====== Copyright (c) 2013, Valve Corporation, All rights reserved. ========//
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
// Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
// THE POSSIBILITY OF SUCH DAMAGE.
//===========================================================================//
//
// Purpose: The file defines our Google Protocol Buffers which are used in over
// the wire messages for the Source engine.
//
//=============================================================================
// We care more about speed than code size
option optimize_for = SPEED;
// We don't use the service generation functionality
option cc_generic_services = false;
//
// STYLE NOTES:
//
// Use CamelCase CMsgMyMessageName style names for messages.
//
// Use lowercase _ delimited names like my_steam_id for field names, this is non-standard for Steam,
// but plays nice with the Google formatted code generation.
//
// Try not to use required fields ever. Only do so if you are really really sure you'll never want them removed.
// Optional should be preffered as it will make versioning easier and cleaner in the future if someone refactors
// your message and wants to remove or rename fields.
//
// Use fixed64 for JobId_t, GID_t, or SteamID. This is appropriate for any field that is normally
// going to be larger than 2^56. Otherwise use int64 for 64 bit values that are frequently smaller
// than 2^56 as it will safe space on the wire in those cases.
//
// Similar to fixed64, use fixed32 for RTime32 or other 32 bit values that are frequently larger than
// 2^28. It will safe space in those cases, otherwise use int32 which will safe space for smaller values.
// An exception to this rule for RTime32 is if the value will frequently be zero rather than set to an actual
// time.
//
import "google/protobuf/descriptor.proto";
// for CMsgVector, etc.
import "netmessages.proto";
//=============================================================================
// CStrike15 User Messages
//=============================================================================
enum ECstrike15UserMessages
{
CS_UM_VGUIMenu = 1;
CS_UM_Geiger = 2;
CS_UM_Train = 3;
CS_UM_HudText = 4;
CS_UM_SayText = 5;
CS_UM_SayText2 = 6;
CS_UM_TextMsg = 7;
CS_UM_HudMsg = 8;
CS_UM_ResetHud = 9;
CS_UM_GameTitle = 10;
CS_UM_Shake = 12;
CS_UM_Fade = 13; // fade HUD in/out
CS_UM_Rumble = 14;
CS_UM_CloseCaption = 15;
CS_UM_CloseCaptionDirect = 16;
CS_UM_SendAudio = 17;
CS_UM_RawAudio = 18;
CS_UM_VoiceMask = 19;
CS_UM_RequestState = 20;
CS_UM_Damage = 21;
CS_UM_RadioText = 22;
CS_UM_HintText = 23;
CS_UM_KeyHintText = 24;
CS_UM_ProcessSpottedEntityUpdate = 25;
CS_UM_ReloadEffect = 26;
CS_UM_AdjustMoney = 27;
CS_UM_UpdateTeamMoney = 28;
CS_UM_StopSpectatorMode = 29;
CS_UM_KillCam = 30;
CS_UM_DesiredTimescale = 31;
CS_UM_CurrentTimescale = 32;
CS_UM_AchievementEvent = 33;
CS_UM_MatchEndConditions = 34;
CS_UM_DisconnectToLobby = 35;
CS_UM_PlayerStatsUpdate = 36;
CS_UM_DisplayInventory = 37;
CS_UM_WarmupHasEnded = 38;
CS_UM_ClientInfo = 39;
CS_UM_XRankGet = 40; // Get ELO Rank Value from Client
CS_UM_XRankUpd = 41; // Update ELO Rank Value on Client
CS_UM_CallVoteFailed = 45;
CS_UM_VoteStart = 46;
CS_UM_VotePass = 47;
CS_UM_VoteFailed = 48;
CS_UM_VoteSetup = 49;
CS_UM_ServerRankRevealAll = 50;
CS_UM_SendLastKillerDamageToClient = 51;
CS_UM_ServerRankUpdate = 52;
CS_UM_ItemPickup = 53;
CS_UM_ShowMenu = 54; // show hud menu
CS_UM_BarTime = 55; // For the C4 progress bar.
CS_UM_AmmoDenied = 56;
CS_UM_MarkAchievement = 57;
CS_UM_MatchStatsUpdate = 58;
CS_UM_ItemDrop = 59;
CS_UM_GlowPropTurnOff = 60;
CS_UM_SendPlayerItemDrops = 61;
CS_UM_RoundBackupFilenames = 62;
CS_UM_SendPlayerItemFound = 63;
CS_UM_ReportHit = 64;
CS_UM_XpUpdate = 65;
CS_UM_QuestProgress = 66;
CS_UM_ScoreLeaderboardData = 67;
CS_UM_PlayerDecalDigitalSignature = 68;
CS_UM_WeaponSound = 69;
CS_UM_UpdateScreenHealthBar = 70;
CS_UM_EntityOutlineHighlight = 71;
CS_UM_SSUI = 72;
CS_UM_SurvivalStats = 73;
CS_UM_DisconnectToLobby2 = 74;
}
enum ECSUsrMsg_DisconnectToLobby_Action {
k_ECSUsrMsg_DisconnectToLobby_Action_Default = 0;
k_ECSUsrMsg_DisconnectToLobby_Action_GoQueue = 1;
}
//=============================================================================
message CCSUsrMsg_VGUIMenu
{
optional string name = 1;
optional bool show = 2;
message Subkey
{
optional string name = 1;
optional string str = 2;
}
repeated Subkey subkeys = 3;
}
message CCSUsrMsg_Geiger
{
optional int32 range = 1;
}
message CCSUsrMsg_Train
{
optional int32 train = 1;
}
message CCSUsrMsg_HudText
{
optional string text = 1;
}
message CCSUsrMsg_SayText
{
optional int32 ent_idx = 1;
optional string text = 2;
optional bool chat = 3;
optional bool textallchat = 4;
}
message CCSUsrMsg_SayText2
{
optional int32 ent_idx = 1;
optional bool chat = 2;
optional string msg_name = 3;
repeated string params = 4;
optional bool textallchat = 5;
}
message CCSUsrMsg_TextMsg
{
optional int32 msg_dst = 1;
repeated string params = 3;
}
message CCSUsrMsg_HudMsg
{
optional int32 channel = 1;
optional CMsgVector2D pos = 2;
optional CMsgRGBA clr1 = 3;
optional CMsgRGBA clr2 = 4;
optional int32 effect = 5;
optional float fade_in_time = 6;
optional float fade_out_time = 7;
optional float hold_time = 9;
optional float fx_time = 10;
optional string text = 11;
}
message CCSUsrMsg_Shake
{
optional int32 command = 1;
optional float local_amplitude = 2;
optional float frequency = 3;
optional float duration = 4;
}
message CCSUsrMsg_Fade
{
optional int32 duration = 1;
optional int32 hold_time = 2;
optional int32 flags = 3; // fade type (in / out)
optional CMsgRGBA clr = 4;
}
message CCSUsrMsg_Rumble
{
optional int32 index = 1;
optional int32 data = 2;
optional int32 flags = 3;
}
message CCSUsrMsg_CloseCaption
{
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
}
message CCSUsrMsg_CloseCaptionDirect
{
optional uint32 hash = 1;
optional int32 duration = 2;
optional bool from_player = 3;
}
message CCSUsrMsg_SendAudio
{
optional string radio_sound = 1;
}
message CCSUsrMsg_RawAudio
{
optional int32 pitch = 1;
optional int32 entidx = 2;
optional float duration = 3;
optional string voice_filename = 4;
}
message CCSUsrMsg_VoiceMask
{
message PlayerMask
{
optional int32 game_rules_mask = 1;
optional int32 ban_masks = 2;
}
repeated PlayerMask player_masks = 1;
optional bool player_mod_enable = 2;
}
message CCSUsrMsg_Damage
{
optional int32 amount = 1;
optional CMsgVector inflictor_world_pos = 2;
optional int32 victim_entindex = 3;
}
message CCSUsrMsg_RadioText
{
optional int32 msg_dst = 1;
optional int32 client = 2;
optional string msg_name = 3;
repeated string params = 4;
}
message CCSUsrMsg_HintText
{
optional string text = 1;
}
message CCSUsrMsg_KeyHintText
{
repeated string hints = 1;
}
// gurjeets - Message below is slightly bigger in size than the non-protobuf version,
// by around 8 bits.
message CCSUsrMsg_ProcessSpottedEntityUpdate
{
optional bool new_update = 1;
message SpottedEntityUpdate
{
optional int32 entity_idx = 1;
optional int32 class_id = 2;
optional int32 origin_x = 3;
optional int32 origin_y = 4;
optional int32 origin_z = 5;
optional int32 angle_y = 6;
optional bool defuser = 7;
optional bool player_has_defuser = 8;
optional bool player_has_c4 = 9;
}
repeated SpottedEntityUpdate entity_updates = 2;
}
message CEconItemPreviewDataBlock
{
optional uint32 accountid = 1;
optional uint64 itemid = 2;
optional uint32 defindex = 3;
optional uint32 paintindex = 4;
optional uint32 rarity = 5;
optional uint32 quality = 6;
optional uint32 paintwear = 7;
optional uint32 paintseed = 8;
optional uint32 killeaterscoretype = 9;
optional uint32 killeatervalue = 10;
optional string customname = 11;
message Sticker
{
optional uint32 slot = 1;
optional uint32 sticker_id = 2;
optional float wear = 3;
optional float scale = 4;
optional float rotation = 5;
optional uint32 tint_id = 6;
}
repeated Sticker stickers = 12;
optional uint32 inventory = 13;
optional uint32 origin = 14;
optional uint32 questid = 15;
optional uint32 dropreason = 16;
optional uint32 musicindex = 17;
optional int32 entindex = 18;
}
message CCSUsrMsg_SendPlayerItemDrops
{
repeated CEconItemPreviewDataBlock entity_updates = 1;
}
message CCSUsrMsg_SendPlayerItemFound
{
optional CEconItemPreviewDataBlock iteminfo = 1;
optional int32 entindex = 2;
}
message CCSUsrMsg_ReloadEffect
{
optional int32 entidx = 1;
optional int32 actanim = 2;
optional float origin_x = 3;
optional float origin_y = 4;
optional float origin_z = 5;
}
message CCSUsrMsg_AdjustMoney
{
optional int32 amount = 1;
}
message CCSUsrMsg_ReportHit
{
optional float pos_x = 1;
optional float pos_y = 2;
optional float timestamp = 4;
optional float pos_z = 3;
}
message CCSUsrMsg_KillCam
{
optional int32 obs_mode = 1;
optional int32 first_target = 2;
optional int32 second_target = 3;
}
message CCSUsrMsg_DesiredTimescale
{
optional float desired_timescale = 1;
optional float duration_realtime_sec = 2;
optional int32 interpolator_type = 3;
optional float start_blend_time = 4;
}
message CCSUsrMsg_CurrentTimescale
{
optional float cur_timescale = 1;
}
message CCSUsrMsg_AchievementEvent
{
optional int32 achievement = 1;
optional int32 count = 2;
optional int32 user_id = 3;
}
message CCSUsrMsg_MatchEndConditions
{
optional int32 fraglimit = 1;
optional int32 mp_maxrounds = 2;
optional int32 mp_winlimit = 3;
optional int32 mp_timelimit = 4;
}
message CCSUsrMsg_PlayerStatsUpdate
{
optional int32 version = 1;
message Stat
{
optional int32 idx = 1;
optional int32 delta = 2;
}
repeated Stat stats = 4;
optional int32 user_id = 5;
optional int32 crc = 6;
}
message CCSUsrMsg_DisplayInventory
{
optional bool display = 1;
optional int32 user_id = 2;
}
message CCSUsrMsg_XRankGet
{
optional int32 mode_idx = 1;
optional int32 controller = 2;
}
message CCSUsrMsg_XRankUpd
{
optional int32 mode_idx = 1;
optional int32 controller = 2;
optional int32 ranking = 3;
}
message CCSUsrMsg_CallVoteFailed
{
optional int32 reason = 1;
optional int32 time = 2;
}
message CCSUsrMsg_VoteStart
{
optional int32 team = 1;
optional int32 ent_idx = 2;
optional int32 vote_type = 3;
optional string disp_str = 4;
optional string details_str = 5;
optional string other_team_str = 6;
optional bool is_yes_no_vote = 7;
}
message CCSUsrMsg_VotePass
{
optional int32 team = 1;
optional int32 vote_type = 2;
optional string disp_str = 3;
optional string details_str = 4;
}
message CCSUsrMsg_VoteFailed
{
optional int32 team = 1;
optional int32 reason = 2;
}
message CCSUsrMsg_VoteSetup
{
repeated string potential_issues = 1;
}
message CCSUsrMsg_SendLastKillerDamageToClient
{
optional int32 num_hits_given = 1;
optional int32 damage_given = 2;
optional int32 num_hits_taken = 3;
optional int32 damage_taken = 4;
}
message CCSUsrMsg_ServerRankUpdate
{
message RankUpdate
{
optional int32 account_id = 1;
optional int32 rank_old = 2;
optional int32 rank_new = 3;
optional int32 num_wins = 4;
optional float rank_change = 5;
optional int32 rank_type_id = 6;
}
repeated RankUpdate rank_update = 1;
}
message CCSUsrMsg_ItemPickup
{
optional string item = 1;
}
message CCSUsrMsg_ShowMenu
{
optional int32 bits_valid_slots = 1;
optional int32 display_time = 2;
optional string menu_string = 3;
}
message CCSUsrMsg_BarTime
{
optional string time = 1;
}
message CCSUsrMsg_AmmoDenied
{
optional int32 ammoIdx = 1;
}
message CCSUsrMsg_MarkAchievement
{
optional string achievement = 1;
}
message CCSUsrMsg_MatchStatsUpdate
{
optional string update = 1;
}
message CCSUsrMsg_ItemDrop
{
optional int64 itemid = 1;
optional bool death = 2;
}
message CCSUsrMsg_GlowPropTurnOff
{
optional int32 entidx = 1;
}
message CCSUsrMsg_RoundBackupFilenames {
optional int32 count = 1;
optional int32 index = 2;
optional string filename = 3;
optional string nicename = 4;
}
message XpProgressData {
optional uint32 xp_points = 1;
optional int32 xp_category = 2;
}
message CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded {
repeated XpProgressData xp_progress_data = 1;
optional uint32 account_id = 2;
optional uint32 current_xp = 3;
optional uint32 current_level = 4;
optional uint32 upgraded_defidx = 5;
optional uint32 operation_points_awarded = 6;
}
message CCSUsrMsg_XpUpdate {
optional CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded data = 1;
}
message CCSUsrMsg_QuestProgress {
optional uint32 quest_id = 1;
optional uint32 normal_points = 2;
optional uint32 bonus_points = 3;
optional bool is_event_quest = 4;
}
message ScoreLeaderboardData {
message Entry {
optional uint32 tag = 1;
optional uint32 val = 2;
}
message AccountEntries {
optional uint32 accountid = 1;
repeated Entry entries = 2;
}
optional uint64 quest_id = 1;
optional uint32 score = 2;
repeated AccountEntries accountentries = 3;
repeated Entry matchentries = 5;
}
message CCSUsrMsg_ScoreLeaderboardData {
optional ScoreLeaderboardData data = 1;
}
message PlayerDecalDigitalSignature {
optional bytes signature = 1;
optional uint32 accountid = 2;
optional uint32 rtime = 3;
repeated float endpos = 4;
repeated float startpos = 5;
repeated float right = 6;
optional uint32 tx_defidx = 7;
optional int32 entindex = 8;
optional uint32 hitbox = 9;
optional float creationtime = 10;
optional uint32 equipslot = 11;
optional uint32 trace_id = 12;
repeated float normal = 13;
optional uint32 tint_id = 14;
}
message CCSUsrMsg_PlayerDecalDigitalSignature {
optional PlayerDecalDigitalSignature data = 1;
}
message CCSUsrMsg_WeaponSound {
optional int32 entidx = 1;
optional float origin_x = 2;
optional float origin_y = 3;
optional float origin_z = 4;
optional string sound = 5;
optional float timestamp = 6;
}
message CCSUsrMsg_UpdateScreenHealthBar {
optional int32 entidx = 1;
optional float healthratio_old = 2;
optional float healthratio_new = 3;
optional int32 style = 4;
}
message CCSUsrMsg_EntityOutlineHighlight {
optional int32 entidx = 1;
}
message CCSUsrMsg_SSUI {
optional bool show = 1;
}
message CCSUsrMsg_SurvivalStats {
message Fact {
optional int32 type = 1;
optional int32 display = 2;
optional int32 value = 3;
optional float interestingness = 4;
}
message Placement {
optional uint64 xuid = 1;
optional int32 teamnumber = 2;
optional int32 placement = 3;
}
message Damage {
optional uint64 xuid = 1;
optional int32 to = 2;
optional int32 to_hits = 3;
optional int32 from = 4;
optional int32 from_hits = 5;
}
optional uint64 xuid = 1;
repeated Fact facts = 2;
repeated Placement users = 3;
repeated Damage damages = 5;
optional int32 ticknumber = 4;
}
//=============================================================================
// Messages where the data seems to be irrelevant
//=============================================================================
message CCSUsrMsg_ResetHud
{
optional bool reset = 1;
}
message CCSUsrMsg_GameTitle
{
optional int32 dummy = 1;
}
message CCSUsrMsg_RequestState
{
optional int32 dummy = 1;
}
message CCSUsrMsg_StopSpectatorMode
{
optional int32 dummy = 1;
}
message CCSUsrMsg_DisconnectToLobby
{
optional int32 dummy = 1;
}
message CCSUsrMsg_WarmupHasEnded
{
optional int32 dummy = 1;
}
message CCSUsrMsg_ClientInfo
{
optional int32 dummy = 1;
}
message CCSUsrMsg_ServerRankRevealAll
{
optional int32 seconds_till_shutdown = 1;
}