diff --git a/src/csgoproto/src/cs_usercmd.rs b/src/csgoproto/src/cs_usercmd.rs new file mode 100644 index 00000000..1c6a305e --- /dev/null +++ b/src/csgoproto/src/cs_usercmd.rs @@ -0,0 +1,1093 @@ +// This file is generated by rust-protobuf 3.5.0. Do not edit +// .proto file is parsed by protoc 3.12.4 +// @generated + +// https://github.com/rust-lang/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy::all)] + +#![allow(unused_attributes)] +#![cfg_attr(rustfmt, rustfmt::skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unused_results)] +#![allow(unused_mut)] + +//! Generated file from `cs_usercmd.proto` + +/// Generated files are compatible only with the same version +/// of protobuf runtime. +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_0; + +// @@protoc_insertion_point(message:CSGOInterpolationInfoPB) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CSGOInterpolationInfoPB { + // message fields + // @@protoc_insertion_point(field:CSGOInterpolationInfoPB.src_tick) + pub src_tick: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInterpolationInfoPB.dst_tick) + pub dst_tick: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInterpolationInfoPB.frac) + pub frac: ::std::option::Option, + // special fields + // @@protoc_insertion_point(special_field:CSGOInterpolationInfoPB.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CSGOInterpolationInfoPB { + fn default() -> &'a CSGOInterpolationInfoPB { + ::default_instance() + } +} + +impl CSGOInterpolationInfoPB { + pub fn new() -> CSGOInterpolationInfoPB { + ::std::default::Default::default() + } + + // optional int32 src_tick = 1; + + pub fn src_tick(&self) -> i32 { + self.src_tick.unwrap_or(-1i32) + } + + pub fn clear_src_tick(&mut self) { + self.src_tick = ::std::option::Option::None; + } + + pub fn has_src_tick(&self) -> bool { + self.src_tick.is_some() + } + + // Param is passed by value, moved + pub fn set_src_tick(&mut self, v: i32) { + self.src_tick = ::std::option::Option::Some(v); + } + + // optional int32 dst_tick = 2; + + pub fn dst_tick(&self) -> i32 { + self.dst_tick.unwrap_or(-1i32) + } + + pub fn clear_dst_tick(&mut self) { + self.dst_tick = ::std::option::Option::None; + } + + pub fn has_dst_tick(&self) -> bool { + self.dst_tick.is_some() + } + + // Param is passed by value, moved + pub fn set_dst_tick(&mut self, v: i32) { + self.dst_tick = ::std::option::Option::Some(v); + } + + // optional float frac = 3; + + pub fn frac(&self) -> f32 { + self.frac.unwrap_or(0.0f32) + } + + pub fn clear_frac(&mut self) { + self.frac = ::std::option::Option::None; + } + + pub fn has_frac(&self) -> bool { + self.frac.is_some() + } + + // Param is passed by value, moved + pub fn set_frac(&mut self, v: f32) { + self.frac = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(3); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "src_tick", + |m: &CSGOInterpolationInfoPB| { &m.src_tick }, + |m: &mut CSGOInterpolationInfoPB| { &mut m.src_tick }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "dst_tick", + |m: &CSGOInterpolationInfoPB| { &m.dst_tick }, + |m: &mut CSGOInterpolationInfoPB| { &mut m.dst_tick }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "frac", + |m: &CSGOInterpolationInfoPB| { &m.frac }, + |m: &mut CSGOInterpolationInfoPB| { &mut m.frac }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CSGOInterpolationInfoPB", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CSGOInterpolationInfoPB { + const NAME: &'static str = "CSGOInterpolationInfoPB"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 8 => { + self.src_tick = ::std::option::Option::Some(is.read_int32()?); + }, + 16 => { + self.dst_tick = ::std::option::Option::Some(is.read_int32()?); + }, + 29 => { + self.frac = ::std::option::Option::Some(is.read_float()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.src_tick { + my_size += ::protobuf::rt::int32_size(1, v); + } + if let Some(v) = self.dst_tick { + my_size += ::protobuf::rt::int32_size(2, v); + } + if let Some(v) = self.frac { + my_size += 1 + 4; + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.src_tick { + os.write_int32(1, v)?; + } + if let Some(v) = self.dst_tick { + os.write_int32(2, v)?; + } + if let Some(v) = self.frac { + os.write_float(3, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CSGOInterpolationInfoPB { + CSGOInterpolationInfoPB::new() + } + + fn clear(&mut self) { + self.src_tick = ::std::option::Option::None; + self.dst_tick = ::std::option::Option::None; + self.frac = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static CSGOInterpolationInfoPB { + static instance: CSGOInterpolationInfoPB = CSGOInterpolationInfoPB { + src_tick: ::std::option::Option::None, + dst_tick: ::std::option::Option::None, + frac: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CSGOInterpolationInfoPB { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CSGOInterpolationInfoPB").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CSGOInterpolationInfoPB { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CSGOInterpolationInfoPB { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +// @@protoc_insertion_point(message:CSGOInputHistoryEntryPB) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CSGOInputHistoryEntryPB { + // message fields + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.view_angles) + pub view_angles: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.render_tick_count) + pub render_tick_count: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.render_tick_fraction) + pub render_tick_fraction: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.player_tick_count) + pub player_tick_count: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.player_tick_fraction) + pub player_tick_fraction: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.cl_interp) + pub cl_interp: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.sv_interp0) + pub sv_interp0: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.sv_interp1) + pub sv_interp1: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.player_interp) + pub player_interp: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.frame_number) + pub frame_number: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.target_ent_index) + pub target_ent_index: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.shoot_position) + pub shoot_position: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.target_head_pos_check) + pub target_head_pos_check: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.target_abs_pos_check) + pub target_abs_pos_check: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOInputHistoryEntryPB.target_abs_ang_check) + pub target_abs_ang_check: ::protobuf::MessageField, + // special fields + // @@protoc_insertion_point(special_field:CSGOInputHistoryEntryPB.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CSGOInputHistoryEntryPB { + fn default() -> &'a CSGOInputHistoryEntryPB { + ::default_instance() + } +} + +impl CSGOInputHistoryEntryPB { + pub fn new() -> CSGOInputHistoryEntryPB { + ::std::default::Default::default() + } + + // optional int32 render_tick_count = 4; + + pub fn render_tick_count(&self) -> i32 { + self.render_tick_count.unwrap_or(0) + } + + pub fn clear_render_tick_count(&mut self) { + self.render_tick_count = ::std::option::Option::None; + } + + pub fn has_render_tick_count(&self) -> bool { + self.render_tick_count.is_some() + } + + // Param is passed by value, moved + pub fn set_render_tick_count(&mut self, v: i32) { + self.render_tick_count = ::std::option::Option::Some(v); + } + + // optional float render_tick_fraction = 5; + + pub fn render_tick_fraction(&self) -> f32 { + self.render_tick_fraction.unwrap_or(0.) + } + + pub fn clear_render_tick_fraction(&mut self) { + self.render_tick_fraction = ::std::option::Option::None; + } + + pub fn has_render_tick_fraction(&self) -> bool { + self.render_tick_fraction.is_some() + } + + // Param is passed by value, moved + pub fn set_render_tick_fraction(&mut self, v: f32) { + self.render_tick_fraction = ::std::option::Option::Some(v); + } + + // optional int32 player_tick_count = 6; + + pub fn player_tick_count(&self) -> i32 { + self.player_tick_count.unwrap_or(0) + } + + pub fn clear_player_tick_count(&mut self) { + self.player_tick_count = ::std::option::Option::None; + } + + pub fn has_player_tick_count(&self) -> bool { + self.player_tick_count.is_some() + } + + // Param is passed by value, moved + pub fn set_player_tick_count(&mut self, v: i32) { + self.player_tick_count = ::std::option::Option::Some(v); + } + + // optional float player_tick_fraction = 7; + + pub fn player_tick_fraction(&self) -> f32 { + self.player_tick_fraction.unwrap_or(0.) + } + + pub fn clear_player_tick_fraction(&mut self) { + self.player_tick_fraction = ::std::option::Option::None; + } + + pub fn has_player_tick_fraction(&self) -> bool { + self.player_tick_fraction.is_some() + } + + // Param is passed by value, moved + pub fn set_player_tick_fraction(&mut self, v: f32) { + self.player_tick_fraction = ::std::option::Option::Some(v); + } + + // optional int32 frame_number = 20; + + pub fn frame_number(&self) -> i32 { + self.frame_number.unwrap_or(0) + } + + pub fn clear_frame_number(&mut self) { + self.frame_number = ::std::option::Option::None; + } + + pub fn has_frame_number(&self) -> bool { + self.frame_number.is_some() + } + + // Param is passed by value, moved + pub fn set_frame_number(&mut self, v: i32) { + self.frame_number = ::std::option::Option::Some(v); + } + + // optional int32 target_ent_index = 8; + + pub fn target_ent_index(&self) -> i32 { + self.target_ent_index.unwrap_or(-1i32) + } + + pub fn clear_target_ent_index(&mut self) { + self.target_ent_index = ::std::option::Option::None; + } + + pub fn has_target_ent_index(&self) -> bool { + self.target_ent_index.is_some() + } + + // Param is passed by value, moved + pub fn set_target_ent_index(&mut self, v: i32) { + self.target_ent_index = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(15); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::networkbasetypes::CMsgQAngle>( + "view_angles", + |m: &CSGOInputHistoryEntryPB| { &m.view_angles }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.view_angles }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "render_tick_count", + |m: &CSGOInputHistoryEntryPB| { &m.render_tick_count }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.render_tick_count }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "render_tick_fraction", + |m: &CSGOInputHistoryEntryPB| { &m.render_tick_fraction }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.render_tick_fraction }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "player_tick_count", + |m: &CSGOInputHistoryEntryPB| { &m.player_tick_count }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.player_tick_count }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "player_tick_fraction", + |m: &CSGOInputHistoryEntryPB| { &m.player_tick_fraction }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.player_tick_fraction }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CSGOInterpolationInfoPB>( + "cl_interp", + |m: &CSGOInputHistoryEntryPB| { &m.cl_interp }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.cl_interp }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CSGOInterpolationInfoPB>( + "sv_interp0", + |m: &CSGOInputHistoryEntryPB| { &m.sv_interp0 }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.sv_interp0 }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CSGOInterpolationInfoPB>( + "sv_interp1", + |m: &CSGOInputHistoryEntryPB| { &m.sv_interp1 }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.sv_interp1 }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CSGOInterpolationInfoPB>( + "player_interp", + |m: &CSGOInputHistoryEntryPB| { &m.player_interp }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.player_interp }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "frame_number", + |m: &CSGOInputHistoryEntryPB| { &m.frame_number }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.frame_number }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "target_ent_index", + |m: &CSGOInputHistoryEntryPB| { &m.target_ent_index }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.target_ent_index }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::networkbasetypes::CMsgVector>( + "shoot_position", + |m: &CSGOInputHistoryEntryPB| { &m.shoot_position }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.shoot_position }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::networkbasetypes::CMsgVector>( + "target_head_pos_check", + |m: &CSGOInputHistoryEntryPB| { &m.target_head_pos_check }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.target_head_pos_check }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::networkbasetypes::CMsgVector>( + "target_abs_pos_check", + |m: &CSGOInputHistoryEntryPB| { &m.target_abs_pos_check }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.target_abs_pos_check }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::networkbasetypes::CMsgQAngle>( + "target_abs_ang_check", + |m: &CSGOInputHistoryEntryPB| { &m.target_abs_ang_check }, + |m: &mut CSGOInputHistoryEntryPB| { &mut m.target_abs_ang_check }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CSGOInputHistoryEntryPB", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CSGOInputHistoryEntryPB { + const NAME: &'static str = "CSGOInputHistoryEntryPB"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 18 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.view_angles)?; + }, + 32 => { + self.render_tick_count = ::std::option::Option::Some(is.read_int32()?); + }, + 45 => { + self.render_tick_fraction = ::std::option::Option::Some(is.read_float()?); + }, + 48 => { + self.player_tick_count = ::std::option::Option::Some(is.read_int32()?); + }, + 61 => { + self.player_tick_fraction = ::std::option::Option::Some(is.read_float()?); + }, + 98 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.cl_interp)?; + }, + 106 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.sv_interp0)?; + }, + 114 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.sv_interp1)?; + }, + 122 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.player_interp)?; + }, + 160 => { + self.frame_number = ::std::option::Option::Some(is.read_int32()?); + }, + 64 => { + self.target_ent_index = ::std::option::Option::Some(is.read_int32()?); + }, + 26 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.shoot_position)?; + }, + 74 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.target_head_pos_check)?; + }, + 82 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.target_abs_pos_check)?; + }, + 90 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.target_abs_ang_check)?; + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.view_angles.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.render_tick_count { + my_size += ::protobuf::rt::int32_size(4, v); + } + if let Some(v) = self.render_tick_fraction { + my_size += 1 + 4; + } + if let Some(v) = self.player_tick_count { + my_size += ::protobuf::rt::int32_size(6, v); + } + if let Some(v) = self.player_tick_fraction { + my_size += 1 + 4; + } + if let Some(v) = self.cl_interp.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.sv_interp0.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.sv_interp1.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.player_interp.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.frame_number { + my_size += ::protobuf::rt::int32_size(20, v); + } + if let Some(v) = self.target_ent_index { + my_size += ::protobuf::rt::int32_size(8, v); + } + if let Some(v) = self.shoot_position.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.target_head_pos_check.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.target_abs_pos_check.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.target_abs_ang_check.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.view_angles.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; + } + if let Some(v) = self.render_tick_count { + os.write_int32(4, v)?; + } + if let Some(v) = self.render_tick_fraction { + os.write_float(5, v)?; + } + if let Some(v) = self.player_tick_count { + os.write_int32(6, v)?; + } + if let Some(v) = self.player_tick_fraction { + os.write_float(7, v)?; + } + if let Some(v) = self.cl_interp.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(12, v, os)?; + } + if let Some(v) = self.sv_interp0.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(13, v, os)?; + } + if let Some(v) = self.sv_interp1.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(14, v, os)?; + } + if let Some(v) = self.player_interp.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(15, v, os)?; + } + if let Some(v) = self.frame_number { + os.write_int32(20, v)?; + } + if let Some(v) = self.target_ent_index { + os.write_int32(8, v)?; + } + if let Some(v) = self.shoot_position.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; + } + if let Some(v) = self.target_head_pos_check.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(9, v, os)?; + } + if let Some(v) = self.target_abs_pos_check.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(10, v, os)?; + } + if let Some(v) = self.target_abs_ang_check.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(11, v, os)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CSGOInputHistoryEntryPB { + CSGOInputHistoryEntryPB::new() + } + + fn clear(&mut self) { + self.view_angles.clear(); + self.render_tick_count = ::std::option::Option::None; + self.render_tick_fraction = ::std::option::Option::None; + self.player_tick_count = ::std::option::Option::None; + self.player_tick_fraction = ::std::option::Option::None; + self.cl_interp.clear(); + self.sv_interp0.clear(); + self.sv_interp1.clear(); + self.player_interp.clear(); + self.frame_number = ::std::option::Option::None; + self.target_ent_index = ::std::option::Option::None; + self.shoot_position.clear(); + self.target_head_pos_check.clear(); + self.target_abs_pos_check.clear(); + self.target_abs_ang_check.clear(); + self.special_fields.clear(); + } + + fn default_instance() -> &'static CSGOInputHistoryEntryPB { + static instance: CSGOInputHistoryEntryPB = CSGOInputHistoryEntryPB { + view_angles: ::protobuf::MessageField::none(), + render_tick_count: ::std::option::Option::None, + render_tick_fraction: ::std::option::Option::None, + player_tick_count: ::std::option::Option::None, + player_tick_fraction: ::std::option::Option::None, + cl_interp: ::protobuf::MessageField::none(), + sv_interp0: ::protobuf::MessageField::none(), + sv_interp1: ::protobuf::MessageField::none(), + player_interp: ::protobuf::MessageField::none(), + frame_number: ::std::option::Option::None, + target_ent_index: ::std::option::Option::None, + shoot_position: ::protobuf::MessageField::none(), + target_head_pos_check: ::protobuf::MessageField::none(), + target_abs_pos_check: ::protobuf::MessageField::none(), + target_abs_ang_check: ::protobuf::MessageField::none(), + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CSGOInputHistoryEntryPB { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CSGOInputHistoryEntryPB").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CSGOInputHistoryEntryPB { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CSGOInputHistoryEntryPB { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +// @@protoc_insertion_point(message:CSGOUserCmdPB) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CSGOUserCmdPB { + // message fields + // @@protoc_insertion_point(field:CSGOUserCmdPB.base) + pub base: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CSGOUserCmdPB.input_history) + pub input_history: ::std::vec::Vec, + // @@protoc_insertion_point(field:CSGOUserCmdPB.attack1_start_history_index) + pub attack1_start_history_index: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOUserCmdPB.attack2_start_history_index) + pub attack2_start_history_index: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOUserCmdPB.attack3_start_history_index) + pub attack3_start_history_index: ::std::option::Option, + // @@protoc_insertion_point(field:CSGOUserCmdPB.left_hand_desired) + pub left_hand_desired: ::std::option::Option, + // special fields + // @@protoc_insertion_point(special_field:CSGOUserCmdPB.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CSGOUserCmdPB { + fn default() -> &'a CSGOUserCmdPB { + ::default_instance() + } +} + +impl CSGOUserCmdPB { + pub fn new() -> CSGOUserCmdPB { + ::std::default::Default::default() + } + + // optional int32 attack1_start_history_index = 6; + + pub fn attack1_start_history_index(&self) -> i32 { + self.attack1_start_history_index.unwrap_or(-1i32) + } + + pub fn clear_attack1_start_history_index(&mut self) { + self.attack1_start_history_index = ::std::option::Option::None; + } + + pub fn has_attack1_start_history_index(&self) -> bool { + self.attack1_start_history_index.is_some() + } + + // Param is passed by value, moved + pub fn set_attack1_start_history_index(&mut self, v: i32) { + self.attack1_start_history_index = ::std::option::Option::Some(v); + } + + // optional int32 attack2_start_history_index = 7; + + pub fn attack2_start_history_index(&self) -> i32 { + self.attack2_start_history_index.unwrap_or(-1i32) + } + + pub fn clear_attack2_start_history_index(&mut self) { + self.attack2_start_history_index = ::std::option::Option::None; + } + + pub fn has_attack2_start_history_index(&self) -> bool { + self.attack2_start_history_index.is_some() + } + + // Param is passed by value, moved + pub fn set_attack2_start_history_index(&mut self, v: i32) { + self.attack2_start_history_index = ::std::option::Option::Some(v); + } + + // optional int32 attack3_start_history_index = 8; + + pub fn attack3_start_history_index(&self) -> i32 { + self.attack3_start_history_index.unwrap_or(-1i32) + } + + pub fn clear_attack3_start_history_index(&mut self) { + self.attack3_start_history_index = ::std::option::Option::None; + } + + pub fn has_attack3_start_history_index(&self) -> bool { + self.attack3_start_history_index.is_some() + } + + // Param is passed by value, moved + pub fn set_attack3_start_history_index(&mut self, v: i32) { + self.attack3_start_history_index = ::std::option::Option::Some(v); + } + + // optional bool left_hand_desired = 9; + + pub fn left_hand_desired(&self) -> bool { + self.left_hand_desired.unwrap_or(false) + } + + pub fn clear_left_hand_desired(&mut self) { + self.left_hand_desired = ::std::option::Option::None; + } + + pub fn has_left_hand_desired(&self) -> bool { + self.left_hand_desired.is_some() + } + + // Param is passed by value, moved + pub fn set_left_hand_desired(&mut self, v: bool) { + self.left_hand_desired = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(6); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::usercmd::CBaseUserCmdPB>( + "base", + |m: &CSGOUserCmdPB| { &m.base }, + |m: &mut CSGOUserCmdPB| { &mut m.base }, + )); + fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( + "input_history", + |m: &CSGOUserCmdPB| { &m.input_history }, + |m: &mut CSGOUserCmdPB| { &mut m.input_history }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "attack1_start_history_index", + |m: &CSGOUserCmdPB| { &m.attack1_start_history_index }, + |m: &mut CSGOUserCmdPB| { &mut m.attack1_start_history_index }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "attack2_start_history_index", + |m: &CSGOUserCmdPB| { &m.attack2_start_history_index }, + |m: &mut CSGOUserCmdPB| { &mut m.attack2_start_history_index }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "attack3_start_history_index", + |m: &CSGOUserCmdPB| { &m.attack3_start_history_index }, + |m: &mut CSGOUserCmdPB| { &mut m.attack3_start_history_index }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "left_hand_desired", + |m: &CSGOUserCmdPB| { &m.left_hand_desired }, + |m: &mut CSGOUserCmdPB| { &mut m.left_hand_desired }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CSGOUserCmdPB", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CSGOUserCmdPB { + const NAME: &'static str = "CSGOUserCmdPB"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 10 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.base)?; + }, + 18 => { + self.input_history.push(is.read_message()?); + }, + 48 => { + self.attack1_start_history_index = ::std::option::Option::Some(is.read_int32()?); + }, + 56 => { + self.attack2_start_history_index = ::std::option::Option::Some(is.read_int32()?); + }, + 64 => { + self.attack3_start_history_index = ::std::option::Option::Some(is.read_int32()?); + }, + 72 => { + self.left_hand_desired = ::std::option::Option::Some(is.read_bool()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.base.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + for value in &self.input_history { + let len = value.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + }; + if let Some(v) = self.attack1_start_history_index { + my_size += ::protobuf::rt::int32_size(6, v); + } + if let Some(v) = self.attack2_start_history_index { + my_size += ::protobuf::rt::int32_size(7, v); + } + if let Some(v) = self.attack3_start_history_index { + my_size += ::protobuf::rt::int32_size(8, v); + } + if let Some(v) = self.left_hand_desired { + my_size += 1 + 1; + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.base.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; + } + for v in &self.input_history { + ::protobuf::rt::write_message_field_with_cached_size(2, v, os)?; + }; + if let Some(v) = self.attack1_start_history_index { + os.write_int32(6, v)?; + } + if let Some(v) = self.attack2_start_history_index { + os.write_int32(7, v)?; + } + if let Some(v) = self.attack3_start_history_index { + os.write_int32(8, v)?; + } + if let Some(v) = self.left_hand_desired { + os.write_bool(9, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CSGOUserCmdPB { + CSGOUserCmdPB::new() + } + + fn clear(&mut self) { + self.base.clear(); + self.input_history.clear(); + self.attack1_start_history_index = ::std::option::Option::None; + self.attack2_start_history_index = ::std::option::Option::None; + self.attack3_start_history_index = ::std::option::Option::None; + self.left_hand_desired = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static CSGOUserCmdPB { + static instance: CSGOUserCmdPB = CSGOUserCmdPB { + base: ::protobuf::MessageField::none(), + input_history: ::std::vec::Vec::new(), + attack1_start_history_index: ::std::option::Option::None, + attack2_start_history_index: ::std::option::Option::None, + attack3_start_history_index: ::std::option::Option::None, + left_hand_desired: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CSGOUserCmdPB { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CSGOUserCmdPB").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CSGOUserCmdPB { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CSGOUserCmdPB { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\x10cs_usercmd.proto\x1a\x16networkbasetypes.proto\x1a\rusercmd.proto\ + \"n\n\x17CSGOInterpolationInfoPB\x12\x1d\n\x08src_tick\x18\x01\x20\x01(\ + \x05:\x02-1R\x07srcTick\x12\x1d\n\x08dst_tick\x18\x02\x20\x01(\x05:\x02-\ + 1R\x07dstTick\x12\x15\n\x04frac\x18\x03\x20\x01(\x02:\x010R\x04frac\"\ + \xac\x06\n\x17CSGOInputHistoryEntryPB\x12,\n\x0bview_angles\x18\x02\x20\ + \x01(\x0b2\x0b.CMsgQAngleR\nviewAngles\x12*\n\x11render_tick_count\x18\ + \x04\x20\x01(\x05R\x0frenderTickCount\x120\n\x14render_tick_fraction\x18\ + \x05\x20\x01(\x02R\x12renderTickFraction\x12*\n\x11player_tick_count\x18\ + \x06\x20\x01(\x05R\x0fplayerTickCount\x120\n\x14player_tick_fraction\x18\ + \x07\x20\x01(\x02R\x12playerTickFraction\x125\n\tcl_interp\x18\x0c\x20\ + \x01(\x0b2\x18.CSGOInterpolationInfoPBR\x08clInterp\x127\n\nsv_interp0\ + \x18\r\x20\x01(\x0b2\x18.CSGOInterpolationInfoPBR\tsvInterp0\x127\n\nsv_\ + interp1\x18\x0e\x20\x01(\x0b2\x18.CSGOInterpolationInfoPBR\tsvInterp1\ + \x12=\n\rplayer_interp\x18\x0f\x20\x01(\x0b2\x18.CSGOInterpolationInfoPB\ + R\x0cplayerInterp\x12!\n\x0cframe_number\x18\x14\x20\x01(\x05R\x0bframeN\ + umber\x12,\n\x10target_ent_index\x18\x08\x20\x01(\x05:\x02-1R\x0etargetE\ + ntIndex\x122\n\x0eshoot_position\x18\x03\x20\x01(\x0b2\x0b.CMsgVectorR\r\ + shootPosition\x12>\n\x15target_head_pos_check\x18\t\x20\x01(\x0b2\x0b.CM\ + sgVectorR\x12targetHeadPosCheck\x12<\n\x14target_abs_pos_check\x18\n\x20\ + \x01(\x0b2\x0b.CMsgVectorR\x11targetAbsPosCheck\x12<\n\x14target_abs_ang\ + _check\x18\x0b\x20\x01(\x0b2\x0b.CMsgQAngleR\x11targetAbsAngCheck\"\xef\ + \x02\n\rCSGOUserCmdPB\x12#\n\x04base\x18\x01\x20\x01(\x0b2\x0f.CBaseUser\ + CmdPBR\x04base\x12=\n\rinput_history\x18\x02\x20\x03(\x0b2\x18.CSGOInput\ + HistoryEntryPBR\x0cinputHistory\x12A\n\x1battack1_start_history_index\ + \x18\x06\x20\x01(\x05:\x02-1R\x18attack1StartHistoryIndex\x12A\n\x1batta\ + ck2_start_history_index\x18\x07\x20\x01(\x05:\x02-1R\x18attack2StartHist\ + oryIndex\x12A\n\x1battack3_start_history_index\x18\x08\x20\x01(\x05:\x02\ + -1R\x18attack3StartHistoryIndex\x121\n\x11left_hand_desired\x18\t\x20\ + \x01(\x08:\x05falseR\x0fleftHandDesired\ +"; + +/// `FileDescriptorProto` object which was a source for this generated file +fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new(); + file_descriptor_proto_lazy.get(|| { + ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap() + }) +} + +/// `FileDescriptor` object which allows dynamic access to files +pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { + static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new(); + static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new(); + file_descriptor.get(|| { + let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { + let mut deps = ::std::vec::Vec::with_capacity(2); + deps.push(super::networkbasetypes::file_descriptor().clone()); + deps.push(super::usercmd::file_descriptor().clone()); + let mut messages = ::std::vec::Vec::with_capacity(3); + messages.push(CSGOInterpolationInfoPB::generated_message_descriptor_data()); + messages.push(CSGOInputHistoryEntryPB::generated_message_descriptor_data()); + messages.push(CSGOUserCmdPB::generated_message_descriptor_data()); + let mut enums = ::std::vec::Vec::with_capacity(0); + ::protobuf::reflect::GeneratedFileDescriptor::new_generated( + file_descriptor_proto(), + deps, + messages, + enums, + ) + }); + ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor) + }) +} diff --git a/src/csgoproto/src/cstrike15_gcmessages.rs b/src/csgoproto/src/cstrike15_gcmessages.rs index 8ba384b4..6fbbab01 100644 --- a/src/csgoproto/src/cstrike15_gcmessages.rs +++ b/src/csgoproto/src/cstrike15_gcmessages.rs @@ -9836,6 +9836,8 @@ pub struct CMsgGC_ServerQuestUpdateData { pub mm_game_mode: ::std::option::Option, // @@protoc_insertion_point(field:CMsgGC_ServerQuestUpdateData.missionlbsdata) pub missionlbsdata: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CMsgGC_ServerQuestUpdateData.flags) + pub flags: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:CMsgGC_ServerQuestUpdateData.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -9907,8 +9909,27 @@ impl CMsgGC_ServerQuestUpdateData { self.mm_game_mode = ::std::option::Option::Some(v); } + // optional uint32 flags = 5; + + pub fn flags(&self) -> u32 { + self.flags.unwrap_or(0) + } + + pub fn clear_flags(&mut self) { + self.flags = ::std::option::Option::None; + } + + pub fn has_flags(&self) -> bool { + self.flags.is_some() + } + + // Param is passed by value, moved + pub fn set_flags(&mut self, v: u32) { + self.flags = ::std::option::Option::Some(v); + } + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(4); + let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( "player_quest_data", @@ -9930,6 +9951,11 @@ impl CMsgGC_ServerQuestUpdateData { |m: &CMsgGC_ServerQuestUpdateData| { &m.missionlbsdata }, |m: &mut CMsgGC_ServerQuestUpdateData| { &mut m.missionlbsdata }, )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "flags", + |m: &CMsgGC_ServerQuestUpdateData| { &m.flags }, + |m: &mut CMsgGC_ServerQuestUpdateData| { &mut m.flags }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "CMsgGC_ServerQuestUpdateData", fields, @@ -9960,6 +9986,9 @@ impl ::protobuf::Message for CMsgGC_ServerQuestUpdateData { 34 => { ::protobuf::rt::read_singular_message_into_field(is, &mut self.missionlbsdata)?; }, + 40 => { + self.flags = ::std::option::Option::Some(is.read_uint32()?); + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -9986,6 +10015,9 @@ impl ::protobuf::Message for CMsgGC_ServerQuestUpdateData { let len = v.compute_size(); my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; } + if let Some(v) = self.flags { + my_size += ::protobuf::rt::uint32_size(5, v); + } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size @@ -10004,6 +10036,9 @@ impl ::protobuf::Message for CMsgGC_ServerQuestUpdateData { if let Some(v) = self.missionlbsdata.as_ref() { ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?; } + if let Some(v) = self.flags { + os.write_uint32(5, v)?; + } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -10025,6 +10060,7 @@ impl ::protobuf::Message for CMsgGC_ServerQuestUpdateData { self.binary_data = ::std::option::Option::None; self.mm_game_mode = ::std::option::Option::None; self.missionlbsdata.clear(); + self.flags = ::std::option::Option::None; self.special_fields.clear(); } @@ -10034,6 +10070,7 @@ impl ::protobuf::Message for CMsgGC_ServerQuestUpdateData { binary_data: ::std::option::Option::None, mm_game_mode: ::std::option::Option::None, missionlbsdata: ::protobuf::MessageField::none(), + flags: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -25522,6 +25559,8 @@ pub struct CEconItemPreviewDataBlock { pub entindex: ::std::option::Option, // @@protoc_insertion_point(field:CEconItemPreviewDataBlock.petindex) pub petindex: ::std::option::Option, + // @@protoc_insertion_point(field:CEconItemPreviewDataBlock.keychains) + pub keychains: ::std::vec::Vec, // special fields // @@protoc_insertion_point(special_field:CEconItemPreviewDataBlock.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -25898,7 +25937,7 @@ impl CEconItemPreviewDataBlock { } fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(19); + let mut fields = ::std::vec::Vec::with_capacity(20); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "accountid", @@ -25995,6 +26034,11 @@ impl CEconItemPreviewDataBlock { |m: &CEconItemPreviewDataBlock| { &m.petindex }, |m: &mut CEconItemPreviewDataBlock| { &mut m.petindex }, )); + fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( + "keychains", + |m: &CEconItemPreviewDataBlock| { &m.keychains }, + |m: &mut CEconItemPreviewDataBlock| { &mut m.keychains }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "CEconItemPreviewDataBlock", fields, @@ -26070,6 +26114,9 @@ impl ::protobuf::Message for CEconItemPreviewDataBlock { 152 => { self.petindex = ::std::option::Option::Some(is.read_uint32()?); }, + 162 => { + self.keychains.push(is.read_message()?); + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -26140,6 +26187,10 @@ impl ::protobuf::Message for CEconItemPreviewDataBlock { if let Some(v) = self.petindex { my_size += ::protobuf::rt::uint32_size(19, v); } + for value in &self.keychains { + let len = value.compute_size(); + my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + }; my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size @@ -26203,6 +26254,9 @@ impl ::protobuf::Message for CEconItemPreviewDataBlock { if let Some(v) = self.petindex { os.write_uint32(19, v)?; } + for v in &self.keychains { + ::protobuf::rt::write_message_field_with_cached_size(20, v, os)?; + }; os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -26239,6 +26293,7 @@ impl ::protobuf::Message for CEconItemPreviewDataBlock { self.musicindex = ::std::option::Option::None; self.entindex = ::std::option::Option::None; self.petindex = ::std::option::Option::None; + self.keychains.clear(); self.special_fields.clear(); } @@ -26263,6 +26318,7 @@ impl ::protobuf::Message for CEconItemPreviewDataBlock { musicindex: ::std::option::Option::None, entindex: ::std::option::Option::None, petindex: ::std::option::Option::None, + keychains: ::std::vec::Vec::new(), special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -46883,180 +46939,181 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \t\x20\x01(\x05R\totherPosX\x12\x1e\n\x0bother_pos_y\x18\n\x20\x01(\x05R\ \totherPosY\x12\x1e\n\x0bother_pos_z\x18\r\x20\x01(\x05R\totherPosZ\x12!\ \n\x0cother_defidx\x18\x0b\x20\x01(\rR\x0botherDefidx\x12\x1d\n\nevent_d\ - ata\x18\x0e\x20\x01(\x05R\teventData\"\xde\x01\n\x1cCMsgGC_ServerQuestUp\ + ata\x18\x0e\x20\x01(\x05R\teventData\"\xf4\x01\n\x1cCMsgGC_ServerQuestUp\ dateData\x12<\n\x11player_quest_data\x18\x01\x20\x03(\x0b2\x10.PlayerQue\ stDataR\x0fplayerQuestData\x12\x1f\n\x0bbinary_data\x18\x02\x20\x01(\x0c\ R\nbinaryData\x12\x20\n\x0cmm_game_mode\x18\x03\x20\x01(\rR\nmmGameMode\ \x12=\n\x0emissionlbsdata\x18\x04\x20\x01(\x0b2\x15.ScoreLeaderboardData\ - R\x0emissionlbsdata\"\x8e\x01\n.CMsgGCCStrike15_v2_MatchmakingGC2ServerC\ - onfirm\x12\x14\n\x05token\x18\x01\x20\x01(\rR\x05token\x12\x14\n\x05stam\ - p\x18\x02\x20\x01(\rR\x05stamp\x12\x1a\n\x08exchange\x18\x03\x20\x01(\ - \x04R\x08exchange\x12\x14\n\x05retry\x18\x04\x20\x01(\rR\x05retry\"\x9b\ - \x01\n-CMsgGCCStrike15_v2_GC2ServerReservationUpdate\x124\n\x16viewers_e\ - xternal_total\x18\x01\x20\x01(\rR\x14viewersExternalTotal\x124\n\x16view\ - ers_external_steam\x18\x02\x20\x01(\rR\x14viewersExternalSteam\"\xc6\x02\ - \n#CMsgGCCStrike15_v2_MatchmakingStart\x12\x1f\n\x0baccount_ids\x18\x01\ - \x20\x03(\rR\naccountIds\x12\x1b\n\tgame_type\x18\x02\x20\x01(\rR\x08gam\ - eType\x12\x1f\n\x0bticket_data\x18\x03\x20\x01(\tR\nticketData\x12%\n\ - \x0eclient_version\x18\x04\x20\x01(\rR\rclientVersion\x12@\n\x10tourname\ - nt_match\x18\x05\x20\x01(\x0b2\x15.TournamentMatchSetupR\x0ftournamentMa\ - tch\x12\x1d\n\nprime_only\x18\x06\x20\x01(\x08R\tprimeOnly\x12\x1d\n\ntv\ - _control\x18\x07\x20\x01(\rR\ttvControl\x12\x19\n\x08lobby_id\x18\x08\ - \x20\x01(\x04R\x07lobbyId\">\n\"CMsgGCCStrike15_v2_MatchmakingStop\x12\ - \x18\n\x07abandon\x18\x01\x20\x01(\x05R\x07abandon\"\x9c\x01\n2CMsgGCCSt\ - rike15_v2_MatchmakingGC2ClientUpdate_Note\x12\x12\n\x04type\x18\x01\x20\ - \x01(\x05R\x04type\x12\x1b\n\tregion_id\x18\x02\x20\x01(\x05R\x08regionI\ - d\x12\x19\n\x08region_r\x18\x03\x20\x01(\x02R\x07regionR\x12\x1a\n\x08di\ - stance\x18\x04\x20\x01(\x02R\x08distance\"\xb6\x03\n/CMsgGCCStrike15_v2_\ - MatchmakingClient2ServerPing\x129\n\x0fgameserverpings\x18\x01\x20\x03(\ - \x0b2\x0f.GameServerPingR\x0fgameserverpings\x12!\n\x0coffset_index\x18\ - \x02\x20\x01(\x05R\x0boffsetIndex\x12\x1f\n\x0bfinal_batch\x18\x03\x20\ - \x01(\x05R\nfinalBatch\x12;\n\x11data_center_pings\x18\x04\x20\x03(\x0b2\ - \x0f.DataCenterPingR\x0fdataCenterPings\x12\x19\n\x08max_ping\x18\x05\ - \x20\x01(\rR\x07maxPing\x12\x1d\n\ntest_token\x18\x06\x20\x01(\x07R\ttes\ - tToken\x12\x1d\n\nsearch_key\x18\x07\x20\x01(\x0cR\tsearchKey\x12I\n\x05\ - notes\x18\x08\x20\x03(\x0b23.CMsgGCCStrike15_v2_MatchmakingGC2ClientUpda\ - te_NoteR\x05notes\x12#\n\rdebug_message\x18\t\x20\x01(\tR\x0cdebugMessag\ - e\"\x83\x08\n-CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate\x12\x20\n\ - \x0bmatchmaking\x18\x01\x20\x01(\x05R\x0bmatchmaking\x12=\n\x1bwaiting_a\ - ccount_id_sessions\x18\x02\x20\x03(\rR\x18waitingAccountIdSessions\x12\ - \x14\n\x05error\x18\x03\x20\x01(\tR\x05error\x12G\n\x20ongoingmatch_acco\ - unt_id_sessions\x18\x06\x20\x03(\rR\x1dongoingmatchAccountIdSessions\x12\ - 4\n\x0cglobal_stats\x18\x07\x20\x01(\x0b2\x11.GlobalStatisticsR\x0bgloba\ - lStats\x12?\n\x1cfailping_account_id_sessions\x18\x08\x20\x03(\rR\x19fai\ - lpingAccountIdSessions\x12=\n\x1bpenalty_account_id_sessions\x18\t\x20\ - \x03(\rR\x18penaltyAccountIdSessions\x12A\n\x1dfailready_account_id_sess\ - ions\x18\n\x20\x03(\rR\x1afailreadyAccountIdSessions\x12A\n\x1dvacbanned\ - _account_id_sessions\x18\x0b\x20\x03(\rR\x1avacbannedAccountIdSessions\ - \x12B\n\x15server_ipaddress_mask\x18\x0c\x20\x01(\x0b2\x0e.IpAddressMask\ - R\x13serverIpaddressMask\x12I\n\x05notes\x18\r\x20\x03(\x0b23.CMsgGCCStr\ - ike15_v2_MatchmakingGC2ClientUpdate_NoteR\x05notes\x12H\n!penalty_accoun\ - t_id_sessions_green\x18\x0e\x20\x03(\rR\x1dpenaltyAccountIdSessionsGreen\ - \x12=\n\x1ainsufficientlevel_sessions\x18\x0f\x20\x03(\rR\x19insufficien\ - tlevelSessions\x12?\n\x1cvsncheck_account_id_sessions\x18\x10\x20\x03(\r\ - R\x19vsncheckAccountIdSessions\x12<\n\x1alauncher_mismatch_sessions\x18\ - \x11\x20\x03(\rR\x18launcherMismatchSessions\x12?\n\x1cinsecure_account_\ - id_sessions\x18\x12\x20\x03(\rR\x19insecureAccountIdSessions\"\xc6\x06\n\ - (CDataGCCStrike15_v2_TournamentMatchDraft\x12\x19\n\x08event_id\x18\x01\ - \x20\x01(\x05R\x07eventId\x12$\n\x0eevent_stage_id\x18\x02\x20\x01(\x05R\ - \x0ceventStageId\x12\x1a\n\tteam_id_0\x18\x03\x20\x01(\x05R\x07teamId0\ - \x12\x1a\n\tteam_id_1\x18\x04\x20\x01(\x05R\x07teamId1\x12\x1d\n\nmaps_c\ - ount\x18\x05\x20\x01(\x05R\tmapsCount\x12!\n\x0cmaps_current\x18\x06\x20\ - \x01(\x05R\x0bmapsCurrent\x12\"\n\rteam_id_start\x18\x07\x20\x01(\x05R\ - \x0bteamIdStart\x12\"\n\rteam_id_veto1\x18\x08\x20\x01(\x05R\x0bteamIdVe\ - to1\x12\"\n\rteam_id_pickn\x18\t\x20\x01(\x05R\x0bteamIdPickn\x12G\n\x06\ - drafts\x18\n\x20\x03(\x0b2/.CDataGCCStrike15_v2_TournamentMatchDraft.Ent\ - ryR\x06drafts\x12\x20\n\x0cvote_mapid_0\x18\x0b\x20\x03(\x05R\nvoteMapid\ - 0\x12\x20\n\x0cvote_mapid_1\x18\x0c\x20\x03(\x05R\nvoteMapid1\x12\x20\n\ - \x0cvote_mapid_2\x18\r\x20\x03(\x05R\nvoteMapid2\x12\x20\n\x0cvote_mapid\ - _3\x18\x0e\x20\x03(\x05R\nvoteMapid3\x12\x20\n\x0cvote_mapid_4\x18\x0f\ - \x20\x03(\x05R\nvoteMapid4\x12\x20\n\x0cvote_mapid_5\x18\x10\x20\x03(\ - \x05R\nvoteMapid5\x12,\n\x12vote_starting_side\x18\x11\x20\x03(\x05R\x10\ - voteStartingSide\x12\x1d\n\nvote_phase\x18\x12\x20\x01(\x05R\tvotePhase\ - \x12(\n\x10vote_phase_start\x18\x13\x20\x01(\x02R\x0evotePhaseStart\x12*\ - \n\x11vote_phase_length\x18\x14\x20\x01(\x02R\x0fvotePhaseLength\x1a;\n\ - \x05Entry\x12\x14\n\x05mapid\x18\x01\x20\x01(\x05R\x05mapid\x12\x1c\n\nt\ - eam_id_ct\x18\x02\x20\x01(\x05R\x08teamIdCt\"\xcf\x02\n\x11CPreMatchInfo\ - Data\x12'\n\x0fpredictions_pct\x18\x01\x20\x01(\x05R\x0epredictionsPct\ - \x12?\n\x05draft\x18\x04\x20\x01(\x0b2).CDataGCCStrike15_v2_TournamentMa\ - tchDraftR\x05draft\x122\n\x05stats\x18\x05\x20\x03(\x0b2\x1c.CPreMatchIn\ - foData.TeamStatsR\x05stats\x12\x12\n\x04wins\x18\x06\x20\x03(\x05R\x04wi\ - ns\x1a\x87\x01\n\tTeamStats\x12*\n\x11match_info_idxtxt\x18\x01\x20\x01(\ - \x05R\x0fmatchInfoIdxtxt\x12$\n\x0ematch_info_txt\x18\x02\x20\x01(\tR\ - \x0cmatchInfoTxt\x12(\n\x10match_info_teams\x18\x03\x20\x03(\tR\x0ematch\ - InfoTeams\"\x96\x07\n.CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve\x12\ - \x1f\n\x0baccount_ids\x18\x01\x20\x03(\rR\naccountIds\x12\x1b\n\tgame_ty\ - pe\x18\x02\x20\x01(\rR\x08gameType\x12\x19\n\x08match_id\x18\x03\x20\x01\ - (\x04R\x07matchId\x12%\n\x0eserver_version\x18\x04\x20\x01(\rR\rserverVe\ - rsion\x12\x14\n\x05flags\x18\x12\x20\x01(\rR\x05flags\x12.\n\x08rankings\ - \x18\x05\x20\x03(\x0b2\x12.PlayerRankingInfoR\x08rankings\x12%\n\x0eencr\ - yption_key\x18\x06\x20\x01(\x04R\rencryptionKey\x12,\n\x12encryption_key\ - _pub\x18\x07\x20\x01(\x04R\x10encryptionKeyPub\x12\x1b\n\tparty_ids\x18\ - \x08\x20\x03(\rR\x08partyIds\x12,\n\twhitelist\x18\t\x20\x03(\x0b2\x0e.I\ - pAddressMaskR\twhitelist\x12*\n\x11tv_master_steamid\x18\n\x20\x01(\x04R\ - \x0ftvMasterSteamid\x12;\n\x10tournament_event\x18\x0b\x20\x01(\x0b2\x10\ - .TournamentEventR\x0ftournamentEvent\x12:\n\x10tournament_teams\x18\x0c\ - \x20\x03(\x0b2\x0f.TournamentTeamR\x0ftournamentTeams\x12C\n\x1etourname\ - nt_casters_account_ids\x18\r\x20\x03(\rR\x1btournamentCastersAccountIds\ - \x12(\n\x10tv_relay_steamid\x18\x0e\x20\x01(\x04R\x0etvRelaySteamid\x128\ - \n\x0epre_match_data\x18\x0f\x20\x01(\x0b2\x12.CPreMatchInfoDataR\x0cpre\ - MatchData\x12.\n\x13rtime32_event_start\x18\x10\x20\x01(\rR\x11rtime32Ev\ - entStart\x12\x1d\n\ntv_control\x18\x11\x20\x01(\rR\ttvControl\x128\n\rop\ - _var_values\x18\x13\x20\x03(\x0b2\x14.OperationalVarValueR\x0bopVarValue\ - s\x12'\n\x0fsocache_control\x18\x14\x20\x01(\rR\x0esocacheControl\"\x91\ - \x07\n7CMsgGCCStrike15_v2_MatchmakingServerReservationResponse\x12$\n\rr\ - eservationid\x18\x01\x20\x01(\x04R\rreservationid\x12Q\n\x0breservation\ - \x18\x02\x20\x01(\x0b2/.CMsgGCCStrike15_v2_MatchmakingGC2ServerReserveR\ - \x0breservation\x12\x10\n\x03map\x18\x03\x20\x01(\tR\x03map\x12.\n\x13gc\ - _reservation_sent\x18\x04\x20\x01(\x04R\x11gcReservationSent\x12%\n\x0es\ - erver_version\x18\x05\x20\x01(\rR\rserverVersion\x12(\n\x07tv_info\x18\ - \x06\x20\x01(\x0b2\x0f.ServerHltvInfoR\x06tvInfo\x124\n\x16reward_player\ - _accounts\x18\x07\x20\x03(\rR\x14rewardPlayerAccounts\x120\n\x14idle_pla\ - yer_accounts\x18\x08\x20\x03(\rR\x12idlePlayerAccounts\x126\n\x18reward_\ - item_attr_def_idx\x18\t\x20\x01(\rR\x14rewardItemAttrDefIdx\x123\n\x16re\ - ward_item_attr_value\x18\n\x20\x01(\rR\x13rewardItemAttrValue\x12<\n\x1b\ - reward_item_attr_reward_idx\x18\x0b\x20\x01(\rR\x17rewardItemAttrRewardI\ - dx\x12(\n\x10reward_drop_list\x18\x0c\x20\x01(\rR\x0erewardDropList\x12%\ - \n\x0etournament_tag\x18\r\x20\x01(\tR\rtournamentTag\x12:\n\x19legacy_s\ - teamdatagram_port\x18\x0e\x20\x01(\rR\x17legacySteamdatagramPort\x123\n\ - \x15steamdatagram_routing\x18\x11\x20\x01(\rR\x14steamdatagramRouting\ - \x12\x1d\n\ntest_token\x18\x0f\x20\x01(\x07R\ttestToken\x12\x14\n\x05fla\ - gs\x18\x10\x20\x01(\rR\x05flags\x12\x1f\n\x0bsystem_load\x18\x12\x20\x01\ - (\rR\nsystemLoad\x12\x1f\n\x0bcpus_online\x18\x13\x20\x01(\rR\ncpusOnlin\ - e\"\x9a\x03\n.CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve\x12\x1a\n\ - \x08serverid\x18\x01\x20\x01(\x04R\x08serverid\x12\"\n\rdirect_udp_ip\ - \x18\x02\x20\x01(\rR\x0bdirectUdpIp\x12&\n\x0fdirect_udp_port\x18\x03\ - \x20\x01(\rR\rdirectUdpPort\x12$\n\rreservationid\x18\x04\x20\x01(\x04R\ - \rreservationid\x12Q\n\x0breservation\x18\x05\x20\x01(\x0b2/.CMsgGCCStri\ - ke15_v2_MatchmakingGC2ServerReserveR\x0breservation\x12\x10\n\x03map\x18\ - \x06\x20\x01(\tR\x03map\x12%\n\x0eserver_address\x18\x07\x20\x01(\tR\rse\ - rverAddress\x12(\n\x07gs_ping\x18\x08\x20\x01(\x0b2\x0f.DataCenterPingR\ - \x06gsPing\x12$\n\x0egs_location_id\x18\t\x20\x01(\rR\x0cgsLocationId\"\ - \x89\n\n.CMsgGCCStrike15_v2_MatchmakingServerRoundStats\x12$\n\rreservat\ - ionid\x18\x01\x20\x01(\x04R\rreservationid\x12Q\n\x0breservation\x18\x02\ - \x20\x01(\x0b2/.CMsgGCCStrike15_v2_MatchmakingGC2ServerReserveR\x0breser\ - vation\x12\x10\n\x03map\x18\x03\x20\x01(\tR\x03map\x12\x14\n\x05round\ - \x18\x04\x20\x01(\x05R\x05round\x12\x14\n\x05kills\x18\x05\x20\x03(\x05R\ - \x05kills\x12\x18\n\x07assists\x18\x06\x20\x03(\x05R\x07assists\x12\x16\ - \n\x06deaths\x18\x07\x20\x03(\x05R\x06deaths\x12\x16\n\x06scores\x18\x08\ - \x20\x03(\x05R\x06scores\x12\x14\n\x05pings\x18\t\x20\x03(\x05R\x05pings\ - \x12!\n\x0cround_result\x18\n\x20\x01(\x05R\x0broundResult\x12!\n\x0cmat\ - ch_result\x18\x0b\x20\x01(\x05R\x0bmatchResult\x12\x1f\n\x0bteam_scores\ - \x18\x0c\x20\x03(\x05R\nteamScores\x12I\n\x07confirm\x18\r\x20\x01(\x0b2\ - /.CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirmR\x07confirm\x12+\n\x11r\ - eservation_stage\x18\x0e\x20\x01(\x05R\x10reservationStage\x12%\n\x0emat\ - ch_duration\x18\x0f\x20\x01(\x05R\rmatchDuration\x12\x1f\n\x0benemy_kill\ - s\x18\x10\x20\x03(\x05R\nenemyKills\x12'\n\x0fenemy_headshots\x18\x11\ - \x20\x03(\x05R\x0eenemyHeadshots\x12\x1b\n\tenemy_3ks\x18\x12\x20\x03(\ - \x05R\x08enemy3ks\x12\x1b\n\tenemy_4ks\x18\x13\x20\x03(\x05R\x08enemy4ks\ - \x12\x1b\n\tenemy_5ks\x18\x14\x20\x03(\x05R\x08enemy5ks\x12\x12\n\x04mvp\ - s\x18\x15\x20\x03(\x05R\x04mvps\x12)\n\x10spectators_count\x18\x16\x20\ - \x01(\rR\x0fspectatorsCount\x12.\n\x13spectators_count_tv\x18\x17\x20\ - \x01(\rR\x11spectatorsCountTv\x120\n\x14spectators_count_lnk\x18\x18\x20\ - \x01(\rR\x12spectatorsCountLnk\x12&\n\x0fenemy_kills_agg\x18\x19\x20\x03\ - (\x05R\renemyKillsAgg\x12U\n\tdrop_info\x18\x1a\x20\x01(\x0b28.CMsgGCCSt\ - rike15_v2_MatchmakingServerRoundStats.DropInfoR\x08dropInfo\x12(\n\x10b_\ - switched_teams\x18\x1b\x20\x01(\x08R\x0ebSwitchedTeams\x12\x1b\n\tenemy_\ - 2ks\x18\x1c\x20\x03(\x05R\x08enemy2ks\x12%\n\x0eplayer_spawned\x18\x1d\ - \x20\x03(\x05R\rplayerSpawned\x12(\n\x10team_spawn_count\x18\x1e\x20\x03\ - (\x05R\x0eteamSpawnCount\x12\x1d\n\nmax_rounds\x18\x1f\x20\x01(\rR\tmaxR\ - ounds\x12\x15\n\x06map_id\x18\x20\x20\x01(\x05R\x05mapId\x1a+\n\x08DropI\ - nfo\x12\x1f\n\x0baccount_mvp\x18\x01\x20\x01(\rR\naccountMvp\".\n,CMsgGC\ - CStrike15_v2_MatchmakingClient2GCHello\"\xf6\x07\n,CMsgGCCStrike15_v2_Ma\ - tchmakingGC2ClientHello\x12\x1d\n\naccount_id\x18\x01\x20\x01(\rR\taccou\ - ntId\x12S\n\x0congoingmatch\x18\x02\x20\x01(\x0b2/.CMsgGCCStrike15_v2_Ma\ - tchmakingGC2ClientReserveR\x0congoingmatch\x124\n\x0cglobal_stats\x18\ - \x03\x20\x01(\x0b2\x11.GlobalStatisticsR\x0bglobalStats\x12'\n\x0fpenalt\ - y_seconds\x18\x04\x20\x01(\rR\x0epenaltySeconds\x12%\n\x0epenalty_reason\ - \x18\x05\x20\x01(\rR\rpenaltyReason\x12\x1d\n\nvac_banned\x18\x06\x20\ - \x01(\x05R\tvacBanned\x12,\n\x07ranking\x18\x07\x20\x01(\x0b2\x12.Player\ - RankingInfoR\x07ranking\x12;\n\x0ccommendation\x18\x08\x20\x01(\x0b2\x17\ - .PlayerCommendationInfoR\x0ccommendation\x12)\n\x06medals\x18\t\x20\x01(\ - \x0b2\x11.PlayerMedalsInfoR\x06medals\x12:\n\x10my_current_event\x18\n\ - \x20\x01(\x0b2\x10.TournamentEventR\x0emyCurrentEvent\x12D\n\x16my_curre\ - nt_event_teams\x18\x0b\x20\x03(\x0b2\x0f.TournamentTeamR\x13myCurrentEve\ - ntTeams\x127\n\x0fmy_current_team\x18\x0c\x20\x01(\x0b2\x0f.TournamentTe\ - amR\rmyCurrentTeam\x12G\n\x17my_current_event_stages\x18\r\x20\x03(\x0b2\ + R\x0emissionlbsdata\x12\x14\n\x05flags\x18\x05\x20\x01(\rR\x05flags\"\ + \x8e\x01\n.CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm\x12\x14\n\x05t\ + oken\x18\x01\x20\x01(\rR\x05token\x12\x14\n\x05stamp\x18\x02\x20\x01(\rR\ + \x05stamp\x12\x1a\n\x08exchange\x18\x03\x20\x01(\x04R\x08exchange\x12\ + \x14\n\x05retry\x18\x04\x20\x01(\rR\x05retry\"\x9b\x01\n-CMsgGCCStrike15\ + _v2_GC2ServerReservationUpdate\x124\n\x16viewers_external_total\x18\x01\ + \x20\x01(\rR\x14viewersExternalTotal\x124\n\x16viewers_external_steam\ + \x18\x02\x20\x01(\rR\x14viewersExternalSteam\"\xc6\x02\n#CMsgGCCStrike15\ + _v2_MatchmakingStart\x12\x1f\n\x0baccount_ids\x18\x01\x20\x03(\rR\naccou\ + ntIds\x12\x1b\n\tgame_type\x18\x02\x20\x01(\rR\x08gameType\x12\x1f\n\x0b\ + ticket_data\x18\x03\x20\x01(\tR\nticketData\x12%\n\x0eclient_version\x18\ + \x04\x20\x01(\rR\rclientVersion\x12@\n\x10tournament_match\x18\x05\x20\ + \x01(\x0b2\x15.TournamentMatchSetupR\x0ftournamentMatch\x12\x1d\n\nprime\ + _only\x18\x06\x20\x01(\x08R\tprimeOnly\x12\x1d\n\ntv_control\x18\x07\x20\ + \x01(\rR\ttvControl\x12\x19\n\x08lobby_id\x18\x08\x20\x01(\x04R\x07lobby\ + Id\">\n\"CMsgGCCStrike15_v2_MatchmakingStop\x12\x18\n\x07abandon\x18\x01\ + \x20\x01(\x05R\x07abandon\"\x9c\x01\n2CMsgGCCStrike15_v2_MatchmakingGC2C\ + lientUpdate_Note\x12\x12\n\x04type\x18\x01\x20\x01(\x05R\x04type\x12\x1b\ + \n\tregion_id\x18\x02\x20\x01(\x05R\x08regionId\x12\x19\n\x08region_r\ + \x18\x03\x20\x01(\x02R\x07regionR\x12\x1a\n\x08distance\x18\x04\x20\x01(\ + \x02R\x08distance\"\xb6\x03\n/CMsgGCCStrike15_v2_MatchmakingClient2Serve\ + rPing\x129\n\x0fgameserverpings\x18\x01\x20\x03(\x0b2\x0f.GameServerPing\ + R\x0fgameserverpings\x12!\n\x0coffset_index\x18\x02\x20\x01(\x05R\x0boff\ + setIndex\x12\x1f\n\x0bfinal_batch\x18\x03\x20\x01(\x05R\nfinalBatch\x12;\ + \n\x11data_center_pings\x18\x04\x20\x03(\x0b2\x0f.DataCenterPingR\x0fdat\ + aCenterPings\x12\x19\n\x08max_ping\x18\x05\x20\x01(\rR\x07maxPing\x12\ + \x1d\n\ntest_token\x18\x06\x20\x01(\x07R\ttestToken\x12\x1d\n\nsearch_ke\ + y\x18\x07\x20\x01(\x0cR\tsearchKey\x12I\n\x05notes\x18\x08\x20\x03(\x0b2\ + 3.CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate_NoteR\x05notes\x12#\n\rd\ + ebug_message\x18\t\x20\x01(\tR\x0cdebugMessage\"\x83\x08\n-CMsgGCCStrike\ + 15_v2_MatchmakingGC2ClientUpdate\x12\x20\n\x0bmatchmaking\x18\x01\x20\ + \x01(\x05R\x0bmatchmaking\x12=\n\x1bwaiting_account_id_sessions\x18\x02\ + \x20\x03(\rR\x18waitingAccountIdSessions\x12\x14\n\x05error\x18\x03\x20\ + \x01(\tR\x05error\x12G\n\x20ongoingmatch_account_id_sessions\x18\x06\x20\ + \x03(\rR\x1dongoingmatchAccountIdSessions\x124\n\x0cglobal_stats\x18\x07\ + \x20\x01(\x0b2\x11.GlobalStatisticsR\x0bglobalStats\x12?\n\x1cfailping_a\ + ccount_id_sessions\x18\x08\x20\x03(\rR\x19failpingAccountIdSessions\x12=\ + \n\x1bpenalty_account_id_sessions\x18\t\x20\x03(\rR\x18penaltyAccountIdS\ + essions\x12A\n\x1dfailready_account_id_sessions\x18\n\x20\x03(\rR\x1afai\ + lreadyAccountIdSessions\x12A\n\x1dvacbanned_account_id_sessions\x18\x0b\ + \x20\x03(\rR\x1avacbannedAccountIdSessions\x12B\n\x15server_ipaddress_ma\ + sk\x18\x0c\x20\x01(\x0b2\x0e.IpAddressMaskR\x13serverIpaddressMask\x12I\ + \n\x05notes\x18\r\x20\x03(\x0b23.CMsgGCCStrike15_v2_MatchmakingGC2Client\ + Update_NoteR\x05notes\x12H\n!penalty_account_id_sessions_green\x18\x0e\ + \x20\x03(\rR\x1dpenaltyAccountIdSessionsGreen\x12=\n\x1ainsufficientleve\ + l_sessions\x18\x0f\x20\x03(\rR\x19insufficientlevelSessions\x12?\n\x1cvs\ + ncheck_account_id_sessions\x18\x10\x20\x03(\rR\x19vsncheckAccountIdSessi\ + ons\x12<\n\x1alauncher_mismatch_sessions\x18\x11\x20\x03(\rR\x18launcher\ + MismatchSessions\x12?\n\x1cinsecure_account_id_sessions\x18\x12\x20\x03(\ + \rR\x19insecureAccountIdSessions\"\xc6\x06\n(CDataGCCStrike15_v2_Tournam\ + entMatchDraft\x12\x19\n\x08event_id\x18\x01\x20\x01(\x05R\x07eventId\x12\ + $\n\x0eevent_stage_id\x18\x02\x20\x01(\x05R\x0ceventStageId\x12\x1a\n\tt\ + eam_id_0\x18\x03\x20\x01(\x05R\x07teamId0\x12\x1a\n\tteam_id_1\x18\x04\ + \x20\x01(\x05R\x07teamId1\x12\x1d\n\nmaps_count\x18\x05\x20\x01(\x05R\tm\ + apsCount\x12!\n\x0cmaps_current\x18\x06\x20\x01(\x05R\x0bmapsCurrent\x12\ + \"\n\rteam_id_start\x18\x07\x20\x01(\x05R\x0bteamIdStart\x12\"\n\rteam_i\ + d_veto1\x18\x08\x20\x01(\x05R\x0bteamIdVeto1\x12\"\n\rteam_id_pickn\x18\ + \t\x20\x01(\x05R\x0bteamIdPickn\x12G\n\x06drafts\x18\n\x20\x03(\x0b2/.CD\ + ataGCCStrike15_v2_TournamentMatchDraft.EntryR\x06drafts\x12\x20\n\x0cvot\ + e_mapid_0\x18\x0b\x20\x03(\x05R\nvoteMapid0\x12\x20\n\x0cvote_mapid_1\ + \x18\x0c\x20\x03(\x05R\nvoteMapid1\x12\x20\n\x0cvote_mapid_2\x18\r\x20\ + \x03(\x05R\nvoteMapid2\x12\x20\n\x0cvote_mapid_3\x18\x0e\x20\x03(\x05R\n\ + voteMapid3\x12\x20\n\x0cvote_mapid_4\x18\x0f\x20\x03(\x05R\nvoteMapid4\ + \x12\x20\n\x0cvote_mapid_5\x18\x10\x20\x03(\x05R\nvoteMapid5\x12,\n\x12v\ + ote_starting_side\x18\x11\x20\x03(\x05R\x10voteStartingSide\x12\x1d\n\nv\ + ote_phase\x18\x12\x20\x01(\x05R\tvotePhase\x12(\n\x10vote_phase_start\ + \x18\x13\x20\x01(\x02R\x0evotePhaseStart\x12*\n\x11vote_phase_length\x18\ + \x14\x20\x01(\x02R\x0fvotePhaseLength\x1a;\n\x05Entry\x12\x14\n\x05mapid\ + \x18\x01\x20\x01(\x05R\x05mapid\x12\x1c\n\nteam_id_ct\x18\x02\x20\x01(\ + \x05R\x08teamIdCt\"\xcf\x02\n\x11CPreMatchInfoData\x12'\n\x0fpredictions\ + _pct\x18\x01\x20\x01(\x05R\x0epredictionsPct\x12?\n\x05draft\x18\x04\x20\ + \x01(\x0b2).CDataGCCStrike15_v2_TournamentMatchDraftR\x05draft\x122\n\ + \x05stats\x18\x05\x20\x03(\x0b2\x1c.CPreMatchInfoData.TeamStatsR\x05stat\ + s\x12\x12\n\x04wins\x18\x06\x20\x03(\x05R\x04wins\x1a\x87\x01\n\tTeamSta\ + ts\x12*\n\x11match_info_idxtxt\x18\x01\x20\x01(\x05R\x0fmatchInfoIdxtxt\ + \x12$\n\x0ematch_info_txt\x18\x02\x20\x01(\tR\x0cmatchInfoTxt\x12(\n\x10\ + match_info_teams\x18\x03\x20\x03(\tR\x0ematchInfoTeams\"\x96\x07\n.CMsgG\ + CCStrike15_v2_MatchmakingGC2ServerReserve\x12\x1f\n\x0baccount_ids\x18\ + \x01\x20\x03(\rR\naccountIds\x12\x1b\n\tgame_type\x18\x02\x20\x01(\rR\ + \x08gameType\x12\x19\n\x08match_id\x18\x03\x20\x01(\x04R\x07matchId\x12%\ + \n\x0eserver_version\x18\x04\x20\x01(\rR\rserverVersion\x12\x14\n\x05fla\ + gs\x18\x12\x20\x01(\rR\x05flags\x12.\n\x08rankings\x18\x05\x20\x03(\x0b2\ + \x12.PlayerRankingInfoR\x08rankings\x12%\n\x0eencryption_key\x18\x06\x20\ + \x01(\x04R\rencryptionKey\x12,\n\x12encryption_key_pub\x18\x07\x20\x01(\ + \x04R\x10encryptionKeyPub\x12\x1b\n\tparty_ids\x18\x08\x20\x03(\rR\x08pa\ + rtyIds\x12,\n\twhitelist\x18\t\x20\x03(\x0b2\x0e.IpAddressMaskR\twhiteli\ + st\x12*\n\x11tv_master_steamid\x18\n\x20\x01(\x04R\x0ftvMasterSteamid\ + \x12;\n\x10tournament_event\x18\x0b\x20\x01(\x0b2\x10.TournamentEventR\ + \x0ftournamentEvent\x12:\n\x10tournament_teams\x18\x0c\x20\x03(\x0b2\x0f\ + .TournamentTeamR\x0ftournamentTeams\x12C\n\x1etournament_casters_account\ + _ids\x18\r\x20\x03(\rR\x1btournamentCastersAccountIds\x12(\n\x10tv_relay\ + _steamid\x18\x0e\x20\x01(\x04R\x0etvRelaySteamid\x128\n\x0epre_match_dat\ + a\x18\x0f\x20\x01(\x0b2\x12.CPreMatchInfoDataR\x0cpreMatchData\x12.\n\ + \x13rtime32_event_start\x18\x10\x20\x01(\rR\x11rtime32EventStart\x12\x1d\ + \n\ntv_control\x18\x11\x20\x01(\rR\ttvControl\x128\n\rop_var_values\x18\ + \x13\x20\x03(\x0b2\x14.OperationalVarValueR\x0bopVarValues\x12'\n\x0fsoc\ + ache_control\x18\x14\x20\x01(\rR\x0esocacheControl\"\x91\x07\n7CMsgGCCSt\ + rike15_v2_MatchmakingServerReservationResponse\x12$\n\rreservationid\x18\ + \x01\x20\x01(\x04R\rreservationid\x12Q\n\x0breservation\x18\x02\x20\x01(\ + \x0b2/.CMsgGCCStrike15_v2_MatchmakingGC2ServerReserveR\x0breservation\ + \x12\x10\n\x03map\x18\x03\x20\x01(\tR\x03map\x12.\n\x13gc_reservation_se\ + nt\x18\x04\x20\x01(\x04R\x11gcReservationSent\x12%\n\x0eserver_version\ + \x18\x05\x20\x01(\rR\rserverVersion\x12(\n\x07tv_info\x18\x06\x20\x01(\ + \x0b2\x0f.ServerHltvInfoR\x06tvInfo\x124\n\x16reward_player_accounts\x18\ + \x07\x20\x03(\rR\x14rewardPlayerAccounts\x120\n\x14idle_player_accounts\ + \x18\x08\x20\x03(\rR\x12idlePlayerAccounts\x126\n\x18reward_item_attr_de\ + f_idx\x18\t\x20\x01(\rR\x14rewardItemAttrDefIdx\x123\n\x16reward_item_at\ + tr_value\x18\n\x20\x01(\rR\x13rewardItemAttrValue\x12<\n\x1breward_item_\ + attr_reward_idx\x18\x0b\x20\x01(\rR\x17rewardItemAttrRewardIdx\x12(\n\ + \x10reward_drop_list\x18\x0c\x20\x01(\rR\x0erewardDropList\x12%\n\x0etou\ + rnament_tag\x18\r\x20\x01(\tR\rtournamentTag\x12:\n\x19legacy_steamdatag\ + ram_port\x18\x0e\x20\x01(\rR\x17legacySteamdatagramPort\x123\n\x15steamd\ + atagram_routing\x18\x11\x20\x01(\rR\x14steamdatagramRouting\x12\x1d\n\nt\ + est_token\x18\x0f\x20\x01(\x07R\ttestToken\x12\x14\n\x05flags\x18\x10\ + \x20\x01(\rR\x05flags\x12\x1f\n\x0bsystem_load\x18\x12\x20\x01(\rR\nsyst\ + emLoad\x12\x1f\n\x0bcpus_online\x18\x13\x20\x01(\rR\ncpusOnline\"\x9a\ + \x03\n.CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve\x12\x1a\n\x08serve\ + rid\x18\x01\x20\x01(\x04R\x08serverid\x12\"\n\rdirect_udp_ip\x18\x02\x20\ + \x01(\rR\x0bdirectUdpIp\x12&\n\x0fdirect_udp_port\x18\x03\x20\x01(\rR\rd\ + irectUdpPort\x12$\n\rreservationid\x18\x04\x20\x01(\x04R\rreservationid\ + \x12Q\n\x0breservation\x18\x05\x20\x01(\x0b2/.CMsgGCCStrike15_v2_Matchma\ + kingGC2ServerReserveR\x0breservation\x12\x10\n\x03map\x18\x06\x20\x01(\t\ + R\x03map\x12%\n\x0eserver_address\x18\x07\x20\x01(\tR\rserverAddress\x12\ + (\n\x07gs_ping\x18\x08\x20\x01(\x0b2\x0f.DataCenterPingR\x06gsPing\x12$\ + \n\x0egs_location_id\x18\t\x20\x01(\rR\x0cgsLocationId\"\x89\n\n.CMsgGCC\ + Strike15_v2_MatchmakingServerRoundStats\x12$\n\rreservationid\x18\x01\ + \x20\x01(\x04R\rreservationid\x12Q\n\x0breservation\x18\x02\x20\x01(\x0b\ + 2/.CMsgGCCStrike15_v2_MatchmakingGC2ServerReserveR\x0breservation\x12\ + \x10\n\x03map\x18\x03\x20\x01(\tR\x03map\x12\x14\n\x05round\x18\x04\x20\ + \x01(\x05R\x05round\x12\x14\n\x05kills\x18\x05\x20\x03(\x05R\x05kills\ + \x12\x18\n\x07assists\x18\x06\x20\x03(\x05R\x07assists\x12\x16\n\x06deat\ + hs\x18\x07\x20\x03(\x05R\x06deaths\x12\x16\n\x06scores\x18\x08\x20\x03(\ + \x05R\x06scores\x12\x14\n\x05pings\x18\t\x20\x03(\x05R\x05pings\x12!\n\ + \x0cround_result\x18\n\x20\x01(\x05R\x0broundResult\x12!\n\x0cmatch_resu\ + lt\x18\x0b\x20\x01(\x05R\x0bmatchResult\x12\x1f\n\x0bteam_scores\x18\x0c\ + \x20\x03(\x05R\nteamScores\x12I\n\x07confirm\x18\r\x20\x01(\x0b2/.CMsgGC\ + CStrike15_v2_MatchmakingGC2ServerConfirmR\x07confirm\x12+\n\x11reservati\ + on_stage\x18\x0e\x20\x01(\x05R\x10reservationStage\x12%\n\x0ematch_durat\ + ion\x18\x0f\x20\x01(\x05R\rmatchDuration\x12\x1f\n\x0benemy_kills\x18\ + \x10\x20\x03(\x05R\nenemyKills\x12'\n\x0fenemy_headshots\x18\x11\x20\x03\ + (\x05R\x0eenemyHeadshots\x12\x1b\n\tenemy_3ks\x18\x12\x20\x03(\x05R\x08e\ + nemy3ks\x12\x1b\n\tenemy_4ks\x18\x13\x20\x03(\x05R\x08enemy4ks\x12\x1b\n\ + \tenemy_5ks\x18\x14\x20\x03(\x05R\x08enemy5ks\x12\x12\n\x04mvps\x18\x15\ + \x20\x03(\x05R\x04mvps\x12)\n\x10spectators_count\x18\x16\x20\x01(\rR\ + \x0fspectatorsCount\x12.\n\x13spectators_count_tv\x18\x17\x20\x01(\rR\ + \x11spectatorsCountTv\x120\n\x14spectators_count_lnk\x18\x18\x20\x01(\rR\ + \x12spectatorsCountLnk\x12&\n\x0fenemy_kills_agg\x18\x19\x20\x03(\x05R\r\ + enemyKillsAgg\x12U\n\tdrop_info\x18\x1a\x20\x01(\x0b28.CMsgGCCStrike15_v\ + 2_MatchmakingServerRoundStats.DropInfoR\x08dropInfo\x12(\n\x10b_switched\ + _teams\x18\x1b\x20\x01(\x08R\x0ebSwitchedTeams\x12\x1b\n\tenemy_2ks\x18\ + \x1c\x20\x03(\x05R\x08enemy2ks\x12%\n\x0eplayer_spawned\x18\x1d\x20\x03(\ + \x05R\rplayerSpawned\x12(\n\x10team_spawn_count\x18\x1e\x20\x03(\x05R\ + \x0eteamSpawnCount\x12\x1d\n\nmax_rounds\x18\x1f\x20\x01(\rR\tmaxRounds\ + \x12\x15\n\x06map_id\x18\x20\x20\x01(\x05R\x05mapId\x1a+\n\x08DropInfo\ + \x12\x1f\n\x0baccount_mvp\x18\x01\x20\x01(\rR\naccountMvp\".\n,CMsgGCCSt\ + rike15_v2_MatchmakingClient2GCHello\"\xf6\x07\n,CMsgGCCStrike15_v2_Match\ + makingGC2ClientHello\x12\x1d\n\naccount_id\x18\x01\x20\x01(\rR\taccountI\ + d\x12S\n\x0congoingmatch\x18\x02\x20\x01(\x0b2/.CMsgGCCStrike15_v2_Match\ + makingGC2ClientReserveR\x0congoingmatch\x124\n\x0cglobal_stats\x18\x03\ + \x20\x01(\x0b2\x11.GlobalStatisticsR\x0bglobalStats\x12'\n\x0fpenalty_se\ + conds\x18\x04\x20\x01(\rR\x0epenaltySeconds\x12%\n\x0epenalty_reason\x18\ + \x05\x20\x01(\rR\rpenaltyReason\x12\x1d\n\nvac_banned\x18\x06\x20\x01(\ + \x05R\tvacBanned\x12,\n\x07ranking\x18\x07\x20\x01(\x0b2\x12.PlayerRanki\ + ngInfoR\x07ranking\x12;\n\x0ccommendation\x18\x08\x20\x01(\x0b2\x17.Play\ + erCommendationInfoR\x0ccommendation\x12)\n\x06medals\x18\t\x20\x01(\x0b2\ + \x11.PlayerMedalsInfoR\x06medals\x12:\n\x10my_current_event\x18\n\x20\ + \x01(\x0b2\x10.TournamentEventR\x0emyCurrentEvent\x12D\n\x16my_current_e\ + vent_teams\x18\x0b\x20\x03(\x0b2\x0f.TournamentTeamR\x13myCurrentEventTe\ + ams\x127\n\x0fmy_current_team\x18\x0c\x20\x01(\x0b2\x0f.TournamentTeamR\ + \rmyCurrentTeam\x12G\n\x17my_current_event_stages\x18\r\x20\x03(\x0b2\ \x10.TournamentEventR\x14myCurrentEventStages\x12\x1f\n\x0bsurvey_vote\ \x18\x0e\x20\x01(\rR\nsurveyVote\x12,\n\x08activity\x18\x0f\x20\x01(\x0b\ 2\x10.AccountActivityR\x08activity\x12!\n\x0cplayer_level\x18\x11\x20\ @@ -47204,7 +47261,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \n)CMsgGCCStrike15_v2_MatchEndRunRewardDrops\x12X\n\nserverinfo\x18\x03\ \x20\x01(\x0b28.CMsgGCCStrike15_v2_MatchmakingServerReservationResponseR\ \nserverinfo\x12N\n\x14match_end_quest_data\x18\x04\x20\x01(\x0b2\x1d.CM\ - sgGC_ServerQuestUpdateDataR\x11matchEndQuestData\"\xcf\x06\n\x19CEconIte\ + sgGC_ServerQuestUpdateDataR\x11matchEndQuestData\"\x91\x07\n\x19CEconIte\ mPreviewDataBlock\x12\x1c\n\taccountid\x18\x01\x20\x01(\rR\taccountid\ \x12\x16\n\x06itemid\x18\x02\x20\x01(\x04R\x06itemid\x12\x1a\n\x08defind\ ex\x18\x03\x20\x01(\rR\x08defindex\x12\x1e\n\npaintindex\x18\x04\x20\x01\ @@ -47220,40 +47277,41 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x07questid\x12\x1e\n\ndropreason\x18\x10\x20\x01(\rR\ndropreason\x12\ \x1e\n\nmusicindex\x18\x11\x20\x01(\rR\nmusicindex\x12\x1a\n\x08entindex\ \x18\x12\x20\x01(\x05R\x08entindex\x12\x1a\n\x08petindex\x18\x13\x20\x01\ - (\rR\x08petindex\x1a\xd1\x01\n\x07Sticker\x12\x12\n\x04slot\x18\x01\x20\ - \x01(\rR\x04slot\x12\x1d\n\nsticker_id\x18\x02\x20\x01(\rR\tstickerId\ - \x12\x12\n\x04wear\x18\x03\x20\x01(\x02R\x04wear\x12\x14\n\x05scale\x18\ - \x04\x20\x01(\x02R\x05scale\x12\x1a\n\x08rotation\x18\x05\x20\x01(\x02R\ - \x08rotation\x12\x17\n\x07tint_id\x18\x06\x20\x01(\rR\x06tintId\x12\x19\ - \n\x08offset_x\x18\x07\x20\x01(\x02R\x07offsetX\x12\x19\n\x08offset_y\ - \x18\x08\x20\x01(\x02R\x07offsetY\"l\n2CMsgGCCStrike15_v2_MatchEndReward\ - DropsNotification\x126\n\x08iteminfo\x18\x06\x20\x01(\x0b2\x1a.CEconItem\ - PreviewDataBlockR\x08iteminfo\"N\n\x14CMsgItemAcknowledged\x126\n\x08ite\ - minfo\x18\x01\x20\x01(\x0b2\x1a.CEconItemPreviewDataBlockR\x08iteminfo\"\ - \x9d\x01\n7CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest\x12\ - \x17\n\x07param_s\x18\x01\x20\x01(\x04R\x06paramS\x12\x17\n\x07param_a\ - \x18\x02\x20\x01(\x04R\x06paramA\x12\x17\n\x07param_d\x18\x03\x20\x01(\ - \x04R\x06paramD\x12\x17\n\x07param_m\x18\x04\x20\x01(\x04R\x06paramM\"r\ - \n8CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse\x126\n\x08it\ - eminfo\x18\x01\x20\x01(\x0b2\x1a.CEconItemPreviewDataBlockR\x08iteminfo\ - \"5\n3CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames\"R\n2CMsgGCCSt\ - rike15_v2_MatchListRequestLiveGameForUser\x12\x1c\n\taccountid\x18\x01\ - \x20\x01(\rR\taccountid\"R\n2CMsgGCCStrike15_v2_MatchListRequestRecentUs\ - erGames\x12\x1c\n\taccountid\x18\x01\x20\x01(\rR\taccountid\"N\n2CMsgGCC\ - Strike15_v2_MatchListRequestTournamentGames\x12\x18\n\x07eventid\x18\x01\ - \x20\x01(\x05R\x07eventid\"\x7f\n/CMsgGCCStrike15_v2_MatchListRequestFul\ - lGameInfo\x12\x18\n\x07matchid\x18\x01\x20\x01(\x04R\x07matchid\x12\x1c\ - \n\toutcomeid\x18\x02\x20\x01(\x04R\toutcomeid\x12\x14\n\x05token\x18\ - \x03\x20\x01(\rR\x05token\"\xd1\x02\n\x1dCDataGCCStrike15_v2_MatchInfo\ - \x12\x18\n\x07matchid\x18\x01\x20\x01(\x04R\x07matchid\x12\x1c\n\tmatcht\ - ime\x18\x02\x20\x01(\rR\tmatchtime\x12C\n\x12watchablematchinfo\x18\x03\ - \x20\x01(\x0b2\x13.WatchableMatchInfoR\x12watchablematchinfo\x12\\\n\x11\ - roundstats_legacy\x18\x04\x20\x01(\x0b2/.CMsgGCCStrike15_v2_MatchmakingS\ - erverRoundStatsR\x10roundstatsLegacy\x12U\n\rroundstatsall\x18\x05\x20\ - \x03(\x0b2/.CMsgGCCStrike15_v2_MatchmakingServerRoundStatsR\rroundstatsa\ - ll\"z\n'CDataGCCStrike15_v2_TournamentGroupTeam\x12\x17\n\x07team_id\x18\ - \x01\x20\x01(\x05R\x06teamId\x12\x14\n\x05score\x18\x02\x20\x01(\x05R\ - \x05score\x12\x20\n\x0bcorrectpick\x18\x03\x20\x01(\x08R\x0bcorrectpick\ + (\rR\x08petindex\x12@\n\tkeychains\x18\x14\x20\x03(\x0b2\".CEconItemPrev\ + iewDataBlock.StickerR\tkeychains\x1a\xd1\x01\n\x07Sticker\x12\x12\n\x04s\ + lot\x18\x01\x20\x01(\rR\x04slot\x12\x1d\n\nsticker_id\x18\x02\x20\x01(\r\ + R\tstickerId\x12\x12\n\x04wear\x18\x03\x20\x01(\x02R\x04wear\x12\x14\n\ + \x05scale\x18\x04\x20\x01(\x02R\x05scale\x12\x1a\n\x08rotation\x18\x05\ + \x20\x01(\x02R\x08rotation\x12\x17\n\x07tint_id\x18\x06\x20\x01(\rR\x06t\ + intId\x12\x19\n\x08offset_x\x18\x07\x20\x01(\x02R\x07offsetX\x12\x19\n\ + \x08offset_y\x18\x08\x20\x01(\x02R\x07offsetY\"l\n2CMsgGCCStrike15_v2_Ma\ + tchEndRewardDropsNotification\x126\n\x08iteminfo\x18\x06\x20\x01(\x0b2\ + \x1a.CEconItemPreviewDataBlockR\x08iteminfo\"N\n\x14CMsgItemAcknowledged\ + \x126\n\x08iteminfo\x18\x01\x20\x01(\x0b2\x1a.CEconItemPreviewDataBlockR\ + \x08iteminfo\"\x9d\x01\n7CMsgGCCStrike15_v2_Client2GCEconPreviewDataBloc\ + kRequest\x12\x17\n\x07param_s\x18\x01\x20\x01(\x04R\x06paramS\x12\x17\n\ + \x07param_a\x18\x02\x20\x01(\x04R\x06paramA\x12\x17\n\x07param_d\x18\x03\ + \x20\x01(\x04R\x06paramD\x12\x17\n\x07param_m\x18\x04\x20\x01(\x04R\x06p\ + aramM\"r\n8CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse\x126\ + \n\x08iteminfo\x18\x01\x20\x01(\x0b2\x1a.CEconItemPreviewDataBlockR\x08i\ + teminfo\"5\n3CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames\"R\n2CM\ + sgGCCStrike15_v2_MatchListRequestLiveGameForUser\x12\x1c\n\taccountid\ + \x18\x01\x20\x01(\rR\taccountid\"R\n2CMsgGCCStrike15_v2_MatchListRequest\ + RecentUserGames\x12\x1c\n\taccountid\x18\x01\x20\x01(\rR\taccountid\"N\n\ + 2CMsgGCCStrike15_v2_MatchListRequestTournamentGames\x12\x18\n\x07eventid\ + \x18\x01\x20\x01(\x05R\x07eventid\"\x7f\n/CMsgGCCStrike15_v2_MatchListRe\ + questFullGameInfo\x12\x18\n\x07matchid\x18\x01\x20\x01(\x04R\x07matchid\ + \x12\x1c\n\toutcomeid\x18\x02\x20\x01(\x04R\toutcomeid\x12\x14\n\x05toke\ + n\x18\x03\x20\x01(\rR\x05token\"\xd1\x02\n\x1dCDataGCCStrike15_v2_MatchI\ + nfo\x12\x18\n\x07matchid\x18\x01\x20\x01(\x04R\x07matchid\x12\x1c\n\tmat\ + chtime\x18\x02\x20\x01(\rR\tmatchtime\x12C\n\x12watchablematchinfo\x18\ + \x03\x20\x01(\x0b2\x13.WatchableMatchInfoR\x12watchablematchinfo\x12\\\n\ + \x11roundstats_legacy\x18\x04\x20\x01(\x0b2/.CMsgGCCStrike15_v2_Matchmak\ + ingServerRoundStatsR\x10roundstatsLegacy\x12U\n\rroundstatsall\x18\x05\ + \x20\x03(\x0b2/.CMsgGCCStrike15_v2_MatchmakingServerRoundStatsR\rroundst\ + atsall\"z\n'CDataGCCStrike15_v2_TournamentGroupTeam\x12\x17\n\x07team_id\ + \x18\x01\x20\x01(\x05R\x06teamId\x12\x14\n\x05score\x18\x02\x20\x01(\x05\ + R\x05score\x12\x20\n\x0bcorrectpick\x18\x03\x20\x01(\x08R\x0bcorrectpick\ \"\xd1\x03\n#CDataGCCStrike15_v2_TournamentGroup\x12\x18\n\x07groupid\ \x18\x01\x20\x01(\rR\x07groupid\x12\x12\n\x04name\x18\x02\x20\x01(\tR\ \x04name\x12\x12\n\x04desc\x18\x03\x20\x01(\tR\x04desc\x12*\n\x11picks__\ diff --git a/src/csgoproto/src/cstrike15_usermessages.rs b/src/csgoproto/src/cstrike15_usermessages.rs index 9e674f83..58e27b3a 100644 --- a/src/csgoproto/src/cstrike15_usermessages.rs +++ b/src/csgoproto/src/cstrike15_usermessages.rs @@ -18130,6 +18130,184 @@ impl ::protobuf::reflect::ProtobufValue for CCSUsrMsgPreMatchSayText { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } +// @@protoc_insertion_point(message:CCSUsrMsg_CounterStrafe) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CCSUsrMsg_CounterStrafe { + // message fields + // @@protoc_insertion_point(field:CCSUsrMsg_CounterStrafe.press_to_release_ns) + pub press_to_release_ns: ::std::option::Option, + // @@protoc_insertion_point(field:CCSUsrMsg_CounterStrafe.total_keys_down) + pub total_keys_down: ::std::option::Option, + // special fields + // @@protoc_insertion_point(special_field:CCSUsrMsg_CounterStrafe.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CCSUsrMsg_CounterStrafe { + fn default() -> &'a CCSUsrMsg_CounterStrafe { + ::default_instance() + } +} + +impl CCSUsrMsg_CounterStrafe { + pub fn new() -> CCSUsrMsg_CounterStrafe { + ::std::default::Default::default() + } + + // optional int32 press_to_release_ns = 1; + + pub fn press_to_release_ns(&self) -> i32 { + self.press_to_release_ns.unwrap_or(0) + } + + pub fn clear_press_to_release_ns(&mut self) { + self.press_to_release_ns = ::std::option::Option::None; + } + + pub fn has_press_to_release_ns(&self) -> bool { + self.press_to_release_ns.is_some() + } + + // Param is passed by value, moved + pub fn set_press_to_release_ns(&mut self, v: i32) { + self.press_to_release_ns = ::std::option::Option::Some(v); + } + + // optional int32 total_keys_down = 2; + + pub fn total_keys_down(&self) -> i32 { + self.total_keys_down.unwrap_or(0) + } + + pub fn clear_total_keys_down(&mut self) { + self.total_keys_down = ::std::option::Option::None; + } + + pub fn has_total_keys_down(&self) -> bool { + self.total_keys_down.is_some() + } + + // Param is passed by value, moved + pub fn set_total_keys_down(&mut self, v: i32) { + self.total_keys_down = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(2); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "press_to_release_ns", + |m: &CCSUsrMsg_CounterStrafe| { &m.press_to_release_ns }, + |m: &mut CCSUsrMsg_CounterStrafe| { &mut m.press_to_release_ns }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "total_keys_down", + |m: &CCSUsrMsg_CounterStrafe| { &m.total_keys_down }, + |m: &mut CCSUsrMsg_CounterStrafe| { &mut m.total_keys_down }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CCSUsrMsg_CounterStrafe", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CCSUsrMsg_CounterStrafe { + const NAME: &'static str = "CCSUsrMsg_CounterStrafe"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 8 => { + self.press_to_release_ns = ::std::option::Option::Some(is.read_int32()?); + }, + 16 => { + self.total_keys_down = ::std::option::Option::Some(is.read_int32()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.press_to_release_ns { + my_size += ::protobuf::rt::int32_size(1, v); + } + if let Some(v) = self.total_keys_down { + my_size += ::protobuf::rt::int32_size(2, v); + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.press_to_release_ns { + os.write_int32(1, v)?; + } + if let Some(v) = self.total_keys_down { + os.write_int32(2, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CCSUsrMsg_CounterStrafe { + CCSUsrMsg_CounterStrafe::new() + } + + fn clear(&mut self) { + self.press_to_release_ns = ::std::option::Option::None; + self.total_keys_down = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static CCSUsrMsg_CounterStrafe { + static instance: CCSUsrMsg_CounterStrafe = CCSUsrMsg_CounterStrafe { + press_to_release_ns: ::std::option::Option::None, + total_keys_down: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CCSUsrMsg_CounterStrafe { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CCSUsrMsg_CounterStrafe").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CCSUsrMsg_CounterStrafe { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CCSUsrMsg_CounterStrafe { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)] // @@protoc_insertion_point(enum:ECstrike15UserMessages) pub enum ECstrike15UserMessages { @@ -18283,6 +18461,8 @@ pub enum ECstrike15UserMessages { CS_UM_DeepStats = 381, // @@protoc_insertion_point(enum_value:ECstrike15UserMessages.CS_UM_ShootInfo) CS_UM_ShootInfo = 383, + // @@protoc_insertion_point(enum_value:ECstrike15UserMessages.CS_UM_CounterStrafe) + CS_UM_CounterStrafe = 385, } impl ::protobuf::Enum for ECstrike15UserMessages { @@ -18369,6 +18549,7 @@ impl ::protobuf::Enum for ECstrike15UserMessages { 380 => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_CurrentRoundOdds), 381 => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_DeepStats), 383 => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_ShootInfo), + 385 => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_CounterStrafe), _ => ::std::option::Option::None } } @@ -18450,6 +18631,7 @@ impl ::protobuf::Enum for ECstrike15UserMessages { "CS_UM_CurrentRoundOdds" => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_CurrentRoundOdds), "CS_UM_DeepStats" => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_DeepStats), "CS_UM_ShootInfo" => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_ShootInfo), + "CS_UM_CounterStrafe" => ::std::option::Option::Some(ECstrike15UserMessages::CS_UM_CounterStrafe), _ => ::std::option::Option::None } } @@ -18530,6 +18712,7 @@ impl ::protobuf::Enum for ECstrike15UserMessages { ECstrike15UserMessages::CS_UM_CurrentRoundOdds, ECstrike15UserMessages::CS_UM_DeepStats, ECstrike15UserMessages::CS_UM_ShootInfo, + ECstrike15UserMessages::CS_UM_CounterStrafe, ]; } @@ -18616,6 +18799,7 @@ impl ::protobuf::EnumFull for ECstrike15UserMessages { ECstrike15UserMessages::CS_UM_CurrentRoundOdds => 72, ECstrike15UserMessages::CS_UM_DeepStats => 73, ECstrike15UserMessages::CS_UM_ShootInfo => 74, + ECstrike15UserMessages::CS_UM_CounterStrafe => 75, }; Self::enum_descriptor().value_by_index(index) } @@ -18949,54 +19133,57 @@ static file_descriptor_proto_data: &'static [u8] = b"\ trike15_v2_MatchmakingGC2ServerReserveR\x0breservation\"h\n\x18CCSUsrMsg\ PreMatchSayText\x12\x1d\n\naccount_id\x18\x01\x20\x01(\rR\taccountId\x12\ \x12\n\x04text\x18\x02\x20\x01(\tR\x04text\x12\x19\n\x08all_chat\x18\x03\ - \x20\x01(\x08R\x07allChat*\x92\x0f\n\x16ECstrike15UserMessages\x12\x13\n\ - \x0eCS_UM_VGUIMenu\x10\xad\x02\x12\x11\n\x0cCS_UM_Geiger\x10\xae\x02\x12\ - \x10\n\x0bCS_UM_Train\x10\xaf\x02\x12\x12\n\rCS_UM_HudText\x10\xb0\x02\ - \x12\x12\n\rCS_UM_SayText\x10\xb1\x02\x12\x13\n\x0eCS_UM_SayText2\x10\ - \xb2\x02\x12\x12\n\rCS_UM_TextMsg\x10\xb3\x02\x12\x11\n\x0cCS_UM_HudMsg\ - \x10\xb4\x02\x12\x13\n\x0eCS_UM_ResetHud\x10\xb5\x02\x12\x14\n\x0fCS_UM_\ - GameTitle\x10\xb6\x02\x12\x10\n\x0bCS_UM_Shake\x10\xb8\x02\x12\x0f\n\nCS\ - _UM_Fade\x10\xb9\x02\x12\x11\n\x0cCS_UM_Rumble\x10\xba\x02\x12\x17\n\x12\ - CS_UM_CloseCaption\x10\xbb\x02\x12\x1d\n\x18CS_UM_CloseCaptionDirect\x10\ - \xbc\x02\x12\x14\n\x0fCS_UM_SendAudio\x10\xbd\x02\x12\x13\n\x0eCS_UM_Raw\ - Audio\x10\xbe\x02\x12\x14\n\x0fCS_UM_VoiceMask\x10\xbf\x02\x12\x17\n\x12\ - CS_UM_RequestState\x10\xc0\x02\x12\x11\n\x0cCS_UM_Damage\x10\xc1\x02\x12\ - \x14\n\x0fCS_UM_RadioText\x10\xc2\x02\x12\x13\n\x0eCS_UM_HintText\x10\ - \xc3\x02\x12\x16\n\x11CS_UM_KeyHintText\x10\xc4\x02\x12%\n\x20CS_UM_Proc\ - essSpottedEntityUpdate\x10\xc5\x02\x12\x17\n\x12CS_UM_ReloadEffect\x10\ - \xc6\x02\x12\x16\n\x11CS_UM_AdjustMoney\x10\xc7\x02\x12\x1a\n\x15CS_UM_U\ - pdateTeamMoney\x10\xc8\x02\x12\x1c\n\x17CS_UM_StopSpectatorMode\x10\xc9\ - \x02\x12\x12\n\rCS_UM_KillCam\x10\xca\x02\x12\x1b\n\x16CS_UM_DesiredTime\ - scale\x10\xcb\x02\x12\x1b\n\x16CS_UM_CurrentTimescale\x10\xcc\x02\x12\ - \x1b\n\x16CS_UM_AchievementEvent\x10\xcd\x02\x12\x1d\n\x18CS_UM_MatchEnd\ - Conditions\x10\xce\x02\x12\x1c\n\x17CS_UM_DisconnectToLobby\x10\xcf\x02\ - \x12\x1c\n\x17CS_UM_PlayerStatsUpdate\x10\xd0\x02\x12\x19\n\x14CS_UM_War\ - mupHasEnded\x10\xd2\x02\x12\x15\n\x10CS_UM_ClientInfo\x10\xd3\x02\x12\ - \x13\n\x0eCS_UM_XRankGet\x10\xd4\x02\x12\x13\n\x0eCS_UM_XRankUpd\x10\xd5\ - \x02\x12\x19\n\x14CS_UM_CallVoteFailed\x10\xd9\x02\x12\x14\n\x0fCS_UM_Vo\ - teStart\x10\xda\x02\x12\x13\n\x0eCS_UM_VotePass\x10\xdb\x02\x12\x15\n\ - \x10CS_UM_VoteFailed\x10\xdc\x02\x12\x14\n\x0fCS_UM_VoteSetup\x10\xdd\ - \x02\x12\x1e\n\x19CS_UM_ServerRankRevealAll\x10\xde\x02\x12'\n\"CS_UM_Se\ - ndLastKillerDamageToClient\x10\xdf\x02\x12\x1b\n\x16CS_UM_ServerRankUpda\ - te\x10\xe0\x02\x12\x15\n\x10CS_UM_ItemPickup\x10\xe1\x02\x12\x13\n\x0eCS\ - _UM_ShowMenu\x10\xe2\x02\x12\x12\n\rCS_UM_BarTime\x10\xe3\x02\x12\x15\n\ - \x10CS_UM_AmmoDenied\x10\xe4\x02\x12\x1a\n\x15CS_UM_MarkAchievement\x10\ - \xe5\x02\x12\x1b\n\x16CS_UM_MatchStatsUpdate\x10\xe6\x02\x12\x13\n\x0eCS\ - _UM_ItemDrop\x10\xe7\x02\x12\x1a\n\x15CS_UM_GlowPropTurnOff\x10\xe8\x02\ - \x12\x1e\n\x19CS_UM_SendPlayerItemDrops\x10\xe9\x02\x12\x1f\n\x1aCS_UM_R\ - oundBackupFilenames\x10\xea\x02\x12\x1e\n\x19CS_UM_SendPlayerItemFound\ - \x10\xeb\x02\x12\x14\n\x0fCS_UM_ReportHit\x10\xec\x02\x12\x13\n\x0eCS_UM\ - _XpUpdate\x10\xed\x02\x12\x18\n\x13CS_UM_QuestProgress\x10\xee\x02\x12\ - \x1f\n\x1aCS_UM_ScoreLeaderboardData\x10\xef\x02\x12&\n!CS_UM_PlayerDeca\ - lDigitalSignature\x10\xf0\x02\x12\x16\n\x11CS_UM_WeaponSound\x10\xf1\x02\ - \x12\x20\n\x1bCS_UM_UpdateScreenHealthBar\x10\xf2\x02\x12!\n\x1cCS_UM_En\ - tityOutlineHighlight\x10\xf3\x02\x12\x0f\n\nCS_UM_SSUI\x10\xf4\x02\x12\ - \x18\n\x13CS_UM_SurvivalStats\x10\xf5\x02\x12\x1d\n\x18CS_UM_DisconnectT\ - oLobby2\x10\xf6\x02\x12#\n\x1eCS_UM_EndOfMatchAllPlayersData\x10\xf7\x02\ - \x12\x20\n\x1bCS_UM_PostRoundDamageReport\x10\xf8\x02\x12\x1d\n\x18CS_UM\ - _RoundEndReportData\x10\xfb\x02\x12\x1b\n\x16CS_UM_CurrentRoundOdds\x10\ - \xfc\x02\x12\x14\n\x0fCS_UM_DeepStats\x10\xfd\x02\x12\x14\n\x0fCS_UM_Sho\ - otInfo\x10\xff\x02*\x88\x01\n\"ECSUsrMsg_DisconnectToLobby_Action\x120\n\ + \x20\x01(\x08R\x07allChat\"p\n\x17CCSUsrMsg_CounterStrafe\x12-\n\x13pres\ + s_to_release_ns\x18\x01\x20\x01(\x05R\x10pressToReleaseNs\x12&\n\x0ftota\ + l_keys_down\x18\x02\x20\x01(\x05R\rtotalKeysDown*\xac\x0f\n\x16ECstrike1\ + 5UserMessages\x12\x13\n\x0eCS_UM_VGUIMenu\x10\xad\x02\x12\x11\n\x0cCS_UM\ + _Geiger\x10\xae\x02\x12\x10\n\x0bCS_UM_Train\x10\xaf\x02\x12\x12\n\rCS_U\ + M_HudText\x10\xb0\x02\x12\x12\n\rCS_UM_SayText\x10\xb1\x02\x12\x13\n\x0e\ + CS_UM_SayText2\x10\xb2\x02\x12\x12\n\rCS_UM_TextMsg\x10\xb3\x02\x12\x11\ + \n\x0cCS_UM_HudMsg\x10\xb4\x02\x12\x13\n\x0eCS_UM_ResetHud\x10\xb5\x02\ + \x12\x14\n\x0fCS_UM_GameTitle\x10\xb6\x02\x12\x10\n\x0bCS_UM_Shake\x10\ + \xb8\x02\x12\x0f\n\nCS_UM_Fade\x10\xb9\x02\x12\x11\n\x0cCS_UM_Rumble\x10\ + \xba\x02\x12\x17\n\x12CS_UM_CloseCaption\x10\xbb\x02\x12\x1d\n\x18CS_UM_\ + CloseCaptionDirect\x10\xbc\x02\x12\x14\n\x0fCS_UM_SendAudio\x10\xbd\x02\ + \x12\x13\n\x0eCS_UM_RawAudio\x10\xbe\x02\x12\x14\n\x0fCS_UM_VoiceMask\ + \x10\xbf\x02\x12\x17\n\x12CS_UM_RequestState\x10\xc0\x02\x12\x11\n\x0cCS\ + _UM_Damage\x10\xc1\x02\x12\x14\n\x0fCS_UM_RadioText\x10\xc2\x02\x12\x13\ + \n\x0eCS_UM_HintText\x10\xc3\x02\x12\x16\n\x11CS_UM_KeyHintText\x10\xc4\ + \x02\x12%\n\x20CS_UM_ProcessSpottedEntityUpdate\x10\xc5\x02\x12\x17\n\ + \x12CS_UM_ReloadEffect\x10\xc6\x02\x12\x16\n\x11CS_UM_AdjustMoney\x10\ + \xc7\x02\x12\x1a\n\x15CS_UM_UpdateTeamMoney\x10\xc8\x02\x12\x1c\n\x17CS_\ + UM_StopSpectatorMode\x10\xc9\x02\x12\x12\n\rCS_UM_KillCam\x10\xca\x02\ + \x12\x1b\n\x16CS_UM_DesiredTimescale\x10\xcb\x02\x12\x1b\n\x16CS_UM_Curr\ + entTimescale\x10\xcc\x02\x12\x1b\n\x16CS_UM_AchievementEvent\x10\xcd\x02\ + \x12\x1d\n\x18CS_UM_MatchEndConditions\x10\xce\x02\x12\x1c\n\x17CS_UM_Di\ + sconnectToLobby\x10\xcf\x02\x12\x1c\n\x17CS_UM_PlayerStatsUpdate\x10\xd0\ + \x02\x12\x19\n\x14CS_UM_WarmupHasEnded\x10\xd2\x02\x12\x15\n\x10CS_UM_Cl\ + ientInfo\x10\xd3\x02\x12\x13\n\x0eCS_UM_XRankGet\x10\xd4\x02\x12\x13\n\ + \x0eCS_UM_XRankUpd\x10\xd5\x02\x12\x19\n\x14CS_UM_CallVoteFailed\x10\xd9\ + \x02\x12\x14\n\x0fCS_UM_VoteStart\x10\xda\x02\x12\x13\n\x0eCS_UM_VotePas\ + s\x10\xdb\x02\x12\x15\n\x10CS_UM_VoteFailed\x10\xdc\x02\x12\x14\n\x0fCS_\ + UM_VoteSetup\x10\xdd\x02\x12\x1e\n\x19CS_UM_ServerRankRevealAll\x10\xde\ + \x02\x12'\n\"CS_UM_SendLastKillerDamageToClient\x10\xdf\x02\x12\x1b\n\ + \x16CS_UM_ServerRankUpdate\x10\xe0\x02\x12\x15\n\x10CS_UM_ItemPickup\x10\ + \xe1\x02\x12\x13\n\x0eCS_UM_ShowMenu\x10\xe2\x02\x12\x12\n\rCS_UM_BarTim\ + e\x10\xe3\x02\x12\x15\n\x10CS_UM_AmmoDenied\x10\xe4\x02\x12\x1a\n\x15CS_\ + UM_MarkAchievement\x10\xe5\x02\x12\x1b\n\x16CS_UM_MatchStatsUpdate\x10\ + \xe6\x02\x12\x13\n\x0eCS_UM_ItemDrop\x10\xe7\x02\x12\x1a\n\x15CS_UM_Glow\ + PropTurnOff\x10\xe8\x02\x12\x1e\n\x19CS_UM_SendPlayerItemDrops\x10\xe9\ + \x02\x12\x1f\n\x1aCS_UM_RoundBackupFilenames\x10\xea\x02\x12\x1e\n\x19CS\ + _UM_SendPlayerItemFound\x10\xeb\x02\x12\x14\n\x0fCS_UM_ReportHit\x10\xec\ + \x02\x12\x13\n\x0eCS_UM_XpUpdate\x10\xed\x02\x12\x18\n\x13CS_UM_QuestPro\ + gress\x10\xee\x02\x12\x1f\n\x1aCS_UM_ScoreLeaderboardData\x10\xef\x02\ + \x12&\n!CS_UM_PlayerDecalDigitalSignature\x10\xf0\x02\x12\x16\n\x11CS_UM\ + _WeaponSound\x10\xf1\x02\x12\x20\n\x1bCS_UM_UpdateScreenHealthBar\x10\ + \xf2\x02\x12!\n\x1cCS_UM_EntityOutlineHighlight\x10\xf3\x02\x12\x0f\n\nC\ + S_UM_SSUI\x10\xf4\x02\x12\x18\n\x13CS_UM_SurvivalStats\x10\xf5\x02\x12\ + \x1d\n\x18CS_UM_DisconnectToLobby2\x10\xf6\x02\x12#\n\x1eCS_UM_EndOfMatc\ + hAllPlayersData\x10\xf7\x02\x12\x20\n\x1bCS_UM_PostRoundDamageReport\x10\ + \xf8\x02\x12\x1d\n\x18CS_UM_RoundEndReportData\x10\xfb\x02\x12\x1b\n\x16\ + CS_UM_CurrentRoundOdds\x10\xfc\x02\x12\x14\n\x0fCS_UM_DeepStats\x10\xfd\ + \x02\x12\x14\n\x0fCS_UM_ShootInfo\x10\xff\x02\x12\x18\n\x13CS_UM_Counter\ + Strafe\x10\x81\x03*\x88\x01\n\"ECSUsrMsg_DisconnectToLobby_Action\x120\n\ ,k_ECSUsrMsg_DisconnectToLobby_Action_Default\x10\0\x120\n,k_ECSUsrMsg_D\ isconnectToLobby_Action_GoQueue\x10\x01\ "; @@ -19018,7 +19205,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { let mut deps = ::std::vec::Vec::with_capacity(2); deps.push(super::networkbasetypes::file_descriptor().clone()); deps.push(super::cstrike15_gcmessages::file_descriptor().clone()); - let mut messages = ::std::vec::Vec::with_capacity(86); + let mut messages = ::std::vec::Vec::with_capacity(87); messages.push(CCSUsrMsg_VGUIMenu::generated_message_descriptor_data()); messages.push(CCSUsrMsg_Geiger::generated_message_descriptor_data()); messages.push(CCSUsrMsg_Train::generated_message_descriptor_data()); @@ -19090,6 +19277,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(CCSUsrMsg_ClientInfo::generated_message_descriptor_data()); messages.push(CCSUsrMsg_ServerRankRevealAll::generated_message_descriptor_data()); messages.push(CCSUsrMsgPreMatchSayText::generated_message_descriptor_data()); + messages.push(CCSUsrMsg_CounterStrafe::generated_message_descriptor_data()); messages.push(ccsusr_msg_vguimenu::Keys::generated_message_descriptor_data()); messages.push(ccsusr_msg_voice_mask::PlayerMask::generated_message_descriptor_data()); messages.push(ccsusr_msg_process_spotted_entity_update::SpottedEntityUpdate::generated_message_descriptor_data()); diff --git a/src/csgoproto/src/lib.rs b/src/csgoproto/src/lib.rs index 8568c39f..6815f42b 100644 --- a/src/csgoproto/src/lib.rs +++ b/src/csgoproto/src/lib.rs @@ -1,3 +1,4 @@ +pub mod cs_usercmd; pub mod cstrike15_gcmessages; pub mod cstrike15_usermessages; pub mod demo; @@ -7,4 +8,5 @@ pub mod netmessages; pub mod network_connection; pub mod networkbasetypes; pub mod steammessages; +pub mod usercmd; pub mod usermessages; diff --git a/src/csgoproto/src/main.rs b/src/csgoproto/src/main.rs index a566a5c5..7361da41 100644 --- a/src/csgoproto/src/main.rs +++ b/src/csgoproto/src/main.rs @@ -4,6 +4,7 @@ fn main() { .includes(&["Protobufs/csgo/"]) .input("Protobufs/csgo/demo.proto") .input("Protobufs/csgo/cstrike15_gcmessages.proto") + .input("Protobufs/csgo/cstrike15_usermessages.proto") .input("Protobufs/csgo/usermessages.proto") .input("Protobufs/csgo/networkbasetypes.proto") .input("Protobufs/csgo/engine_gcmessages.proto") @@ -11,7 +12,9 @@ fn main() { .input("Protobufs/csgo/netmessages.proto") .input("Protobufs/csgo/network_connection.proto") .input("Protobufs/csgo/gcsdk_gcmessages.proto") - .out_dir("src2/") + .input("Protobufs/csgo/cs_usercmd.proto") + .input("Protobufs/csgo/usercmd.proto") + .out_dir("src/") .customize(protobuf_codegen::Customize::default().tokio_bytes(true)) .run_from_script(); } diff --git a/src/csgoproto/src/mod.rs b/src/csgoproto/src/mod.rs new file mode 100644 index 00000000..aeaeab50 --- /dev/null +++ b/src/csgoproto/src/mod.rs @@ -0,0 +1,14 @@ +// @generated + +pub mod cs_usercmd; +pub mod cstrike15_gcmessages; +pub mod cstrike15_usermessages; +pub mod demo; +pub mod engine_gcmessages; +pub mod gcsdk_gcmessages; +pub mod netmessages; +pub mod network_connection; +pub mod networkbasetypes; +pub mod steammessages; +pub mod usercmd; +pub mod usermessages; diff --git a/src/csgoproto/src/netmessages.rs b/src/csgoproto/src/netmessages.rs index 23cec659..cb58d0c8 100644 --- a/src/csgoproto/src/netmessages.rs +++ b/src/csgoproto/src/netmessages.rs @@ -2369,201 +2369,6 @@ impl ::protobuf::reflect::ProtobufValue for CCLCMsg_SplitPlayerConnect { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } -// @@protoc_insertion_point(message:CCLCMsg_ClientMessage) -#[derive(PartialEq,Clone,Default,Debug)] -pub struct CCLCMsg_ClientMessage { - // message fields - // @@protoc_insertion_point(field:CCLCMsg_ClientMessage.msg_type) - pub msg_type: ::std::option::Option, - // @@protoc_insertion_point(field:CCLCMsg_ClientMessage.data) - pub data: ::std::option::Option<::bytes::Bytes>, - // special fields - // @@protoc_insertion_point(special_field:CCLCMsg_ClientMessage.special_fields) - pub special_fields: ::protobuf::SpecialFields, -} - -impl<'a> ::std::default::Default for &'a CCLCMsg_ClientMessage { - fn default() -> &'a CCLCMsg_ClientMessage { - ::default_instance() - } -} - -impl CCLCMsg_ClientMessage { - pub fn new() -> CCLCMsg_ClientMessage { - ::std::default::Default::default() - } - - // optional int32 msg_type = 1; - - pub fn msg_type(&self) -> i32 { - self.msg_type.unwrap_or(0) - } - - pub fn clear_msg_type(&mut self) { - self.msg_type = ::std::option::Option::None; - } - - pub fn has_msg_type(&self) -> bool { - self.msg_type.is_some() - } - - // Param is passed by value, moved - pub fn set_msg_type(&mut self, v: i32) { - self.msg_type = ::std::option::Option::Some(v); - } - - // optional bytes data = 2; - - pub fn data(&self) -> &[u8] { - match self.data.as_ref() { - Some(v) => v, - None => &[], - } - } - - pub fn clear_data(&mut self) { - self.data = ::std::option::Option::None; - } - - pub fn has_data(&self) -> bool { - self.data.is_some() - } - - // Param is passed by value, moved - pub fn set_data(&mut self, v: ::bytes::Bytes) { - self.data = ::std::option::Option::Some(v); - } - - // Mutable pointer to the field. - // If field is not initialized, it is initialized with default value first. - pub fn mut_data(&mut self) -> &mut ::bytes::Bytes { - if self.data.is_none() { - self.data = ::std::option::Option::Some(::bytes::Bytes::new()); - } - self.data.as_mut().unwrap() - } - - // Take field - pub fn take_data(&mut self) -> ::bytes::Bytes { - self.data.take().unwrap_or_else(|| ::bytes::Bytes::new()) - } - - fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(2); - let mut oneofs = ::std::vec::Vec::with_capacity(0); - fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( - "msg_type", - |m: &CCLCMsg_ClientMessage| { &m.msg_type }, - |m: &mut CCLCMsg_ClientMessage| { &mut m.msg_type }, - )); - fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( - "data", - |m: &CCLCMsg_ClientMessage| { &m.data }, - |m: &mut CCLCMsg_ClientMessage| { &mut m.data }, - )); - ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( - "CCLCMsg_ClientMessage", - fields, - oneofs, - ) - } -} - -impl ::protobuf::Message for CCLCMsg_ClientMessage { - const NAME: &'static str = "CCLCMsg_ClientMessage"; - - fn is_initialized(&self) -> bool { - true - } - - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { - while let Some(tag) = is.read_raw_tag_or_eof()? { - match tag { - 8 => { - self.msg_type = ::std::option::Option::Some(is.read_int32()?); - }, - 18 => { - self.data = ::std::option::Option::Some(is.read_tokio_bytes()?); - }, - tag => { - ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; - }, - }; - } - ::std::result::Result::Ok(()) - } - - // Compute sizes of nested messages - #[allow(unused_variables)] - fn compute_size(&self) -> u64 { - let mut my_size = 0; - if let Some(v) = self.msg_type { - my_size += ::protobuf::rt::int32_size(1, v); - } - if let Some(v) = self.data.as_ref() { - my_size += ::protobuf::rt::bytes_size(2, &v); - } - my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); - self.special_fields.cached_size().set(my_size as u32); - my_size - } - - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { - if let Some(v) = self.msg_type { - os.write_int32(1, v)?; - } - if let Some(v) = self.data.as_ref() { - os.write_bytes(2, v)?; - } - os.write_unknown_fields(self.special_fields.unknown_fields())?; - ::std::result::Result::Ok(()) - } - - fn special_fields(&self) -> &::protobuf::SpecialFields { - &self.special_fields - } - - fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { - &mut self.special_fields - } - - fn new() -> CCLCMsg_ClientMessage { - CCLCMsg_ClientMessage::new() - } - - fn clear(&mut self) { - self.msg_type = ::std::option::Option::None; - self.data = ::std::option::Option::None; - self.special_fields.clear(); - } - - fn default_instance() -> &'static CCLCMsg_ClientMessage { - static instance: CCLCMsg_ClientMessage = CCLCMsg_ClientMessage { - msg_type: ::std::option::Option::None, - data: ::std::option::Option::None, - special_fields: ::protobuf::SpecialFields::new(), - }; - &instance - } -} - -impl ::protobuf::MessageFull for CCLCMsg_ClientMessage { - fn descriptor() -> ::protobuf::reflect::MessageDescriptor { - static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); - descriptor.get(|| file_descriptor().message_by_package_relative_name("CCLCMsg_ClientMessage").unwrap()).clone() - } -} - -impl ::std::fmt::Display for CCLCMsg_ClientMessage { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - ::protobuf::text_format::fmt(self, f) - } -} - -impl ::protobuf::reflect::ProtobufValue for CCLCMsg_ClientMessage { - type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; -} - // @@protoc_insertion_point(message:CCLCMsg_SplitPlayerDisconnect) #[derive(PartialEq,Clone,Default,Debug)] pub struct CCLCMsg_SplitPlayerDisconnect { @@ -20195,6 +20000,8 @@ pub struct CMsgServerUserCmd { pub player_slot: ::std::option::Option, // @@protoc_insertion_point(field:CMsgServerUserCmd.server_tick_executed) pub server_tick_executed: ::std::option::Option, + // @@protoc_insertion_point(field:CMsgServerUserCmd.client_tick) + pub client_tick: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:CMsgServerUserCmd.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -20304,8 +20111,27 @@ impl CMsgServerUserCmd { self.server_tick_executed = ::std::option::Option::Some(v); } + // optional int32 client_tick = 5; + + pub fn client_tick(&self) -> i32 { + self.client_tick.unwrap_or(0) + } + + pub fn clear_client_tick(&mut self) { + self.client_tick = ::std::option::Option::None; + } + + pub fn has_client_tick(&self) -> bool { + self.client_tick.is_some() + } + + // Param is passed by value, moved + pub fn set_client_tick(&mut self, v: i32) { + self.client_tick = ::std::option::Option::Some(v); + } + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(4); + let mut fields = ::std::vec::Vec::with_capacity(5); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "data", @@ -20327,6 +20153,11 @@ impl CMsgServerUserCmd { |m: &CMsgServerUserCmd| { &m.server_tick_executed }, |m: &mut CMsgServerUserCmd| { &mut m.server_tick_executed }, )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "client_tick", + |m: &CMsgServerUserCmd| { &m.client_tick }, + |m: &mut CMsgServerUserCmd| { &mut m.client_tick }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "CMsgServerUserCmd", fields, @@ -20357,6 +20188,9 @@ impl ::protobuf::Message for CMsgServerUserCmd { 32 => { self.server_tick_executed = ::std::option::Option::Some(is.read_int32()?); }, + 40 => { + self.client_tick = ::std::option::Option::Some(is.read_int32()?); + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -20381,6 +20215,9 @@ impl ::protobuf::Message for CMsgServerUserCmd { if let Some(v) = self.server_tick_executed { my_size += ::protobuf::rt::int32_size(4, v); } + if let Some(v) = self.client_tick { + my_size += ::protobuf::rt::int32_size(5, v); + } my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); self.special_fields.cached_size().set(my_size as u32); my_size @@ -20399,6 +20236,9 @@ impl ::protobuf::Message for CMsgServerUserCmd { if let Some(v) = self.server_tick_executed { os.write_int32(4, v)?; } + if let Some(v) = self.client_tick { + os.write_int32(5, v)?; + } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -20420,6 +20260,7 @@ impl ::protobuf::Message for CMsgServerUserCmd { self.cmd_number = ::std::option::Option::None; self.player_slot = ::std::option::Option::None; self.server_tick_executed = ::std::option::Option::None; + self.client_tick = ::std::option::Option::None; self.special_fields.clear(); } @@ -20429,6 +20270,7 @@ impl ::protobuf::Message for CMsgServerUserCmd { cmd_number: ::std::option::Option::None, player_slot: ::std::option::Option::None, server_tick_executed: ::std::option::Option::None, + client_tick: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -20586,8 +20428,6 @@ pub enum CLC_Messages { clc_VoiceData = 22, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_BaselineAck) clc_BaselineAck = 23, - // @@protoc_insertion_point(enum_value:CLC_Messages.clc_ListenEvents) - clc_ListenEvents = 24, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_RespondCvarValue) clc_RespondCvarValue = 25, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_FileCRCCheck) @@ -20596,14 +20436,10 @@ pub enum CLC_Messages { clc_LoadingProgress = 27, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_SplitPlayerConnect) clc_SplitPlayerConnect = 28, - // @@protoc_insertion_point(enum_value:CLC_Messages.clc_ClientMessage) - clc_ClientMessage = 29, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_SplitPlayerDisconnect) clc_SplitPlayerDisconnect = 30, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_ServerStatus) clc_ServerStatus = 31, - // @@protoc_insertion_point(enum_value:CLC_Messages.clc_ServerPing) - clc_ServerPing = 32, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_RequestPause) clc_RequestPause = 33, // @@protoc_insertion_point(enum_value:CLC_Messages.clc_CmdKeyValues) @@ -20629,15 +20465,12 @@ impl ::protobuf::Enum for CLC_Messages { 21 => ::std::option::Option::Some(CLC_Messages::clc_Move), 22 => ::std::option::Option::Some(CLC_Messages::clc_VoiceData), 23 => ::std::option::Option::Some(CLC_Messages::clc_BaselineAck), - 24 => ::std::option::Option::Some(CLC_Messages::clc_ListenEvents), 25 => ::std::option::Option::Some(CLC_Messages::clc_RespondCvarValue), 26 => ::std::option::Option::Some(CLC_Messages::clc_FileCRCCheck), 27 => ::std::option::Option::Some(CLC_Messages::clc_LoadingProgress), 28 => ::std::option::Option::Some(CLC_Messages::clc_SplitPlayerConnect), - 29 => ::std::option::Option::Some(CLC_Messages::clc_ClientMessage), 30 => ::std::option::Option::Some(CLC_Messages::clc_SplitPlayerDisconnect), 31 => ::std::option::Option::Some(CLC_Messages::clc_ServerStatus), - 32 => ::std::option::Option::Some(CLC_Messages::clc_ServerPing), 33 => ::std::option::Option::Some(CLC_Messages::clc_RequestPause), 34 => ::std::option::Option::Some(CLC_Messages::clc_CmdKeyValues), 35 => ::std::option::Option::Some(CLC_Messages::clc_RconServerDetails), @@ -20653,15 +20486,12 @@ impl ::protobuf::Enum for CLC_Messages { "clc_Move" => ::std::option::Option::Some(CLC_Messages::clc_Move), "clc_VoiceData" => ::std::option::Option::Some(CLC_Messages::clc_VoiceData), "clc_BaselineAck" => ::std::option::Option::Some(CLC_Messages::clc_BaselineAck), - "clc_ListenEvents" => ::std::option::Option::Some(CLC_Messages::clc_ListenEvents), "clc_RespondCvarValue" => ::std::option::Option::Some(CLC_Messages::clc_RespondCvarValue), "clc_FileCRCCheck" => ::std::option::Option::Some(CLC_Messages::clc_FileCRCCheck), "clc_LoadingProgress" => ::std::option::Option::Some(CLC_Messages::clc_LoadingProgress), "clc_SplitPlayerConnect" => ::std::option::Option::Some(CLC_Messages::clc_SplitPlayerConnect), - "clc_ClientMessage" => ::std::option::Option::Some(CLC_Messages::clc_ClientMessage), "clc_SplitPlayerDisconnect" => ::std::option::Option::Some(CLC_Messages::clc_SplitPlayerDisconnect), "clc_ServerStatus" => ::std::option::Option::Some(CLC_Messages::clc_ServerStatus), - "clc_ServerPing" => ::std::option::Option::Some(CLC_Messages::clc_ServerPing), "clc_RequestPause" => ::std::option::Option::Some(CLC_Messages::clc_RequestPause), "clc_CmdKeyValues" => ::std::option::Option::Some(CLC_Messages::clc_CmdKeyValues), "clc_RconServerDetails" => ::std::option::Option::Some(CLC_Messages::clc_RconServerDetails), @@ -20676,15 +20506,12 @@ impl ::protobuf::Enum for CLC_Messages { CLC_Messages::clc_Move, CLC_Messages::clc_VoiceData, CLC_Messages::clc_BaselineAck, - CLC_Messages::clc_ListenEvents, CLC_Messages::clc_RespondCvarValue, CLC_Messages::clc_FileCRCCheck, CLC_Messages::clc_LoadingProgress, CLC_Messages::clc_SplitPlayerConnect, - CLC_Messages::clc_ClientMessage, CLC_Messages::clc_SplitPlayerDisconnect, CLC_Messages::clc_ServerStatus, - CLC_Messages::clc_ServerPing, CLC_Messages::clc_RequestPause, CLC_Messages::clc_CmdKeyValues, CLC_Messages::clc_RconServerDetails, @@ -20705,20 +20532,17 @@ impl ::protobuf::EnumFull for CLC_Messages { CLC_Messages::clc_Move => 1, CLC_Messages::clc_VoiceData => 2, CLC_Messages::clc_BaselineAck => 3, - CLC_Messages::clc_ListenEvents => 4, - CLC_Messages::clc_RespondCvarValue => 5, - CLC_Messages::clc_FileCRCCheck => 6, - CLC_Messages::clc_LoadingProgress => 7, - CLC_Messages::clc_SplitPlayerConnect => 8, - CLC_Messages::clc_ClientMessage => 9, - CLC_Messages::clc_SplitPlayerDisconnect => 10, - CLC_Messages::clc_ServerStatus => 11, - CLC_Messages::clc_ServerPing => 12, - CLC_Messages::clc_RequestPause => 13, - CLC_Messages::clc_CmdKeyValues => 14, - CLC_Messages::clc_RconServerDetails => 15, - CLC_Messages::clc_HltvReplay => 16, - CLC_Messages::clc_Diagnostic => 17, + CLC_Messages::clc_RespondCvarValue => 4, + CLC_Messages::clc_FileCRCCheck => 5, + CLC_Messages::clc_LoadingProgress => 6, + CLC_Messages::clc_SplitPlayerConnect => 7, + CLC_Messages::clc_SplitPlayerDisconnect => 8, + CLC_Messages::clc_ServerStatus => 9, + CLC_Messages::clc_RequestPause => 10, + CLC_Messages::clc_CmdKeyValues => 11, + CLC_Messages::clc_RconServerDetails => 12, + CLC_Messages::clc_HltvReplay => 13, + CLC_Messages::clc_Diagnostic => 14, }; Self::enum_descriptor().value_by_index(index) } @@ -20794,8 +20618,6 @@ pub enum SVC_Messages { svc_RconServerDetails = 71, // @@protoc_insertion_point(enum_value:SVC_Messages.svc_UserMessage) svc_UserMessage = 72, - // @@protoc_insertion_point(enum_value:SVC_Messages.svc_HltvReplay) - svc_HltvReplay = 73, // @@protoc_insertion_point(enum_value:SVC_Messages.svc_Broadcast_Command) svc_Broadcast_Command = 74, // @@protoc_insertion_point(enum_value:SVC_Messages.svc_HltvFixupOperatorStatus) @@ -20840,7 +20662,6 @@ impl ::protobuf::Enum for SVC_Messages { 70 => ::std::option::Option::Some(SVC_Messages::svc_FullFrameSplit), 71 => ::std::option::Option::Some(SVC_Messages::svc_RconServerDetails), 72 => ::std::option::Option::Some(SVC_Messages::svc_UserMessage), - 73 => ::std::option::Option::Some(SVC_Messages::svc_HltvReplay), 74 => ::std::option::Option::Some(SVC_Messages::svc_Broadcast_Command), 75 => ::std::option::Option::Some(SVC_Messages::svc_HltvFixupOperatorStatus), 76 => ::std::option::Option::Some(SVC_Messages::svc_UserCmds), @@ -20877,7 +20698,6 @@ impl ::protobuf::Enum for SVC_Messages { "svc_FullFrameSplit" => ::std::option::Option::Some(SVC_Messages::svc_FullFrameSplit), "svc_RconServerDetails" => ::std::option::Option::Some(SVC_Messages::svc_RconServerDetails), "svc_UserMessage" => ::std::option::Option::Some(SVC_Messages::svc_UserMessage), - "svc_HltvReplay" => ::std::option::Option::Some(SVC_Messages::svc_HltvReplay), "svc_Broadcast_Command" => ::std::option::Option::Some(SVC_Messages::svc_Broadcast_Command), "svc_HltvFixupOperatorStatus" => ::std::option::Option::Some(SVC_Messages::svc_HltvFixupOperatorStatus), "svc_UserCmds" => ::std::option::Option::Some(SVC_Messages::svc_UserCmds), @@ -20913,7 +20733,6 @@ impl ::protobuf::Enum for SVC_Messages { SVC_Messages::svc_FullFrameSplit, SVC_Messages::svc_RconServerDetails, SVC_Messages::svc_UserMessage, - SVC_Messages::svc_HltvReplay, SVC_Messages::svc_Broadcast_Command, SVC_Messages::svc_HltvFixupOperatorStatus, SVC_Messages::svc_UserCmds, @@ -20955,10 +20774,9 @@ impl ::protobuf::EnumFull for SVC_Messages { SVC_Messages::svc_FullFrameSplit => 24, SVC_Messages::svc_RconServerDetails => 25, SVC_Messages::svc_UserMessage => 26, - SVC_Messages::svc_HltvReplay => 27, - SVC_Messages::svc_Broadcast_Command => 28, - SVC_Messages::svc_HltvFixupOperatorStatus => 29, - SVC_Messages::svc_UserCmds => 30, + SVC_Messages::svc_Broadcast_Command => 27, + SVC_Messages::svc_HltvFixupOperatorStatus => 28, + SVC_Messages::svc_UserCmds => 29, }; Self::enum_descriptor().value_by_index(index) } @@ -21686,342 +21504,339 @@ static file_descriptor_proto_data: &'static [u8] = b"\ Filename\x12\x1a\n\x08filename\x18\x04\x20\x01(\tR\x08filename\x12\x10\n\ \x03crc\x18\x05\x20\x01(\x07R\x03crc\"5\n\x17CCLCMsg_LoadingProgress\x12\ \x1a\n\x08progress\x18\x01\x20\x01(\x05R\x08progress\"<\n\x1aCCLCMsg_Spl\ - itPlayerConnect\x12\x1e\n\nplayername\x18\x01\x20\x01(\tR\nplayername\"F\ - \n\x15CCLCMsg_ClientMessage\x12\x19\n\x08msg_type\x18\x01\x20\x01(\x05R\ - \x07msgType\x12\x12\n\x04data\x18\x02\x20\x01(\x0cR\x04data\"3\n\x1dCCLC\ - Msg_SplitPlayerDisconnect\x12\x12\n\x04slot\x18\x01\x20\x01(\x05R\x04slo\ - t\"6\n\x14CCLCMsg_ServerStatus\x12\x1e\n\nsimplified\x18\x01\x20\x01(\ - \x08R\nsimplified\"q\n\x14CCLCMsg_RequestPause\x128\n\npause_type\x18\ - \x01\x20\x01(\x0e2\x0f.RequestPause_t:\x08RP_PAUSER\tpauseType\x12\x1f\n\ - \x0bpause_group\x18\x02\x20\x01(\x05R\npauseGroup\"*\n\x14CCLCMsg_CmdKey\ - Values\x12\x12\n\x04data\x18\x01\x20\x01(\x0cR\x04data\"1\n\x19CCLCMsg_R\ - conServerDetails\x12\x14\n\x05token\x18\x01\x20\x01(\x0cR\x05token\"\xa6\ - \x04\n\x16CMsgSource2SystemSpecs\x12\x15\n\x06cpu_id\x18\x01\x20\x01(\tR\ - \x05cpuId\x12\x1b\n\tcpu_brand\x18\x02\x20\x01(\tR\x08cpuBrand\x12\x1b\n\ - \tcpu_model\x18\x03\x20\x01(\rR\x08cpuModel\x12(\n\x10cpu_num_physical\ - \x18\x04\x20\x01(\rR\x0ecpuNumPhysical\x121\n\x15ram_physical_total_mb\ - \x18\x15\x20\x01(\rR\x12ramPhysicalTotalMb\x129\n\x19gpu_rendersystem_dl\ - l_name\x18)\x20\x01(\tR\x16gpuRendersystemDllName\x12\"\n\rgpu_vendor_id\ - \x18*\x20\x01(\rR\x0bgpuVendorId\x12&\n\x0fgpu_driver_name\x18+\x20\x01(\ - \tR\rgpuDriverName\x125\n\x17gpu_driver_version_high\x18,\x20\x01(\rR\ - \x14gpuDriverVersionHigh\x123\n\x16gpu_driver_version_low\x18-\x20\x01(\ - \rR\x13gpuDriverVersionLow\x12/\n\x14gpu_dx_support_level\x18.\x20\x01(\ - \rR\x11gpuDxSupportLevel\x12:\n\x1agpu_texture_memory_size_mb\x18/\x20\ - \x01(\rR\x16gpuTextureMemorySizeMb\"\xd4\x02\n\x1eCMsgSource2VProfLiteRe\ - portItem\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12%\n\x0eactive_\ - samples\x18\x02\x20\x01(\rR\ractiveSamples\x12\x19\n\x08usec_max\x18\x03\ - \x20\x01(\rR\x07usecMax\x12&\n\x0fusec_avg_active\x18\x0b\x20\x01(\rR\ru\ - secAvgActive\x12&\n\x0fusec_p50_active\x18\x0c\x20\x01(\rR\rusecP50Activ\ - e\x12&\n\x0fusec_p99_active\x18\r\x20\x01(\rR\rusecP99Active\x12\x20\n\ - \x0cusec_avg_all\x18\x15\x20\x01(\rR\nusecAvgAll\x12\x20\n\x0cusec_p50_a\ - ll\x18\x16\x20\x01(\rR\nusecP50All\x12\x20\n\x0cusec_p99_all\x18\x17\x20\ - \x01(\rR\nusecP99All\"\xb5\x01\n\x1aCMsgSource2VProfLiteReport\x125\n\ - \x05total\x18\x01\x20\x01(\x0b2\x1f.CMsgSource2VProfLiteReportItemR\x05t\ - otal\x125\n\x05items\x18\x02\x20\x03(\x0b2\x1f.CMsgSource2VProfLiteRepor\ - tItemR\x05items\x12)\n\x10discarded_frames\x18\x03\x20\x01(\rR\x0fdiscar\ - dedFrames\"\x90\x01\n\x12CCLCMsg_Diagnostic\x12:\n\x0csystem_specs\x18\ - \x01\x20\x01(\x0b2\x17.CMsgSource2SystemSpecsR\x0bsystemSpecs\x12>\n\x0c\ - vprof_report\x18\x02\x20\x01(\x0b2\x1b.CMsgSource2VProfLiteReportR\x0bvp\ - rofReport\"\xe4\x03\n-CSource2Metrics_MatchPerfSummary_Notification\x12\ - \x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\x12\x1b\n\tgame_mode\x18\ - \x02\x20\x01(\tR\x08gameMode\x12&\n\x0fserver_build_id\x18\x03\x20\x01(\ - \rR\rserverBuildId\x12B\n\x0eserver_profile\x18\n\x20\x01(\x0b2\x1b.CMsg\ - Source2VProfLiteReportR\rserverProfile\x12O\n\x07clients\x18\x0b\x20\x03\ - (\x0b25.CSource2Metrics_MatchPerfSummary_Notification.ClientR\x07clients\ - \x12\x10\n\x03map\x18\x14\x20\x01(\tR\x03map\x1a\xb0\x01\n\x06Client\x12\ - :\n\x0csystem_specs\x18\x01\x20\x01(\x0b2\x17.CMsgSource2SystemSpecsR\ - \x0bsystemSpecs\x125\n\x07profile\x18\x02\x20\x01(\x0b2\x1b.CMsgSource2V\ - ProfLiteReportR\x07profile\x12\x19\n\x08build_id\x18\x03\x20\x01(\rR\x07\ - buildId\x12\x18\n\x07steamid\x18\n\x20\x01(\x06R\x07steamid\"\xc2\x04\n\ - \x12CSVCMsg_ServerInfo\x12\x1a\n\x08protocol\x18\x01\x20\x01(\x05R\x08pr\ - otocol\x12!\n\x0cserver_count\x18\x02\x20\x01(\x05R\x0bserverCount\x12!\ - \n\x0cis_dedicated\x18\x03\x20\x01(\x08R\x0bisDedicated\x12\x17\n\x07is_\ - hltv\x18\x04\x20\x01(\x08R\x06isHltv\x12\x11\n\x04c_os\x18\x06\x20\x01(\ - \x05R\x03cOs\x12\x1f\n\x0bmax_clients\x18\n\x20\x01(\x05R\nmaxClients\ - \x12\x1f\n\x0bmax_classes\x18\x0b\x20\x01(\x05R\nmaxClasses\x12#\n\x0bpl\ - ayer_slot\x18\x0c\x20\x01(\x05:\x02-1R\nplayerSlot\x12#\n\rtick_interval\ - \x18\r\x20\x01(\x02R\x0ctickInterval\x12\x19\n\x08game_dir\x18\x0e\x20\ - \x01(\tR\x07gameDir\x12\x19\n\x08map_name\x18\x0f\x20\x01(\tR\x07mapName\ - \x12\x19\n\x08sky_name\x18\x10\x20\x01(\tR\x07skyName\x12\x1b\n\thost_na\ - me\x18\x11\x20\x01(\tR\x08hostName\x12\x1d\n\naddon_name\x18\x12\x20\x01\ - (\tR\taddonName\x12Q\n\x13game_session_config\x18\x13\x20\x01(\x0b2!.CSV\ - CMsg_GameSessionConfigurationR\x11gameSessionConfig\x122\n\x15game_sessi\ - on_manifest\x18\x14\x20\x01(\x0cR\x13gameSessionManifest\"\xb8\x01\n\x11\ - CSVCMsg_ClassInfo\x12(\n\x10create_on_client\x18\x01\x20\x01(\x08R\x0ecr\ - eateOnClient\x124\n\x07classes\x18\x02\x20\x03(\x0b2\x1a.CSVCMsg_ClassIn\ - fo.class_tR\x07classes\x1aC\n\x07class_t\x12\x19\n\x08class_id\x18\x01\ - \x20\x01(\x05R\x07classId\x12\x1d\n\nclass_name\x18\x03\x20\x01(\tR\tcla\ - ssName\"*\n\x10CSVCMsg_SetPause\x12\x16\n\x06paused\x18\x01\x20\x01(\x08\ - R\x06paused\"`\n\x11CSVCMsg_VoiceInit\x12\x18\n\x07quality\x18\x01\x20\ - \x01(\x05R\x07quality\x12\x14\n\x05codec\x18\x02\x20\x01(\tR\x05codec\ - \x12\x1b\n\x07version\x18\x03\x20\x01(\x05:\x010R\x07version\"#\n\rCSVCM\ - sg_Print\x12\x12\n\x04text\x18\x01\x20\x01(\tR\x04text\"\xcc\x05\n\x0eCS\ - VCMsg_Sounds\x12%\n\x0ereliable_sound\x18\x01\x20\x01(\x08R\rreliableSou\ - nd\x123\n\x06sounds\x18\x02\x20\x03(\x0b2\x1b.CSVCMsg_Sounds.sounddata_t\ - R\x06sounds\x1a\xdd\x04\n\x0bsounddata_t\x12\x19\n\x08origin_x\x18\x01\ - \x20\x01(\x11R\x07originX\x12\x19\n\x08origin_y\x18\x02\x20\x01(\x11R\ - \x07originY\x12\x19\n\x08origin_z\x18\x03\x20\x01(\x11R\x07originZ\x12\ - \x16\n\x06volume\x18\x04\x20\x01(\rR\x06volume\x12\x1f\n\x0bdelay_value\ - \x18\x05\x20\x01(\x02R\ndelayValue\x12'\n\x0fsequence_number\x18\x06\x20\ - \x01(\x05R\x0esequenceNumber\x12%\n\x0centity_index\x18\x07\x20\x01(\x05\ - :\x02-1R\x0bentityIndex\x12\x18\n\x07channel\x18\x08\x20\x01(\x05R\x07ch\ - annel\x12\x14\n\x05pitch\x18\t\x20\x01(\x05R\x05pitch\x12\x14\n\x05flags\ - \x18\n\x20\x01(\x05R\x05flags\x12\x1b\n\tsound_num\x18\x0b\x20\x01(\rR\ - \x08soundNum\x12(\n\x10sound_num_handle\x18\x0c\x20\x01(\x07R\x0esoundNu\ - mHandle\x12%\n\x0espeaker_entity\x18\r\x20\x01(\x05R\rspeakerEntity\x12\ - \x1f\n\x0brandom_seed\x18\x0e\x20\x01(\x05R\nrandomSeed\x12\x1f\n\x0bsou\ - nd_level\x18\x0f\x20\x01(\x05R\nsoundLevel\x12\x1f\n\x0bis_sentence\x18\ - \x10\x20\x01(\x08R\nisSentence\x12\x1d\n\nis_ambient\x18\x11\x20\x01(\ - \x08R\tisAmbient\x12\x12\n\x04guid\x18\x12\x20\x01(\rR\x04guid\x12*\n\ - \x11sound_resource_id\x18\x13\x20\x01(\x06R\x0fsoundResourceId\"r\n\x10C\ - SVCMsg_Prefetch\x12\x1f\n\x0bsound_index\x18\x01\x20\x01(\x05R\nsoundInd\ - ex\x12=\n\rresource_type\x18\x02\x20\x01(\x0e2\r.PrefetchType:\tPFT_SOUN\ - DR\x0cresourceType\"P\n\x0fCSVCMsg_SetView\x12%\n\x0centity_index\x18\ - \x01\x20\x01(\x05:\x02-1R\x0bentityIndex\x12\x16\n\x04slot\x18\x02\x20\ - \x01(\x05:\x02-1R\x04slot\"Q\n\x10CSVCMsg_FixAngle\x12\x1a\n\x08relative\ - \x18\x01\x20\x01(\x08R\x08relative\x12!\n\x05angle\x18\x02\x20\x01(\x0b2\ - \x0b.CMsgQAngleR\x05angle\";\n\x16CSVCMsg_CrosshairAngle\x12!\n\x05angle\ - \x18\x01\x20\x01(\x0b2\x0b.CMsgQAngleR\x05angle\"\xcc\x01\n\x10CSVCMsg_B\ - SPDecal\x12\x1d\n\x03pos\x18\x01\x20\x01(\x0b2\x0b.CMsgVectorR\x03pos\ - \x12.\n\x13decal_texture_index\x18\x02\x20\x01(\x05R\x11decalTextureInde\ - x\x12%\n\x0centity_index\x18\x03\x20\x01(\x05:\x02-1R\x0bentityIndex\x12\ - \x1f\n\x0bmodel_index\x18\x04\x20\x01(\x05R\nmodelIndex\x12!\n\x0clow_pr\ - iority\x18\x05\x20\x01(\x08R\x0blowPriority\"\x97\x01\n\x13CSVCMsg_Split\ - Screen\x12E\n\x04type\x18\x01\x20\x01(\x0e2\x18.ESplitScreenMessageType:\ - \x17MSG_SPLITSCREEN_ADDUSERR\x04type\x12\x12\n\x04slot\x18\x02\x20\x01(\ - \x05R\x04slot\x12%\n\x0cplayer_index\x18\x03\x20\x01(\x05:\x02-1R\x0bpla\ - yerIndex\"K\n\x14CSVCMsg_GetCvarValue\x12\x16\n\x06cookie\x18\x01\x20\ - \x01(\x05R\x06cookie\x12\x1b\n\tcvar_name\x18\x02\x20\x01(\tR\x08cvarNam\ - e\"W\n\x0cCSVCMsg_Menu\x12\x1f\n\x0bdialog_type\x18\x01\x20\x01(\x05R\nd\ - ialogType\x12&\n\x0fmenu_key_values\x18\x02\x20\x01(\x0cR\rmenuKeyValues\ - \"m\n\x13CSVCMsg_UserMessage\x12\x19\n\x08msg_type\x18\x01\x20\x01(\x05R\ - \x07msgType\x12\x19\n\x08msg_data\x18\x02\x20\x01(\x0cR\x07msgData\x12\ - \x20\n\x0bpassthrough\x18\x03\x20\x01(\x05R\x0bpassthrough\"\xad\x03\n\ - \x11CSVCMsg_SendTable\x12\x15\n\x06is_end\x18\x01\x20\x01(\x08R\x05isEnd\ - \x12$\n\x0enet_table_name\x18\x02\x20\x01(\tR\x0cnetTableName\x12#\n\rne\ - eds_decoder\x18\x03\x20\x01(\x08R\x0cneedsDecoder\x123\n\x05props\x18\ - \x04\x20\x03(\x0b2\x1d.CSVCMsg_SendTable.sendprop_tR\x05props\x1a\x80\ - \x02\n\nsendprop_t\x12\x12\n\x04type\x18\x01\x20\x01(\x05R\x04type\x12\ - \x19\n\x08var_name\x18\x02\x20\x01(\tR\x07varName\x12\x14\n\x05flags\x18\ - \x03\x20\x01(\x05R\x05flags\x12\x1a\n\x08priority\x18\x04\x20\x01(\x05R\ - \x08priority\x12\x17\n\x07dt_name\x18\x05\x20\x01(\tR\x06dtName\x12!\n\ - \x0cnum_elements\x18\x06\x20\x01(\x05R\x0bnumElements\x12\x1b\n\tlow_val\ - ue\x18\x07\x20\x01(\x02R\x08lowValue\x12\x1d\n\nhigh_value\x18\x08\x20\ - \x01(\x02R\thighValue\x12\x19\n\x08num_bits\x18\t\x20\x01(\x05R\x07numBi\ - ts\"\xff\x01\n\x15CSVCMsg_GameEventList\x12E\n\x0bdescriptors\x18\x01\ - \x20\x03(\x0b2#.CSVCMsg_GameEventList.descriptor_tR\x0bdescriptors\x1a/\ - \n\x05key_t\x12\x12\n\x04type\x18\x01\x20\x01(\x05R\x04type\x12\x12\n\ - \x04name\x18\x02\x20\x01(\tR\x04name\x1an\n\x0cdescriptor_t\x12\x18\n\ - \x07eventid\x18\x01\x20\x01(\x05R\x07eventid\x12\x12\n\x04name\x18\x02\ - \x20\x01(\tR\x04name\x120\n\x04keys\x18\x03\x20\x03(\x0b2\x1c.CSVCMsg_Ga\ - meEventList.key_tR\x04keys\"\xf7\t\n\x16CSVCMsg_PacketEntities\x12\x1f\n\ - \x0bmax_entries\x18\x01\x20\x01(\x05R\nmaxEntries\x12'\n\x0fupdated_entr\ - ies\x18\x02\x20\x01(\x05R\x0eupdatedEntries\x12&\n\x0flegacy_is_delta\ - \x18\x03\x20\x01(\x08R\rlegacyIsDelta\x12'\n\x0fupdate_baseline\x18\x04\ - \x20\x01(\x08R\x0eupdateBaseline\x12\x1a\n\x08baseline\x18\x05\x20\x01(\ - \x05R\x08baseline\x12\x1d\n\ndelta_from\x18\x06\x20\x01(\x05R\tdeltaFrom\ - \x12\x1f\n\x0bentity_data\x18\x07\x20\x01(\x0cR\nentityData\x12,\n\x12pe\ - nding_full_frame\x18\x08\x20\x01(\x08R\x10pendingFullFrame\x128\n\x18act\ - ive_spawngroup_handle\x18\t\x20\x01(\rR\x16activeSpawngroupHandle\x12F\n\ - \x1fmax_spawngroup_creationsequence\x18\n\x20\x01(\rR\x1dmaxSpawngroupCr\ - eationsequence\x127\n\x18last_cmd_number_executed\x18\x0b\x20\x01(\rR\ - \x15lastCmdNumberExecuted\x12:\n\x1alast_cmd_number_recv_delta\x18\x11\ - \x20\x01(\x11R\x16lastCmdNumberRecvDelta\x12\x1f\n\x0bserver_tick\x18\ - \x0c\x20\x01(\rR\nserverTick\x12/\n\x13serialized_entities\x18\r\x20\x01\ - (\x0cR\x12serializedEntities\x12]\n\x13alternate_baselines\x18\x0f\x20\ - \x03(\x0b2,.CSVCMsg_PacketEntities.alternate_baseline_tR\x12alternateBas\ - elines\x12'\n\x10has_pvs_vis_bits\x18\x10\x20\x01(\rR\rhasPvsVisBits\x12\ - *\n\x0fcmd_recv_status\x18\x16\x20\x03(\x11R\rcmdRecvStatusB\x02\x10\x01\ - \x12l\n\x18non_transmitted_entities\x18\x13\x20\x01(\x0b22.CSVCMsg_Packe\ - tEntities.non_transmitted_entities_tR\x16nonTransmittedEntities\x127\n\ - \x18cq_starved_command_ticks\x18\x14\x20\x01(\rR\x15cqStarvedCommandTick\ - s\x12;\n\x1acq_discarded_command_ticks\x18\x15\x20\x01(\rR\x17cqDiscarde\ - dCommandTicks\x12\x20\n\x0bdev_padding\x18\xe7\x07\x20\x01(\x0cR\ndevPad\ - ding\x1a`\n\x14alternate_baseline_t\x12!\n\x0centity_index\x18\x01\x20\ - \x01(\x05R\x0bentityIndex\x12%\n\x0ebaseline_index\x18\x02\x20\x01(\x05R\ - \rbaselineIndex\x1aS\n\x1anon_transmitted_entities_t\x12!\n\x0cheader_co\ - unt\x18\x01\x20\x01(\x05R\x0bheaderCount\x12\x12\n\x04data\x18\x02\x20\ - \x01(\x0cR\x04data\"t\n\x14CSVCMsg_TempEntities\x12\x1a\n\x08reliable\ - \x18\x01\x20\x01(\x08R\x08reliable\x12\x1f\n\x0bnum_entries\x18\x02\x20\ - \x01(\x05R\nnumEntries\x12\x1f\n\x0bentity_data\x18\x03\x20\x01(\x0cR\ne\ - ntityData\"\x99\x03\n\x19CSVCMsg_CreateStringTable\x12\x12\n\x04name\x18\ - \x01\x20\x01(\tR\x04name\x12\x1f\n\x0bnum_entries\x18\x02\x20\x01(\x05R\ - \nnumEntries\x12/\n\x14user_data_fixed_size\x18\x03\x20\x01(\x08R\x11use\ - rDataFixedSize\x12$\n\x0euser_data_size\x18\x04\x20\x01(\x05R\x0cuserDat\ - aSize\x12-\n\x13user_data_size_bits\x18\x05\x20\x01(\x05R\x10userDataSiz\ - eBits\x12\x14\n\x05flags\x18\x06\x20\x01(\x05R\x05flags\x12\x1f\n\x0bstr\ - ing_data\x18\x07\x20\x01(\x0cR\nstringData\x12+\n\x11uncompressed_size\ - \x18\x08\x20\x01(\x05R\x10uncompressedSize\x12'\n\x0fdata_compressed\x18\ - \t\x20\x01(\x08R\x0edataCompressed\x124\n\x16using_varint_bitcounts\x18\ - \n\x20\x01(\x08R\x14usingVarintBitcounts\"\x87\x01\n\x19CSVCMsg_UpdateSt\ - ringTable\x12\x19\n\x08table_id\x18\x01\x20\x01(\x05R\x07tableId\x12.\n\ - \x13num_changed_entries\x18\x02\x20\x01(\x05R\x11numChangedEntries\x12\ - \x1f\n\x0bstring_data\x18\x03\x20\x01(\x0cR\nstringData\"\xe1\x01\n\x11C\ - SVCMsg_VoiceData\x12%\n\x05audio\x18\x01\x20\x01(\x0b2\x0f.CMsgVoiceAudi\ - oR\x05audio\x12\x1a\n\x06client\x18\x02\x20\x01(\x05:\x02-1R\x06client\ - \x12\x1c\n\tproximity\x18\x03\x20\x01(\x08R\tproximity\x12\x12\n\x04xuid\ - \x18\x04\x20\x01(\x06R\x04xuid\x12!\n\x0caudible_mask\x18\x05\x20\x01(\ - \x05R\x0baudibleMask\x12\x12\n\x04tick\x18\x06\x20\x01(\rR\x04tick\x12\ - \x20\n\x0bpassthrough\x18\x07\x20\x01(\x05R\x0bpassthrough\"f\n\x16CSVCM\ - sg_PacketReliable\x12\x12\n\x04tick\x18\x01\x20\x01(\x05R\x04tick\x12\"\ - \n\x0cmessagessize\x18\x02\x20\x01(\x05R\x0cmessagessize\x12\x14\n\x05st\ - ate\x18\x03\x20\x01(\x08R\x05state\"p\n\x16CSVCMsg_FullFrameSplit\x12\ - \x12\n\x04tick\x18\x01\x20\x01(\x05R\x04tick\x12\x18\n\x07section\x18\ - \x02\x20\x01(\x05R\x07section\x12\x14\n\x05total\x18\x03\x20\x01(\x05R\ - \x05total\x12\x12\n\x04data\x18\x04\x20\x01(\x0cR\x04data\"v\n\x12CSVCMs\ - g_HLTVStatus\x12\x16\n\x06master\x18\x01\x20\x01(\tR\x06master\x12\x18\n\ - \x07clients\x18\x02\x20\x01(\x05R\x07clients\x12\x14\n\x05slots\x18\x03\ - \x20\x01(\x05R\x05slots\x12\x18\n\x07proxies\x18\x04\x20\x01(\x05R\x07pr\ - oxies\"2\n\x15CSVCMsg_ServerSteamID\x12\x19\n\x08steam_id\x18\x01\x20\ - \x01(\x04R\x07steamId\"*\n\x14CSVCMsg_CmdKeyValues\x12\x12\n\x04data\x18\ - \x01\x20\x01(\x0cR\x04data\"K\n\x19CSVCMsg_RconServerDetails\x12\x14\n\ - \x05token\x18\x01\x20\x01(\x0cR\x05token\x12\x18\n\x07details\x18\x02\ - \x20\x01(\tR\x07details\"T\n\x0eCMsgIPCAddress\x12#\n\rcomputer_guid\x18\ - \x01\x20\x01(\x06R\x0ccomputerGuid\x12\x1d\n\nprocess_id\x18\x02\x20\x01\ - (\rR\tprocessId\"\xec\x01\n\x0eCMsgServerPeer\x12#\n\x0bplayer_slot\x18\ - \x01\x20\x01(\x05:\x02-1R\nplayerSlot\x12\x18\n\x07steamid\x18\x02\x20\ - \x01(\x06R\x07steamid\x12!\n\x03ipc\x18\x03\x20\x01(\x0b2\x0f.CMsgIPCAdd\ - ressR\x03ipc\x12\"\n\rthey_hear_you\x18\x04\x20\x01(\x08R\x0btheyHearYou\ - \x12\"\n\ryou_hear_them\x18\x05\x20\x01(\x08R\x0byouHearThem\x120\n\x14i\ - s_listenserver_host\x18\x06\x20\x01(\x08R\x12isListenserverHost\"7\n\x10\ - CSVCMsg_PeerList\x12#\n\x04peer\x18\x01\x20\x03(\x0b2\x0f.CMsgServerPeer\ - R\x04peer\"l\n\x1cCSVCMsg_ClearAllStringTables\x12\x18\n\x07mapname\x18\ - \x01\x20\x01(\tR\x07mapname\x122\n\x15create_tables_skipped\x18\x03\x20\ - \x01(\x08R\x13createTablesSkipped\"\xee\x05\n\x1fProtoFlattenedSerialize\ - rField_t\x12\x20\n\x0cvar_type_sym\x18\x01\x20\x01(\x05R\nvarTypeSym\x12\ - \x20\n\x0cvar_name_sym\x18\x02\x20\x01(\x05R\nvarNameSym\x12\x1b\n\tbit_\ - count\x18\x03\x20\x01(\x05R\x08bitCount\x12\x1b\n\tlow_value\x18\x04\x20\ - \x01(\x02R\x08lowValue\x12\x1d\n\nhigh_value\x18\x05\x20\x01(\x02R\thigh\ - Value\x12!\n\x0cencode_flags\x18\x06\x20\x01(\x05R\x0bencodeFlags\x129\n\ - \x19field_serializer_name_sym\x18\x07\x20\x01(\x05R\x16fieldSerializerNa\ - meSym\x128\n\x18field_serializer_version\x18\x08\x20\x01(\x05R\x16fieldS\ - erializerVersion\x12\"\n\rsend_node_sym\x18\t\x20\x01(\x05R\x0bsendNodeS\ - ym\x12&\n\x0fvar_encoder_sym\x18\n\x20\x01(\x05R\rvarEncoderSym\x12a\n\ - \x11polymorphic_types\x18\x0b\x20\x03(\x0b24.ProtoFlattenedSerializerFie\ - ld_t.polymorphic_field_tR\x10polymorphicTypes\x12,\n\x12var_serializer_s\ - ym\x18\x0c\x20\x01(\x05R\x10varSerializerSym\x1a\xb8\x01\n\x13polymorphi\ - c_field_t\x12P\n%polymorphic_field_serializer_name_sym\x18\x01\x20\x01(\ - \x05R!polymorphicFieldSerializerNameSym\x12O\n$polymorphic_field_seriali\ - zer_version\x18\x02\x20\x01(\x05R!polymorphicFieldSerializerVersion\"\ - \x9e\x01\n\x1aProtoFlattenedSerializer_t\x12.\n\x13serializer_name_sym\ - \x18\x01\x20\x01(\x05R\x11serializerNameSym\x12-\n\x12serializer_version\ - \x18\x02\x20\x01(\x05R\x11serializerVersion\x12!\n\x0cfields_index\x18\ - \x03\x20\x03(\x05R\x0bfieldsIndex\"\xb0\x01\n\x1bCSVCMsg_FlattenedSerial\ - izer\x12=\n\x0bserializers\x18\x01\x20\x03(\x0b2\x1b.ProtoFlattenedSeria\ - lizer_tR\x0bserializers\x12\x18\n\x07symbols\x18\x02\x20\x03(\tR\x07symb\ - ols\x128\n\x06fields\x18\x03\x20\x03(\x0b2\x20.ProtoFlattenedSerializerF\ - ield_tR\x06fields\"'\n\x11CSVCMsg_StopSound\x12\x12\n\x04guid\x18\x01\ - \x20\x01(\x07R\x04guid\"\xb2\x01\n\x1eCBidirMsg_RebroadcastGameEvent\x12\ - \"\n\x0cposttoserver\x18\x01\x20\x01(\x08R\x0cposttoserver\x12\x18\n\x07\ - buftype\x18\x02\x20\x01(\x05R\x07buftype\x12&\n\x0eclientbitcount\x18\ - \x03\x20\x01(\rR\x0eclientbitcount\x12*\n\x10receivingclients\x18\x04\ - \x20\x01(\x04R\x10receivingclients\"?\n\x1bCBidirMsg_RebroadcastSource\ - \x12\x20\n\x0beventsource\x18\x01\x20\x01(\x05R\x0beventsource\"\xdb\t\n\ - \x16CMsgServerNetworkStats\x12\x1c\n\tdedicated\x18\x01\x20\x01(\x08R\td\ - edicated\x12\x1b\n\tcpu_usage\x18\x02\x20\x01(\x05R\x08cpuUsage\x12$\n\ - \x0ememory_used_mb\x18\x03\x20\x01(\x05R\x0cmemoryUsedMb\x12$\n\x0ememor\ - y_free_mb\x18\x04\x20\x01(\x05R\x0cmemoryFreeMb\x12\x16\n\x06uptime\x18\ - \x05\x20\x01(\x05R\x06uptime\x12\x1f\n\x0bspawn_count\x18\x06\x20\x01(\ - \x05R\nspawnCount\x12\x1f\n\x0bnum_clients\x18\x08\x20\x01(\x05R\nnumCli\ - ents\x12\x19\n\x08num_bots\x18\t\x20\x01(\x05R\x07numBots\x12%\n\x0enum_\ - spectators\x18\n\x20\x01(\x05R\rnumSpectators\x12\"\n\rnum_tv_relays\x18\ - \x0b\x20\x01(\x05R\x0bnumTvRelays\x12\x10\n\x03fps\x18\x0c\x20\x01(\x02R\ - \x03fps\x122\n\x05ports\x18\x11\x20\x03(\x0b2\x1c.CMsgServerNetworkStats\ - .PortR\x05ports\x12\x1e\n\x0bavg_ping_ms\x18\x12\x20\x01(\x02R\tavgPingM\ - s\x123\n\x16avg_engine_latency_out\x18\x13\x20\x01(\x02R\x13avgEngineLat\ - encyOut\x12&\n\x0favg_packets_out\x18\x14\x20\x01(\x02R\ravgPacketsOut\ - \x12$\n\x0eavg_packets_in\x18\x15\x20\x01(\x02R\x0cavgPacketsIn\x12\x20\ - \n\x0cavg_loss_out\x18\x16\x20\x01(\x02R\navgLossOut\x12\x1e\n\x0bavg_lo\ - ss_in\x18\x17\x20\x01(\x02R\tavgLossIn\x12\x20\n\x0cavg_data_out\x18\x18\ - \x20\x01(\x02R\navgDataOut\x12\x1e\n\x0bavg_data_in\x18\x19\x20\x01(\x02\ - R\tavgDataIn\x12\"\n\rtotal_data_in\x18\x1a\x20\x01(\x04R\x0btotalDataIn\ - \x12(\n\x10total_packets_in\x18\x1b\x20\x01(\x04R\x0etotalPacketsIn\x12$\ - \n\x0etotal_data_out\x18\x1c\x20\x01(\x04R\x0ctotalDataOut\x12*\n\x11tot\ - al_packets_out\x18\x1d\x20\x01(\x04R\x0ftotalPacketsOut\x128\n\x07player\ - s\x18\x1e\x20\x03(\x0b2\x1e.CMsgServerNetworkStats.PlayerR\x07players\ - \x1a.\n\x04Port\x12\x12\n\x04port\x18\x01\x20\x01(\x05R\x04port\x12\x12\ - \n\x04name\x18\x02\x20\x01(\tR\x04name\x1a\x82\x02\n\x06Player\x12\x18\n\ - \x07steamid\x18\x01\x20\x01(\x04R\x07steamid\x12\x1f\n\x0bremote_addr\ - \x18\x02\x20\x01(\tR\nremoteAddr\x12\x1e\n\x0bping_avg_ms\x18\x04\x20\ - \x01(\x05R\tpingAvgMs\x12&\n\x0fpacket_loss_pct\x18\x05\x20\x01(\x02R\rp\ - acketLossPct\x12\x15\n\x06is_bot\x18\x06\x20\x01(\x08R\x05isBot\x12\x17\ - \n\x07loss_in\x18\x07\x20\x01(\x02R\x06lossIn\x12\x19\n\x08loss_out\x18\ - \x08\x20\x01(\x02R\x07lossOut\x12*\n\x11engine_latency_ms\x18\t\x20\x01(\ - \x05R\x0fengineLatencyMs\"\xd1\x02\n\x12CSVCMsg_HltvReplay\x12\x14\n\x05\ - delay\x18\x01\x20\x01(\x05R\x05delay\x12)\n\x0eprimary_target\x18\x02\ - \x20\x01(\x05:\x02-1R\rprimaryTarget\x12$\n\x0ereplay_stop_at\x18\x03\ - \x20\x01(\x05R\x0creplayStopAt\x12&\n\x0freplay_start_at\x18\x04\x20\x01\ - (\x05R\rreplayStartAt\x122\n\x15replay_slowdown_begin\x18\x05\x20\x01(\ - \x05R\x13replaySlowdownBegin\x12.\n\x13replay_slowdown_end\x18\x06\x20\ - \x01(\x05R\x11replaySlowdownEnd\x120\n\x14replay_slowdown_rate\x18\x07\ - \x20\x01(\x02R\x12replaySlowdownRate\x12\x16\n\x06reason\x18\x08\x20\x01\ - (\x05R\x06reason\"\xc6\x01\n\x12CCLCMsg_HltvReplay\x12\x18\n\x07request\ - \x18\x01\x20\x01(\x05R\x07request\x12'\n\x0fslowdown_length\x18\x02\x20\ - \x01(\x02R\x0eslowdownLength\x12#\n\rslowdown_rate\x18\x03\x20\x01(\x02R\ - \x0cslowdownRate\x12)\n\x0eprimary_target\x18\x04\x20\x01(\x05:\x02-1R\r\ - primaryTarget\x12\x1d\n\nevent_time\x18\x05\x20\x01(\x02R\teventTime\"-\ - \n\x19CSVCMsg_Broadcast_Command\x12\x10\n\x03cmd\x18\x01\x20\x01(\tR\x03\ - cmd\"\xd2\x02\n\x1dCCLCMsg_HltvFixupOperatorTick\x12\x12\n\x04tick\x18\ - \x01\x20\x01(\x05R\x04tick\x12\x1d\n\nprops_data\x18\x02\x20\x01(\x0cR\t\ - propsData\x12#\n\x06origin\x18\x03\x20\x01(\x0b2\x0b.CMsgVectorR\x06orig\ - in\x12*\n\neye_angles\x18\x04\x20\x01(\x0b2\x0b.CMsgQAngleR\teyeAngles\ - \x12#\n\robserver_mode\x18\x05\x20\x01(\x05R\x0cobserverMode\x121\n\x14c\ - ameraman_scoreboard\x18\x06\x20\x01(\x08R\x13cameramanScoreboard\x12'\n\ - \x0fobserver_target\x18\x07\x20\x01(\x05R\x0eobserverTarget\x12,\n\x0bvi\ - ew_offset\x18\x08\x20\x01(\x0b2\x0b.CMsgVectorR\nviewOffset\"k\n\x1fCSVC\ - Msg_HltvFixupOperatorStatus\x12\x12\n\x04mode\x18\x01\x20\x01(\rR\x04mod\ - e\x124\n\x16override_operator_name\x18\x02\x20\x01(\tR\x14overrideOperat\ - orName\"\x9d\x01\n\x11CMsgServerUserCmd\x12\x12\n\x04data\x18\x01\x20\ - \x01(\x0cR\x04data\x12\x1d\n\ncmd_number\x18\x02\x20\x01(\x05R\tcmdNumbe\ - r\x12#\n\x0bplayer_slot\x18\x03\x20\x01(\x05:\x02-1R\nplayerSlot\x120\n\ - \x14server_tick_executed\x18\x04\x20\x01(\x05R\x12serverTickExecuted\"F\ - \n\x14CSVCMsg_UserCommands\x12.\n\x08commands\x18\x01\x20\x03(\x0b2\x12.\ - CMsgServerUserCmdR\x08commands*\xa2\x03\n\x0cCLC_Messages\x12\x12\n\x0ec\ - lc_ClientInfo\x10\x14\x12\x0c\n\x08clc_Move\x10\x15\x12\x11\n\rclc_Voice\ - Data\x10\x16\x12\x13\n\x0fclc_BaselineAck\x10\x17\x12\x14\n\x10clc_Liste\ - nEvents\x10\x18\x12\x18\n\x14clc_RespondCvarValue\x10\x19\x12\x14\n\x10c\ - lc_FileCRCCheck\x10\x1a\x12\x17\n\x13clc_LoadingProgress\x10\x1b\x12\x1a\ - \n\x16clc_SplitPlayerConnect\x10\x1c\x12\x15\n\x11clc_ClientMessage\x10\ - \x1d\x12\x1d\n\x19clc_SplitPlayerDisconnect\x10\x1e\x12\x14\n\x10clc_Ser\ - verStatus\x10\x1f\x12\x12\n\x0eclc_ServerPing\x10\x20\x12\x14\n\x10clc_R\ - equestPause\x10!\x12\x14\n\x10clc_CmdKeyValues\x10\"\x12\x19\n\x15clc_Rc\ - onServerDetails\x10#\x12\x12\n\x0eclc_HltvReplay\x10$\x12\x12\n\x0eclc_D\ - iagnostic\x10%*\xab\x05\n\x0cSVC_Messages\x12\x12\n\x0esvc_ServerInfo\ - \x10(\x12\x1b\n\x17svc_FlattenedSerializer\x10)\x12\x11\n\rsvc_ClassInfo\ - \x10*\x12\x10\n\x0csvc_SetPause\x10+\x12\x19\n\x15svc_CreateStringTable\ - \x10,\x12\x19\n\x15svc_UpdateStringTable\x10-\x12\x11\n\rsvc_VoiceInit\ - \x10.\x12\x11\n\rsvc_VoiceData\x10/\x12\r\n\tsvc_Print\x100\x12\x0e\n\ns\ - vc_Sounds\x101\x12\x0f\n\x0bsvc_SetView\x102\x12\x1c\n\x18svc_ClearAllSt\ - ringTables\x103\x12\x14\n\x10svc_CmdKeyValues\x104\x12\x10\n\x0csvc_BSPD\ - ecal\x105\x12\x13\n\x0fsvc_SplitScreen\x106\x12\x16\n\x12svc_PacketEntit\ - ies\x107\x12\x10\n\x0csvc_Prefetch\x108\x12\x0c\n\x08svc_Menu\x109\x12\ - \x14\n\x10svc_GetCvarValue\x10:\x12\x11\n\rsvc_StopSound\x10;\x12\x10\n\ - \x0csvc_PeerList\x10<\x12\x16\n\x12svc_PacketReliable\x10=\x12\x12\n\x0e\ - svc_HLTVStatus\x10>\x12\x15\n\x11svc_ServerSteamID\x10?\x12\x16\n\x12svc\ - _FullFrameSplit\x10F\x12\x19\n\x15svc_RconServerDetails\x10G\x12\x13\n\ - \x0fsvc_UserMessage\x10H\x12\x12\n\x0esvc_HltvReplay\x10I\x12\x19\n\x15s\ - vc_Broadcast_Command\x10J\x12\x1f\n\x1bsvc_HltvFixupOperatorStatus\x10K\ - \x12\x10\n\x0csvc_UserCmds\x10L*g\n\x11VoiceDataFormat_t\x12\x1a\n\x16VO\ - ICEDATA_FORMAT_STEAM\x10\0\x12\x1b\n\x17VOICEDATA_FORMAT_ENGINE\x10\x01\ - \x12\x19\n\x15VOICEDATA_FORMAT_OPUS\x10\x02*B\n\x0eRequestPause_t\x12\ - \x0c\n\x08RP_PAUSE\x10\0\x12\x0e\n\nRP_UNPAUSE\x10\x01\x12\x12\n\x0eRP_T\ - OGGLEPAUSE\x10\x02*\x1d\n\x0cPrefetchType\x12\r\n\tPFT_SOUND\x10\0*V\n\ - \x17ESplitScreenMessageType\x12\x1b\n\x17MSG_SPLITSCREEN_ADDUSER\x10\0\ - \x12\x1e\n\x1aMSG_SPLITSCREEN_REMOVEUSER\x10\x01*\xb3\x01\n\x15EQueryCva\ - rValueStatus\x12%\n!eQueryCvarValueStatus_ValueIntact\x10\0\x12&\n\"eQue\ - ryCvarValueStatus_CvarNotFound\x10\x01\x12\"\n\x1eeQueryCvarValueStatus_\ - NotACvar\x10\x02\x12'\n#eQueryCvarValueStatus_CvarProtected\x10\x03*h\n\ - \x0bDIALOG_TYPE\x12\x0e\n\nDIALOG_MSG\x10\0\x12\x0f\n\x0bDIALOG_MENU\x10\ - \x01\x12\x0f\n\x0bDIALOG_TEXT\x10\x02\x12\x10\n\x0cDIALOG_ENTRY\x10\x03\ - \x12\x15\n\x11DIALOG_ASKCONNECT\x10\x04*+\n\x19SVC_Messages_LowFrequency\ - \x12\x0e\n\tsvc_dummy\x10\xd8\x04*a\n\x16Bidirectional_Messages\x12\x1b\ - \n\x17bi_RebroadcastGameEvent\x10\x10\x12\x18\n\x14bi_RebroadcastSource\ - \x10\x11\x12\x10\n\x0cbi_GameEvent\x10\x12*M\n#Bidirectional_Messages_Lo\ - wFrequency\x12\x11\n\x0cbi_RelayInfo\x10\xbc\x05\x12\x13\n\x0ebi_RelayPa\ - cket\x10\xbd\x05*\xa1\x01\n\x11ReplayEventType_t\x12\x17\n\x13REPLAY_EVE\ - NT_CANCEL\x10\0\x12\x16\n\x12REPLAY_EVENT_DEATH\x10\x01\x12\x18\n\x14REP\ - LAY_EVENT_GENERIC\x10\x02\x12'\n#REPLAY_EVENT_STUCK_NEED_FULL_UPDATE\x10\ - \x03\x12\x18\n\x14REPLAY_EVENT_VICTORY\x10\x04\ + itPlayerConnect\x12\x1e\n\nplayername\x18\x01\x20\x01(\tR\nplayername\"3\ + \n\x1dCCLCMsg_SplitPlayerDisconnect\x12\x12\n\x04slot\x18\x01\x20\x01(\ + \x05R\x04slot\"6\n\x14CCLCMsg_ServerStatus\x12\x1e\n\nsimplified\x18\x01\ + \x20\x01(\x08R\nsimplified\"q\n\x14CCLCMsg_RequestPause\x128\n\npause_ty\ + pe\x18\x01\x20\x01(\x0e2\x0f.RequestPause_t:\x08RP_PAUSER\tpauseType\x12\ + \x1f\n\x0bpause_group\x18\x02\x20\x01(\x05R\npauseGroup\"*\n\x14CCLCMsg_\ + CmdKeyValues\x12\x12\n\x04data\x18\x01\x20\x01(\x0cR\x04data\"1\n\x19CCL\ + CMsg_RconServerDetails\x12\x14\n\x05token\x18\x01\x20\x01(\x0cR\x05token\ + \"\xa6\x04\n\x16CMsgSource2SystemSpecs\x12\x15\n\x06cpu_id\x18\x01\x20\ + \x01(\tR\x05cpuId\x12\x1b\n\tcpu_brand\x18\x02\x20\x01(\tR\x08cpuBrand\ + \x12\x1b\n\tcpu_model\x18\x03\x20\x01(\rR\x08cpuModel\x12(\n\x10cpu_num_\ + physical\x18\x04\x20\x01(\rR\x0ecpuNumPhysical\x121\n\x15ram_physical_to\ + tal_mb\x18\x15\x20\x01(\rR\x12ramPhysicalTotalMb\x129\n\x19gpu_rendersys\ + tem_dll_name\x18)\x20\x01(\tR\x16gpuRendersystemDllName\x12\"\n\rgpu_ven\ + dor_id\x18*\x20\x01(\rR\x0bgpuVendorId\x12&\n\x0fgpu_driver_name\x18+\ + \x20\x01(\tR\rgpuDriverName\x125\n\x17gpu_driver_version_high\x18,\x20\ + \x01(\rR\x14gpuDriverVersionHigh\x123\n\x16gpu_driver_version_low\x18-\ + \x20\x01(\rR\x13gpuDriverVersionLow\x12/\n\x14gpu_dx_support_level\x18.\ + \x20\x01(\rR\x11gpuDxSupportLevel\x12:\n\x1agpu_texture_memory_size_mb\ + \x18/\x20\x01(\rR\x16gpuTextureMemorySizeMb\"\xd4\x02\n\x1eCMsgSource2VP\ + rofLiteReportItem\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12%\n\ + \x0eactive_samples\x18\x02\x20\x01(\rR\ractiveSamples\x12\x19\n\x08usec_\ + max\x18\x03\x20\x01(\rR\x07usecMax\x12&\n\x0fusec_avg_active\x18\x0b\x20\ + \x01(\rR\rusecAvgActive\x12&\n\x0fusec_p50_active\x18\x0c\x20\x01(\rR\ru\ + secP50Active\x12&\n\x0fusec_p99_active\x18\r\x20\x01(\rR\rusecP99Active\ + \x12\x20\n\x0cusec_avg_all\x18\x15\x20\x01(\rR\nusecAvgAll\x12\x20\n\x0c\ + usec_p50_all\x18\x16\x20\x01(\rR\nusecP50All\x12\x20\n\x0cusec_p99_all\ + \x18\x17\x20\x01(\rR\nusecP99All\"\xb5\x01\n\x1aCMsgSource2VProfLiteRepo\ + rt\x125\n\x05total\x18\x01\x20\x01(\x0b2\x1f.CMsgSource2VProfLiteReportI\ + temR\x05total\x125\n\x05items\x18\x02\x20\x03(\x0b2\x1f.CMsgSource2VProf\ + LiteReportItemR\x05items\x12)\n\x10discarded_frames\x18\x03\x20\x01(\rR\ + \x0fdiscardedFrames\"\x90\x01\n\x12CCLCMsg_Diagnostic\x12:\n\x0csystem_s\ + pecs\x18\x01\x20\x01(\x0b2\x17.CMsgSource2SystemSpecsR\x0bsystemSpecs\ + \x12>\n\x0cvprof_report\x18\x02\x20\x01(\x0b2\x1b.CMsgSource2VProfLiteRe\ + portR\x0bvprofReport\"\xe4\x03\n-CSource2Metrics_MatchPerfSummary_Notifi\ + cation\x12\x14\n\x05appid\x18\x01\x20\x01(\rR\x05appid\x12\x1b\n\tgame_m\ + ode\x18\x02\x20\x01(\tR\x08gameMode\x12&\n\x0fserver_build_id\x18\x03\ + \x20\x01(\rR\rserverBuildId\x12B\n\x0eserver_profile\x18\n\x20\x01(\x0b2\ + \x1b.CMsgSource2VProfLiteReportR\rserverProfile\x12O\n\x07clients\x18\ + \x0b\x20\x03(\x0b25.CSource2Metrics_MatchPerfSummary_Notification.Client\ + R\x07clients\x12\x10\n\x03map\x18\x14\x20\x01(\tR\x03map\x1a\xb0\x01\n\ + \x06Client\x12:\n\x0csystem_specs\x18\x01\x20\x01(\x0b2\x17.CMsgSource2S\ + ystemSpecsR\x0bsystemSpecs\x125\n\x07profile\x18\x02\x20\x01(\x0b2\x1b.C\ + MsgSource2VProfLiteReportR\x07profile\x12\x19\n\x08build_id\x18\x03\x20\ + \x01(\rR\x07buildId\x12\x18\n\x07steamid\x18\n\x20\x01(\x06R\x07steamid\ + \"\xc2\x04\n\x12CSVCMsg_ServerInfo\x12\x1a\n\x08protocol\x18\x01\x20\x01\ + (\x05R\x08protocol\x12!\n\x0cserver_count\x18\x02\x20\x01(\x05R\x0bserve\ + rCount\x12!\n\x0cis_dedicated\x18\x03\x20\x01(\x08R\x0bisDedicated\x12\ + \x17\n\x07is_hltv\x18\x04\x20\x01(\x08R\x06isHltv\x12\x11\n\x04c_os\x18\ + \x06\x20\x01(\x05R\x03cOs\x12\x1f\n\x0bmax_clients\x18\n\x20\x01(\x05R\n\ + maxClients\x12\x1f\n\x0bmax_classes\x18\x0b\x20\x01(\x05R\nmaxClasses\ + \x12#\n\x0bplayer_slot\x18\x0c\x20\x01(\x05:\x02-1R\nplayerSlot\x12#\n\r\ + tick_interval\x18\r\x20\x01(\x02R\x0ctickInterval\x12\x19\n\x08game_dir\ + \x18\x0e\x20\x01(\tR\x07gameDir\x12\x19\n\x08map_name\x18\x0f\x20\x01(\t\ + R\x07mapName\x12\x19\n\x08sky_name\x18\x10\x20\x01(\tR\x07skyName\x12\ + \x1b\n\thost_name\x18\x11\x20\x01(\tR\x08hostName\x12\x1d\n\naddon_name\ + \x18\x12\x20\x01(\tR\taddonName\x12Q\n\x13game_session_config\x18\x13\ + \x20\x01(\x0b2!.CSVCMsg_GameSessionConfigurationR\x11gameSessionConfig\ + \x122\n\x15game_session_manifest\x18\x14\x20\x01(\x0cR\x13gameSessionMan\ + ifest\"\xb8\x01\n\x11CSVCMsg_ClassInfo\x12(\n\x10create_on_client\x18\ + \x01\x20\x01(\x08R\x0ecreateOnClient\x124\n\x07classes\x18\x02\x20\x03(\ + \x0b2\x1a.CSVCMsg_ClassInfo.class_tR\x07classes\x1aC\n\x07class_t\x12\ + \x19\n\x08class_id\x18\x01\x20\x01(\x05R\x07classId\x12\x1d\n\nclass_nam\ + e\x18\x03\x20\x01(\tR\tclassName\"*\n\x10CSVCMsg_SetPause\x12\x16\n\x06p\ + aused\x18\x01\x20\x01(\x08R\x06paused\"`\n\x11CSVCMsg_VoiceInit\x12\x18\ + \n\x07quality\x18\x01\x20\x01(\x05R\x07quality\x12\x14\n\x05codec\x18\ + \x02\x20\x01(\tR\x05codec\x12\x1b\n\x07version\x18\x03\x20\x01(\x05:\x01\ + 0R\x07version\"#\n\rCSVCMsg_Print\x12\x12\n\x04text\x18\x01\x20\x01(\tR\ + \x04text\"\xcc\x05\n\x0eCSVCMsg_Sounds\x12%\n\x0ereliable_sound\x18\x01\ + \x20\x01(\x08R\rreliableSound\x123\n\x06sounds\x18\x02\x20\x03(\x0b2\x1b\ + .CSVCMsg_Sounds.sounddata_tR\x06sounds\x1a\xdd\x04\n\x0bsounddata_t\x12\ + \x19\n\x08origin_x\x18\x01\x20\x01(\x11R\x07originX\x12\x19\n\x08origin_\ + y\x18\x02\x20\x01(\x11R\x07originY\x12\x19\n\x08origin_z\x18\x03\x20\x01\ + (\x11R\x07originZ\x12\x16\n\x06volume\x18\x04\x20\x01(\rR\x06volume\x12\ + \x1f\n\x0bdelay_value\x18\x05\x20\x01(\x02R\ndelayValue\x12'\n\x0fsequen\ + ce_number\x18\x06\x20\x01(\x05R\x0esequenceNumber\x12%\n\x0centity_index\ + \x18\x07\x20\x01(\x05:\x02-1R\x0bentityIndex\x12\x18\n\x07channel\x18\ + \x08\x20\x01(\x05R\x07channel\x12\x14\n\x05pitch\x18\t\x20\x01(\x05R\x05\ + pitch\x12\x14\n\x05flags\x18\n\x20\x01(\x05R\x05flags\x12\x1b\n\tsound_n\ + um\x18\x0b\x20\x01(\rR\x08soundNum\x12(\n\x10sound_num_handle\x18\x0c\ + \x20\x01(\x07R\x0esoundNumHandle\x12%\n\x0espeaker_entity\x18\r\x20\x01(\ + \x05R\rspeakerEntity\x12\x1f\n\x0brandom_seed\x18\x0e\x20\x01(\x05R\nran\ + domSeed\x12\x1f\n\x0bsound_level\x18\x0f\x20\x01(\x05R\nsoundLevel\x12\ + \x1f\n\x0bis_sentence\x18\x10\x20\x01(\x08R\nisSentence\x12\x1d\n\nis_am\ + bient\x18\x11\x20\x01(\x08R\tisAmbient\x12\x12\n\x04guid\x18\x12\x20\x01\ + (\rR\x04guid\x12*\n\x11sound_resource_id\x18\x13\x20\x01(\x06R\x0fsoundR\ + esourceId\"r\n\x10CSVCMsg_Prefetch\x12\x1f\n\x0bsound_index\x18\x01\x20\ + \x01(\x05R\nsoundIndex\x12=\n\rresource_type\x18\x02\x20\x01(\x0e2\r.Pre\ + fetchType:\tPFT_SOUNDR\x0cresourceType\"P\n\x0fCSVCMsg_SetView\x12%\n\ + \x0centity_index\x18\x01\x20\x01(\x05:\x02-1R\x0bentityIndex\x12\x16\n\ + \x04slot\x18\x02\x20\x01(\x05:\x02-1R\x04slot\"Q\n\x10CSVCMsg_FixAngle\ + \x12\x1a\n\x08relative\x18\x01\x20\x01(\x08R\x08relative\x12!\n\x05angle\ + \x18\x02\x20\x01(\x0b2\x0b.CMsgQAngleR\x05angle\";\n\x16CSVCMsg_Crosshai\ + rAngle\x12!\n\x05angle\x18\x01\x20\x01(\x0b2\x0b.CMsgQAngleR\x05angle\"\ + \xcc\x01\n\x10CSVCMsg_BSPDecal\x12\x1d\n\x03pos\x18\x01\x20\x01(\x0b2\ + \x0b.CMsgVectorR\x03pos\x12.\n\x13decal_texture_index\x18\x02\x20\x01(\ + \x05R\x11decalTextureIndex\x12%\n\x0centity_index\x18\x03\x20\x01(\x05:\ + \x02-1R\x0bentityIndex\x12\x1f\n\x0bmodel_index\x18\x04\x20\x01(\x05R\nm\ + odelIndex\x12!\n\x0clow_priority\x18\x05\x20\x01(\x08R\x0blowPriority\"\ + \x97\x01\n\x13CSVCMsg_SplitScreen\x12E\n\x04type\x18\x01\x20\x01(\x0e2\ + \x18.ESplitScreenMessageType:\x17MSG_SPLITSCREEN_ADDUSERR\x04type\x12\ + \x12\n\x04slot\x18\x02\x20\x01(\x05R\x04slot\x12%\n\x0cplayer_index\x18\ + \x03\x20\x01(\x05:\x02-1R\x0bplayerIndex\"K\n\x14CSVCMsg_GetCvarValue\ + \x12\x16\n\x06cookie\x18\x01\x20\x01(\x05R\x06cookie\x12\x1b\n\tcvar_nam\ + e\x18\x02\x20\x01(\tR\x08cvarName\"W\n\x0cCSVCMsg_Menu\x12\x1f\n\x0bdial\ + og_type\x18\x01\x20\x01(\x05R\ndialogType\x12&\n\x0fmenu_key_values\x18\ + \x02\x20\x01(\x0cR\rmenuKeyValues\"m\n\x13CSVCMsg_UserMessage\x12\x19\n\ + \x08msg_type\x18\x01\x20\x01(\x05R\x07msgType\x12\x19\n\x08msg_data\x18\ + \x02\x20\x01(\x0cR\x07msgData\x12\x20\n\x0bpassthrough\x18\x03\x20\x01(\ + \x05R\x0bpassthrough\"\xad\x03\n\x11CSVCMsg_SendTable\x12\x15\n\x06is_en\ + d\x18\x01\x20\x01(\x08R\x05isEnd\x12$\n\x0enet_table_name\x18\x02\x20\ + \x01(\tR\x0cnetTableName\x12#\n\rneeds_decoder\x18\x03\x20\x01(\x08R\x0c\ + needsDecoder\x123\n\x05props\x18\x04\x20\x03(\x0b2\x1d.CSVCMsg_SendTable\ + .sendprop_tR\x05props\x1a\x80\x02\n\nsendprop_t\x12\x12\n\x04type\x18\ + \x01\x20\x01(\x05R\x04type\x12\x19\n\x08var_name\x18\x02\x20\x01(\tR\x07\ + varName\x12\x14\n\x05flags\x18\x03\x20\x01(\x05R\x05flags\x12\x1a\n\x08p\ + riority\x18\x04\x20\x01(\x05R\x08priority\x12\x17\n\x07dt_name\x18\x05\ + \x20\x01(\tR\x06dtName\x12!\n\x0cnum_elements\x18\x06\x20\x01(\x05R\x0bn\ + umElements\x12\x1b\n\tlow_value\x18\x07\x20\x01(\x02R\x08lowValue\x12\ + \x1d\n\nhigh_value\x18\x08\x20\x01(\x02R\thighValue\x12\x19\n\x08num_bit\ + s\x18\t\x20\x01(\x05R\x07numBits\"\xff\x01\n\x15CSVCMsg_GameEventList\ + \x12E\n\x0bdescriptors\x18\x01\x20\x03(\x0b2#.CSVCMsg_GameEventList.desc\ + riptor_tR\x0bdescriptors\x1a/\n\x05key_t\x12\x12\n\x04type\x18\x01\x20\ + \x01(\x05R\x04type\x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x1an\n\ + \x0cdescriptor_t\x12\x18\n\x07eventid\x18\x01\x20\x01(\x05R\x07eventid\ + \x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x120\n\x04keys\x18\x03\ + \x20\x03(\x0b2\x1c.CSVCMsg_GameEventList.key_tR\x04keys\"\xf7\t\n\x16CSV\ + CMsg_PacketEntities\x12\x1f\n\x0bmax_entries\x18\x01\x20\x01(\x05R\nmaxE\ + ntries\x12'\n\x0fupdated_entries\x18\x02\x20\x01(\x05R\x0eupdatedEntries\ + \x12&\n\x0flegacy_is_delta\x18\x03\x20\x01(\x08R\rlegacyIsDelta\x12'\n\ + \x0fupdate_baseline\x18\x04\x20\x01(\x08R\x0eupdateBaseline\x12\x1a\n\ + \x08baseline\x18\x05\x20\x01(\x05R\x08baseline\x12\x1d\n\ndelta_from\x18\ + \x06\x20\x01(\x05R\tdeltaFrom\x12\x1f\n\x0bentity_data\x18\x07\x20\x01(\ + \x0cR\nentityData\x12,\n\x12pending_full_frame\x18\x08\x20\x01(\x08R\x10\ + pendingFullFrame\x128\n\x18active_spawngroup_handle\x18\t\x20\x01(\rR\ + \x16activeSpawngroupHandle\x12F\n\x1fmax_spawngroup_creationsequence\x18\ + \n\x20\x01(\rR\x1dmaxSpawngroupCreationsequence\x127\n\x18last_cmd_numbe\ + r_executed\x18\x0b\x20\x01(\rR\x15lastCmdNumberExecuted\x12:\n\x1alast_c\ + md_number_recv_delta\x18\x11\x20\x01(\x11R\x16lastCmdNumberRecvDelta\x12\ + \x1f\n\x0bserver_tick\x18\x0c\x20\x01(\rR\nserverTick\x12/\n\x13serializ\ + ed_entities\x18\r\x20\x01(\x0cR\x12serializedEntities\x12]\n\x13alternat\ + e_baselines\x18\x0f\x20\x03(\x0b2,.CSVCMsg_PacketEntities.alternate_base\ + line_tR\x12alternateBaselines\x12'\n\x10has_pvs_vis_bits\x18\x10\x20\x01\ + (\rR\rhasPvsVisBits\x12*\n\x0fcmd_recv_status\x18\x16\x20\x03(\x11R\rcmd\ + RecvStatusB\x02\x10\x01\x12l\n\x18non_transmitted_entities\x18\x13\x20\ + \x01(\x0b22.CSVCMsg_PacketEntities.non_transmitted_entities_tR\x16nonTra\ + nsmittedEntities\x127\n\x18cq_starved_command_ticks\x18\x14\x20\x01(\rR\ + \x15cqStarvedCommandTicks\x12;\n\x1acq_discarded_command_ticks\x18\x15\ + \x20\x01(\rR\x17cqDiscardedCommandTicks\x12\x20\n\x0bdev_padding\x18\xe7\ + \x07\x20\x01(\x0cR\ndevPadding\x1a`\n\x14alternate_baseline_t\x12!\n\x0c\ + entity_index\x18\x01\x20\x01(\x05R\x0bentityIndex\x12%\n\x0ebaseline_ind\ + ex\x18\x02\x20\x01(\x05R\rbaselineIndex\x1aS\n\x1anon_transmitted_entiti\ + es_t\x12!\n\x0cheader_count\x18\x01\x20\x01(\x05R\x0bheaderCount\x12\x12\ + \n\x04data\x18\x02\x20\x01(\x0cR\x04data\"t\n\x14CSVCMsg_TempEntities\ + \x12\x1a\n\x08reliable\x18\x01\x20\x01(\x08R\x08reliable\x12\x1f\n\x0bnu\ + m_entries\x18\x02\x20\x01(\x05R\nnumEntries\x12\x1f\n\x0bentity_data\x18\ + \x03\x20\x01(\x0cR\nentityData\"\x99\x03\n\x19CSVCMsg_CreateStringTable\ + \x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x1f\n\x0bnum_entries\ + \x18\x02\x20\x01(\x05R\nnumEntries\x12/\n\x14user_data_fixed_size\x18\ + \x03\x20\x01(\x08R\x11userDataFixedSize\x12$\n\x0euser_data_size\x18\x04\ + \x20\x01(\x05R\x0cuserDataSize\x12-\n\x13user_data_size_bits\x18\x05\x20\ + \x01(\x05R\x10userDataSizeBits\x12\x14\n\x05flags\x18\x06\x20\x01(\x05R\ + \x05flags\x12\x1f\n\x0bstring_data\x18\x07\x20\x01(\x0cR\nstringData\x12\ + +\n\x11uncompressed_size\x18\x08\x20\x01(\x05R\x10uncompressedSize\x12'\ + \n\x0fdata_compressed\x18\t\x20\x01(\x08R\x0edataCompressed\x124\n\x16us\ + ing_varint_bitcounts\x18\n\x20\x01(\x08R\x14usingVarintBitcounts\"\x87\ + \x01\n\x19CSVCMsg_UpdateStringTable\x12\x19\n\x08table_id\x18\x01\x20\ + \x01(\x05R\x07tableId\x12.\n\x13num_changed_entries\x18\x02\x20\x01(\x05\ + R\x11numChangedEntries\x12\x1f\n\x0bstring_data\x18\x03\x20\x01(\x0cR\ns\ + tringData\"\xe1\x01\n\x11CSVCMsg_VoiceData\x12%\n\x05audio\x18\x01\x20\ + \x01(\x0b2\x0f.CMsgVoiceAudioR\x05audio\x12\x1a\n\x06client\x18\x02\x20\ + \x01(\x05:\x02-1R\x06client\x12\x1c\n\tproximity\x18\x03\x20\x01(\x08R\t\ + proximity\x12\x12\n\x04xuid\x18\x04\x20\x01(\x06R\x04xuid\x12!\n\x0caudi\ + ble_mask\x18\x05\x20\x01(\x05R\x0baudibleMask\x12\x12\n\x04tick\x18\x06\ + \x20\x01(\rR\x04tick\x12\x20\n\x0bpassthrough\x18\x07\x20\x01(\x05R\x0bp\ + assthrough\"f\n\x16CSVCMsg_PacketReliable\x12\x12\n\x04tick\x18\x01\x20\ + \x01(\x05R\x04tick\x12\"\n\x0cmessagessize\x18\x02\x20\x01(\x05R\x0cmess\ + agessize\x12\x14\n\x05state\x18\x03\x20\x01(\x08R\x05state\"p\n\x16CSVCM\ + sg_FullFrameSplit\x12\x12\n\x04tick\x18\x01\x20\x01(\x05R\x04tick\x12\ + \x18\n\x07section\x18\x02\x20\x01(\x05R\x07section\x12\x14\n\x05total\ + \x18\x03\x20\x01(\x05R\x05total\x12\x12\n\x04data\x18\x04\x20\x01(\x0cR\ + \x04data\"v\n\x12CSVCMsg_HLTVStatus\x12\x16\n\x06master\x18\x01\x20\x01(\ + \tR\x06master\x12\x18\n\x07clients\x18\x02\x20\x01(\x05R\x07clients\x12\ + \x14\n\x05slots\x18\x03\x20\x01(\x05R\x05slots\x12\x18\n\x07proxies\x18\ + \x04\x20\x01(\x05R\x07proxies\"2\n\x15CSVCMsg_ServerSteamID\x12\x19\n\ + \x08steam_id\x18\x01\x20\x01(\x04R\x07steamId\"*\n\x14CSVCMsg_CmdKeyValu\ + es\x12\x12\n\x04data\x18\x01\x20\x01(\x0cR\x04data\"K\n\x19CSVCMsg_RconS\ + erverDetails\x12\x14\n\x05token\x18\x01\x20\x01(\x0cR\x05token\x12\x18\n\ + \x07details\x18\x02\x20\x01(\tR\x07details\"T\n\x0eCMsgIPCAddress\x12#\n\ + \rcomputer_guid\x18\x01\x20\x01(\x06R\x0ccomputerGuid\x12\x1d\n\nprocess\ + _id\x18\x02\x20\x01(\rR\tprocessId\"\xec\x01\n\x0eCMsgServerPeer\x12#\n\ + \x0bplayer_slot\x18\x01\x20\x01(\x05:\x02-1R\nplayerSlot\x12\x18\n\x07st\ + eamid\x18\x02\x20\x01(\x06R\x07steamid\x12!\n\x03ipc\x18\x03\x20\x01(\ + \x0b2\x0f.CMsgIPCAddressR\x03ipc\x12\"\n\rthey_hear_you\x18\x04\x20\x01(\ + \x08R\x0btheyHearYou\x12\"\n\ryou_hear_them\x18\x05\x20\x01(\x08R\x0byou\ + HearThem\x120\n\x14is_listenserver_host\x18\x06\x20\x01(\x08R\x12isListe\ + nserverHost\"7\n\x10CSVCMsg_PeerList\x12#\n\x04peer\x18\x01\x20\x03(\x0b\ + 2\x0f.CMsgServerPeerR\x04peer\"l\n\x1cCSVCMsg_ClearAllStringTables\x12\ + \x18\n\x07mapname\x18\x01\x20\x01(\tR\x07mapname\x122\n\x15create_tables\ + _skipped\x18\x03\x20\x01(\x08R\x13createTablesSkipped\"\xee\x05\n\x1fPro\ + toFlattenedSerializerField_t\x12\x20\n\x0cvar_type_sym\x18\x01\x20\x01(\ + \x05R\nvarTypeSym\x12\x20\n\x0cvar_name_sym\x18\x02\x20\x01(\x05R\nvarNa\ + meSym\x12\x1b\n\tbit_count\x18\x03\x20\x01(\x05R\x08bitCount\x12\x1b\n\t\ + low_value\x18\x04\x20\x01(\x02R\x08lowValue\x12\x1d\n\nhigh_value\x18\ + \x05\x20\x01(\x02R\thighValue\x12!\n\x0cencode_flags\x18\x06\x20\x01(\ + \x05R\x0bencodeFlags\x129\n\x19field_serializer_name_sym\x18\x07\x20\x01\ + (\x05R\x16fieldSerializerNameSym\x128\n\x18field_serializer_version\x18\ + \x08\x20\x01(\x05R\x16fieldSerializerVersion\x12\"\n\rsend_node_sym\x18\ + \t\x20\x01(\x05R\x0bsendNodeSym\x12&\n\x0fvar_encoder_sym\x18\n\x20\x01(\ + \x05R\rvarEncoderSym\x12a\n\x11polymorphic_types\x18\x0b\x20\x03(\x0b24.\ + ProtoFlattenedSerializerField_t.polymorphic_field_tR\x10polymorphicTypes\ + \x12,\n\x12var_serializer_sym\x18\x0c\x20\x01(\x05R\x10varSerializerSym\ + \x1a\xb8\x01\n\x13polymorphic_field_t\x12P\n%polymorphic_field_serialize\ + r_name_sym\x18\x01\x20\x01(\x05R!polymorphicFieldSerializerNameSym\x12O\ + \n$polymorphic_field_serializer_version\x18\x02\x20\x01(\x05R!polymorphi\ + cFieldSerializerVersion\"\x9e\x01\n\x1aProtoFlattenedSerializer_t\x12.\n\ + \x13serializer_name_sym\x18\x01\x20\x01(\x05R\x11serializerNameSym\x12-\ + \n\x12serializer_version\x18\x02\x20\x01(\x05R\x11serializerVersion\x12!\ + \n\x0cfields_index\x18\x03\x20\x03(\x05R\x0bfieldsIndex\"\xb0\x01\n\x1bC\ + SVCMsg_FlattenedSerializer\x12=\n\x0bserializers\x18\x01\x20\x03(\x0b2\ + \x1b.ProtoFlattenedSerializer_tR\x0bserializers\x12\x18\n\x07symbols\x18\ + \x02\x20\x03(\tR\x07symbols\x128\n\x06fields\x18\x03\x20\x03(\x0b2\x20.P\ + rotoFlattenedSerializerField_tR\x06fields\"'\n\x11CSVCMsg_StopSound\x12\ + \x12\n\x04guid\x18\x01\x20\x01(\x07R\x04guid\"\xb2\x01\n\x1eCBidirMsg_Re\ + broadcastGameEvent\x12\"\n\x0cposttoserver\x18\x01\x20\x01(\x08R\x0cpost\ + toserver\x12\x18\n\x07buftype\x18\x02\x20\x01(\x05R\x07buftype\x12&\n\ + \x0eclientbitcount\x18\x03\x20\x01(\rR\x0eclientbitcount\x12*\n\x10recei\ + vingclients\x18\x04\x20\x01(\x04R\x10receivingclients\"?\n\x1bCBidirMsg_\ + RebroadcastSource\x12\x20\n\x0beventsource\x18\x01\x20\x01(\x05R\x0beven\ + tsource\"\xdb\t\n\x16CMsgServerNetworkStats\x12\x1c\n\tdedicated\x18\x01\ + \x20\x01(\x08R\tdedicated\x12\x1b\n\tcpu_usage\x18\x02\x20\x01(\x05R\x08\ + cpuUsage\x12$\n\x0ememory_used_mb\x18\x03\x20\x01(\x05R\x0cmemoryUsedMb\ + \x12$\n\x0ememory_free_mb\x18\x04\x20\x01(\x05R\x0cmemoryFreeMb\x12\x16\ + \n\x06uptime\x18\x05\x20\x01(\x05R\x06uptime\x12\x1f\n\x0bspawn_count\ + \x18\x06\x20\x01(\x05R\nspawnCount\x12\x1f\n\x0bnum_clients\x18\x08\x20\ + \x01(\x05R\nnumClients\x12\x19\n\x08num_bots\x18\t\x20\x01(\x05R\x07numB\ + ots\x12%\n\x0enum_spectators\x18\n\x20\x01(\x05R\rnumSpectators\x12\"\n\ + \rnum_tv_relays\x18\x0b\x20\x01(\x05R\x0bnumTvRelays\x12\x10\n\x03fps\ + \x18\x0c\x20\x01(\x02R\x03fps\x122\n\x05ports\x18\x11\x20\x03(\x0b2\x1c.\ + CMsgServerNetworkStats.PortR\x05ports\x12\x1e\n\x0bavg_ping_ms\x18\x12\ + \x20\x01(\x02R\tavgPingMs\x123\n\x16avg_engine_latency_out\x18\x13\x20\ + \x01(\x02R\x13avgEngineLatencyOut\x12&\n\x0favg_packets_out\x18\x14\x20\ + \x01(\x02R\ravgPacketsOut\x12$\n\x0eavg_packets_in\x18\x15\x20\x01(\x02R\ + \x0cavgPacketsIn\x12\x20\n\x0cavg_loss_out\x18\x16\x20\x01(\x02R\navgLos\ + sOut\x12\x1e\n\x0bavg_loss_in\x18\x17\x20\x01(\x02R\tavgLossIn\x12\x20\n\ + \x0cavg_data_out\x18\x18\x20\x01(\x02R\navgDataOut\x12\x1e\n\x0bavg_data\ + _in\x18\x19\x20\x01(\x02R\tavgDataIn\x12\"\n\rtotal_data_in\x18\x1a\x20\ + \x01(\x04R\x0btotalDataIn\x12(\n\x10total_packets_in\x18\x1b\x20\x01(\ + \x04R\x0etotalPacketsIn\x12$\n\x0etotal_data_out\x18\x1c\x20\x01(\x04R\ + \x0ctotalDataOut\x12*\n\x11total_packets_out\x18\x1d\x20\x01(\x04R\x0fto\ + talPacketsOut\x128\n\x07players\x18\x1e\x20\x03(\x0b2\x1e.CMsgServerNetw\ + orkStats.PlayerR\x07players\x1a.\n\x04Port\x12\x12\n\x04port\x18\x01\x20\ + \x01(\x05R\x04port\x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x1a\x82\ + \x02\n\x06Player\x12\x18\n\x07steamid\x18\x01\x20\x01(\x04R\x07steamid\ + \x12\x1f\n\x0bremote_addr\x18\x02\x20\x01(\tR\nremoteAddr\x12\x1e\n\x0bp\ + ing_avg_ms\x18\x04\x20\x01(\x05R\tpingAvgMs\x12&\n\x0fpacket_loss_pct\ + \x18\x05\x20\x01(\x02R\rpacketLossPct\x12\x15\n\x06is_bot\x18\x06\x20\ + \x01(\x08R\x05isBot\x12\x17\n\x07loss_in\x18\x07\x20\x01(\x02R\x06lossIn\ + \x12\x19\n\x08loss_out\x18\x08\x20\x01(\x02R\x07lossOut\x12*\n\x11engine\ + _latency_ms\x18\t\x20\x01(\x05R\x0fengineLatencyMs\"\xd1\x02\n\x12CSVCMs\ + g_HltvReplay\x12\x14\n\x05delay\x18\x01\x20\x01(\x05R\x05delay\x12)\n\ + \x0eprimary_target\x18\x02\x20\x01(\x05:\x02-1R\rprimaryTarget\x12$\n\ + \x0ereplay_stop_at\x18\x03\x20\x01(\x05R\x0creplayStopAt\x12&\n\x0frepla\ + y_start_at\x18\x04\x20\x01(\x05R\rreplayStartAt\x122\n\x15replay_slowdow\ + n_begin\x18\x05\x20\x01(\x05R\x13replaySlowdownBegin\x12.\n\x13replay_sl\ + owdown_end\x18\x06\x20\x01(\x05R\x11replaySlowdownEnd\x120\n\x14replay_s\ + lowdown_rate\x18\x07\x20\x01(\x02R\x12replaySlowdownRate\x12\x16\n\x06re\ + ason\x18\x08\x20\x01(\x05R\x06reason\"\xc6\x01\n\x12CCLCMsg_HltvReplay\ + \x12\x18\n\x07request\x18\x01\x20\x01(\x05R\x07request\x12'\n\x0fslowdow\ + n_length\x18\x02\x20\x01(\x02R\x0eslowdownLength\x12#\n\rslowdown_rate\ + \x18\x03\x20\x01(\x02R\x0cslowdownRate\x12)\n\x0eprimary_target\x18\x04\ + \x20\x01(\x05:\x02-1R\rprimaryTarget\x12\x1d\n\nevent_time\x18\x05\x20\ + \x01(\x02R\teventTime\"-\n\x19CSVCMsg_Broadcast_Command\x12\x10\n\x03cmd\ + \x18\x01\x20\x01(\tR\x03cmd\"\xd2\x02\n\x1dCCLCMsg_HltvFixupOperatorTick\ + \x12\x12\n\x04tick\x18\x01\x20\x01(\x05R\x04tick\x12\x1d\n\nprops_data\ + \x18\x02\x20\x01(\x0cR\tpropsData\x12#\n\x06origin\x18\x03\x20\x01(\x0b2\ + \x0b.CMsgVectorR\x06origin\x12*\n\neye_angles\x18\x04\x20\x01(\x0b2\x0b.\ + CMsgQAngleR\teyeAngles\x12#\n\robserver_mode\x18\x05\x20\x01(\x05R\x0cob\ + serverMode\x121\n\x14cameraman_scoreboard\x18\x06\x20\x01(\x08R\x13camer\ + amanScoreboard\x12'\n\x0fobserver_target\x18\x07\x20\x01(\x05R\x0eobserv\ + erTarget\x12,\n\x0bview_offset\x18\x08\x20\x01(\x0b2\x0b.CMsgVectorR\nvi\ + ewOffset\"k\n\x1fCSVCMsg_HltvFixupOperatorStatus\x12\x12\n\x04mode\x18\ + \x01\x20\x01(\rR\x04mode\x124\n\x16override_operator_name\x18\x02\x20\ + \x01(\tR\x14overrideOperatorName\"\xbe\x01\n\x11CMsgServerUserCmd\x12\ + \x12\n\x04data\x18\x01\x20\x01(\x0cR\x04data\x12\x1d\n\ncmd_number\x18\ + \x02\x20\x01(\x05R\tcmdNumber\x12#\n\x0bplayer_slot\x18\x03\x20\x01(\x05\ + :\x02-1R\nplayerSlot\x120\n\x14server_tick_executed\x18\x04\x20\x01(\x05\ + R\x12serverTickExecuted\x12\x1f\n\x0bclient_tick\x18\x05\x20\x01(\x05R\n\ + clientTick\"F\n\x14CSVCMsg_UserCommands\x12.\n\x08commands\x18\x01\x20\ + \x03(\x0b2\x12.CMsgServerUserCmdR\x08commands*\xe1\x02\n\x0cCLC_Messages\ + \x12\x12\n\x0eclc_ClientInfo\x10\x14\x12\x0c\n\x08clc_Move\x10\x15\x12\ + \x11\n\rclc_VoiceData\x10\x16\x12\x13\n\x0fclc_BaselineAck\x10\x17\x12\ + \x18\n\x14clc_RespondCvarValue\x10\x19\x12\x14\n\x10clc_FileCRCCheck\x10\ + \x1a\x12\x17\n\x13clc_LoadingProgress\x10\x1b\x12\x1a\n\x16clc_SplitPlay\ + erConnect\x10\x1c\x12\x1d\n\x19clc_SplitPlayerDisconnect\x10\x1e\x12\x14\ + \n\x10clc_ServerStatus\x10\x1f\x12\x14\n\x10clc_RequestPause\x10!\x12\ + \x14\n\x10clc_CmdKeyValues\x10\"\x12\x19\n\x15clc_RconServerDetails\x10#\ + \x12\x12\n\x0eclc_HltvReplay\x10$\x12\x12\n\x0eclc_Diagnostic\x10%*\x97\ + \x05\n\x0cSVC_Messages\x12\x12\n\x0esvc_ServerInfo\x10(\x12\x1b\n\x17svc\ + _FlattenedSerializer\x10)\x12\x11\n\rsvc_ClassInfo\x10*\x12\x10\n\x0csvc\ + _SetPause\x10+\x12\x19\n\x15svc_CreateStringTable\x10,\x12\x19\n\x15svc_\ + UpdateStringTable\x10-\x12\x11\n\rsvc_VoiceInit\x10.\x12\x11\n\rsvc_Voic\ + eData\x10/\x12\r\n\tsvc_Print\x100\x12\x0e\n\nsvc_Sounds\x101\x12\x0f\n\ + \x0bsvc_SetView\x102\x12\x1c\n\x18svc_ClearAllStringTables\x103\x12\x14\ + \n\x10svc_CmdKeyValues\x104\x12\x10\n\x0csvc_BSPDecal\x105\x12\x13\n\x0f\ + svc_SplitScreen\x106\x12\x16\n\x12svc_PacketEntities\x107\x12\x10\n\x0cs\ + vc_Prefetch\x108\x12\x0c\n\x08svc_Menu\x109\x12\x14\n\x10svc_GetCvarValu\ + e\x10:\x12\x11\n\rsvc_StopSound\x10;\x12\x10\n\x0csvc_PeerList\x10<\x12\ + \x16\n\x12svc_PacketReliable\x10=\x12\x12\n\x0esvc_HLTVStatus\x10>\x12\ + \x15\n\x11svc_ServerSteamID\x10?\x12\x16\n\x12svc_FullFrameSplit\x10F\ + \x12\x19\n\x15svc_RconServerDetails\x10G\x12\x13\n\x0fsvc_UserMessage\ + \x10H\x12\x19\n\x15svc_Broadcast_Command\x10J\x12\x1f\n\x1bsvc_HltvFixup\ + OperatorStatus\x10K\x12\x10\n\x0csvc_UserCmds\x10L*g\n\x11VoiceDataForma\ + t_t\x12\x1a\n\x16VOICEDATA_FORMAT_STEAM\x10\0\x12\x1b\n\x17VOICEDATA_FOR\ + MAT_ENGINE\x10\x01\x12\x19\n\x15VOICEDATA_FORMAT_OPUS\x10\x02*B\n\x0eReq\ + uestPause_t\x12\x0c\n\x08RP_PAUSE\x10\0\x12\x0e\n\nRP_UNPAUSE\x10\x01\ + \x12\x12\n\x0eRP_TOGGLEPAUSE\x10\x02*\x1d\n\x0cPrefetchType\x12\r\n\tPFT\ + _SOUND\x10\0*V\n\x17ESplitScreenMessageType\x12\x1b\n\x17MSG_SPLITSCREEN\ + _ADDUSER\x10\0\x12\x1e\n\x1aMSG_SPLITSCREEN_REMOVEUSER\x10\x01*\xb3\x01\ + \n\x15EQueryCvarValueStatus\x12%\n!eQueryCvarValueStatus_ValueIntact\x10\ + \0\x12&\n\"eQueryCvarValueStatus_CvarNotFound\x10\x01\x12\"\n\x1eeQueryC\ + varValueStatus_NotACvar\x10\x02\x12'\n#eQueryCvarValueStatus_CvarProtect\ + ed\x10\x03*h\n\x0bDIALOG_TYPE\x12\x0e\n\nDIALOG_MSG\x10\0\x12\x0f\n\x0bD\ + IALOG_MENU\x10\x01\x12\x0f\n\x0bDIALOG_TEXT\x10\x02\x12\x10\n\x0cDIALOG_\ + ENTRY\x10\x03\x12\x15\n\x11DIALOG_ASKCONNECT\x10\x04*+\n\x19SVC_Messages\ + _LowFrequency\x12\x0e\n\tsvc_dummy\x10\xd8\x04*a\n\x16Bidirectional_Mess\ + ages\x12\x1b\n\x17bi_RebroadcastGameEvent\x10\x10\x12\x18\n\x14bi_Rebroa\ + dcastSource\x10\x11\x12\x10\n\x0cbi_GameEvent\x10\x12*M\n#Bidirectional_\ + Messages_LowFrequency\x12\x11\n\x0cbi_RelayInfo\x10\xbc\x05\x12\x13\n\ + \x0ebi_RelayPacket\x10\xbd\x05*\xa1\x01\n\x11ReplayEventType_t\x12\x17\n\ + \x13REPLAY_EVENT_CANCEL\x10\0\x12\x16\n\x12REPLAY_EVENT_DEATH\x10\x01\ + \x12\x18\n\x14REPLAY_EVENT_GENERIC\x10\x02\x12'\n#REPLAY_EVENT_STUCK_NEE\ + D_FULL_UPDATE\x10\x03\x12\x18\n\x14REPLAY_EVENT_VICTORY\x10\x04\ "; /// `FileDescriptorProto` object which was a source for this generated file @@ -22040,7 +21855,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); deps.push(super::networkbasetypes::file_descriptor().clone()); - let mut messages = ::std::vec::Vec::with_capacity(78); + let mut messages = ::std::vec::Vec::with_capacity(77); messages.push(CCLCMsg_ClientInfo::generated_message_descriptor_data()); messages.push(CCLCMsg_Move::generated_message_descriptor_data()); messages.push(CMsgVoiceAudio::generated_message_descriptor_data()); @@ -22051,7 +21866,6 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(CCLCMsg_FileCRCCheck::generated_message_descriptor_data()); messages.push(CCLCMsg_LoadingProgress::generated_message_descriptor_data()); messages.push(CCLCMsg_SplitPlayerConnect::generated_message_descriptor_data()); - messages.push(CCLCMsg_ClientMessage::generated_message_descriptor_data()); messages.push(CCLCMsg_SplitPlayerDisconnect::generated_message_descriptor_data()); messages.push(CCLCMsg_ServerStatus::generated_message_descriptor_data()); messages.push(CCLCMsg_RequestPause::generated_message_descriptor_data()); diff --git a/src/csgoproto/src/network_connection.rs b/src/csgoproto/src/network_connection.rs index 2f213be2..580b8655 100644 --- a/src/csgoproto/src/network_connection.rs +++ b/src/csgoproto/src/network_connection.rs @@ -264,6 +264,8 @@ pub enum ENetworkDisconnectionReason { NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160, // @@protoc_insertion_point(enum_value:ENetworkDisconnectionReason.NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET) NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161, + // @@protoc_insertion_point(enum_value:ENetworkDisconnectionReason.NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION) + NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION = 162, } impl ::protobuf::Enum for ENetworkDisconnectionReason { @@ -393,6 +395,7 @@ impl ::protobuf::Enum for ENetworkDisconnectionReason { 159 => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_SUICIDE), 160 => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN), 161 => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET), + 162 => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION), _ => ::std::option::Option::None } } @@ -517,6 +520,7 @@ impl ::protobuf::Enum for ENetworkDisconnectionReason { "NETWORK_DISCONNECT_KICKED_SUICIDE" => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_SUICIDE), "NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN" => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN), "NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET" => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET), + "NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION" => ::std::option::Option::Some(ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION), _ => ::std::option::Option::None } } @@ -640,6 +644,7 @@ impl ::protobuf::Enum for ENetworkDisconnectionReason { ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_SUICIDE, ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN, ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET, + ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION, ]; } @@ -769,6 +774,7 @@ impl ::protobuf::EnumFull for ENetworkDisconnectionReason { ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_SUICIDE => 115, ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN => 116, ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET => 117, + ENetworkDisconnectionReason::NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION => 118, }; Self::enum_descriptor().value_by_index(index) } @@ -790,11 +796,13 @@ impl ENetworkDisconnectionReason { pub mod exts { pub const network_connection_token: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, ::std::string::String> = ::protobuf::ext::ExtFieldOptional::new(50500, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_STRING); + + pub const network_connection_detail_token: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, ::std::string::String> = ::protobuf::ext::ExtFieldOptional::new(50501, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_STRING); } static file_descriptor_proto_data: &'static [u8] = b"\ \n\x18network_connection.proto\x1a\x20google/protobuf/descriptor.proto*\ - \xceJ\n\x1bENetworkDisconnectionReason\x12\x1e\n\x1aNETWORK_DISCONNECT_I\ + \xe0K\n\x1bENetworkDisconnectionReason\x12\x1e\n\x1aNETWORK_DISCONNECT_I\ NVALID\x10\0\x12\x1f\n\x1bNETWORK_DISCONNECT_SHUTDOWN\x10\x01\x12F\n%NET\ WORK_DISCONNECT_DISCONNECT_BY_USER\x10\x02\x1a\x1b\xa2\xd4\x18\x17#GameU\ I_Disconnect_User\x12J\n'NETWORK_DISCONNECT_DISCONNECT_BY_SERVER\x10\x03\ @@ -967,8 +975,13 @@ static file_descriptor_proto_data: &'static [u8] = b"\ ide\x12V\n&NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN\x10\xa0\x01\x1a)\xa2\ \xd4\x18%#Player_DisconnectReason_NoSteamLogin\x12X\n'NETWORK_DISCONNECT\ _KICKED_NOSTEAMTICKET\x10\xa1\x01\x1a*\xa2\xd4\x18&#Player_DisconnectRea\ - son_NoSteamTicket:]\n\x18network_connection_token\x18\xc4\x8a\x03\x20\ - \x01(\t\x12!.google.protobuf.EnumValueOptionsR\x16networkConnectionToken\ + son_NoSteamTicket\x12\x8f\x01\n)NETWORK_DISCONNECT_KICKED_INPUTAUTOMATIO\ + N\x10\xa2\x01\x1a_\xa2\xd4\x18(#Player_DisconnectReason_InputAutomation\ + \xaa\xd4\x18/#Player_DisconnectReason_InputAutomation_Detail:]\n\x18netw\ + ork_connection_token\x18\xc4\x8a\x03\x20\x01(\t\x12!.google.protobuf.Enu\ + mValueOptionsR\x16networkConnectionToken:j\n\x1fnetwork_connection_detai\ + l_token\x18\xc5\x8a\x03\x20\x01(\t\x12!.google.protobuf.EnumValueOptions\ + R\x1cnetworkConnectionDetailToken\ "; /// `FileDescriptorProto` object which was a source for this generated file diff --git a/src/csgoproto/src/networkbasetypes.rs b/src/csgoproto/src/networkbasetypes.rs index a6cabf40..c756e91e 100644 --- a/src/csgoproto/src/networkbasetypes.rs +++ b/src/csgoproto/src/networkbasetypes.rs @@ -2419,150 +2419,6 @@ impl ::protobuf::reflect::ProtobufValue for CNETMsg_SplitScreenUser { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } -// @@protoc_insertion_point(message:CNETMsg_Disconnect_Legacy) -#[derive(PartialEq,Clone,Default,Debug)] -pub struct CNETMsg_Disconnect_Legacy { - // message fields - // @@protoc_insertion_point(field:CNETMsg_Disconnect_Legacy.reason) - pub reason: ::std::option::Option<::protobuf::EnumOrUnknown>, - // special fields - // @@protoc_insertion_point(special_field:CNETMsg_Disconnect_Legacy.special_fields) - pub special_fields: ::protobuf::SpecialFields, -} - -impl<'a> ::std::default::Default for &'a CNETMsg_Disconnect_Legacy { - fn default() -> &'a CNETMsg_Disconnect_Legacy { - ::default_instance() - } -} - -impl CNETMsg_Disconnect_Legacy { - pub fn new() -> CNETMsg_Disconnect_Legacy { - ::std::default::Default::default() - } - - // optional .ENetworkDisconnectionReason reason = 2; - - pub fn reason(&self) -> super::network_connection::ENetworkDisconnectionReason { - match self.reason { - Some(e) => e.enum_value_or(super::network_connection::ENetworkDisconnectionReason::NETWORK_DISCONNECT_INVALID), - None => super::network_connection::ENetworkDisconnectionReason::NETWORK_DISCONNECT_INVALID, - } - } - - pub fn clear_reason(&mut self) { - self.reason = ::std::option::Option::None; - } - - pub fn has_reason(&self) -> bool { - self.reason.is_some() - } - - // Param is passed by value, moved - pub fn set_reason(&mut self, v: super::network_connection::ENetworkDisconnectionReason) { - self.reason = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); - } - - fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(1); - let mut oneofs = ::std::vec::Vec::with_capacity(0); - fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( - "reason", - |m: &CNETMsg_Disconnect_Legacy| { &m.reason }, - |m: &mut CNETMsg_Disconnect_Legacy| { &mut m.reason }, - )); - ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( - "CNETMsg_Disconnect_Legacy", - fields, - oneofs, - ) - } -} - -impl ::protobuf::Message for CNETMsg_Disconnect_Legacy { - const NAME: &'static str = "CNETMsg_Disconnect_Legacy"; - - fn is_initialized(&self) -> bool { - true - } - - fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { - while let Some(tag) = is.read_raw_tag_or_eof()? { - match tag { - 16 => { - self.reason = ::std::option::Option::Some(is.read_enum_or_unknown()?); - }, - tag => { - ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; - }, - }; - } - ::std::result::Result::Ok(()) - } - - // Compute sizes of nested messages - #[allow(unused_variables)] - fn compute_size(&self) -> u64 { - let mut my_size = 0; - if let Some(v) = self.reason { - my_size += ::protobuf::rt::int32_size(2, v.value()); - } - my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); - self.special_fields.cached_size().set(my_size as u32); - my_size - } - - fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { - if let Some(v) = self.reason { - os.write_enum(2, ::protobuf::EnumOrUnknown::value(&v))?; - } - os.write_unknown_fields(self.special_fields.unknown_fields())?; - ::std::result::Result::Ok(()) - } - - fn special_fields(&self) -> &::protobuf::SpecialFields { - &self.special_fields - } - - fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { - &mut self.special_fields - } - - fn new() -> CNETMsg_Disconnect_Legacy { - CNETMsg_Disconnect_Legacy::new() - } - - fn clear(&mut self) { - self.reason = ::std::option::Option::None; - self.special_fields.clear(); - } - - fn default_instance() -> &'static CNETMsg_Disconnect_Legacy { - static instance: CNETMsg_Disconnect_Legacy = CNETMsg_Disconnect_Legacy { - reason: ::std::option::Option::None, - special_fields: ::protobuf::SpecialFields::new(), - }; - &instance - } -} - -impl ::protobuf::MessageFull for CNETMsg_Disconnect_Legacy { - fn descriptor() -> ::protobuf::reflect::MessageDescriptor { - static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); - descriptor.get(|| file_descriptor().message_by_package_relative_name("CNETMsg_Disconnect_Legacy").unwrap()).clone() - } -} - -impl ::std::fmt::Display for CNETMsg_Disconnect_Legacy { - fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { - ::protobuf::text_format::fmt(self, f) - } -} - -impl ::protobuf::reflect::ProtobufValue for CNETMsg_Disconnect_Legacy { - type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; -} - // @@protoc_insertion_point(message:CNETMsg_Tick) #[derive(PartialEq,Clone,Default,Debug)] pub struct CNETMsg_Tick { @@ -7989,20 +7845,18 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x20\x03(\x0b2\x10.CMsg_CVars.CVarR\x05cvars\x1a0\n\x04CVar\x12\x12\n\ \x04name\x18\x01\x20\x01(\tR\x04name\x12\x14\n\x05value\x18\x02\x20\x01(\ \tR\x05value\"\r\n\x0bCNETMsg_NOP\"-\n\x17CNETMsg_SplitScreenUser\x12\ - \x12\n\x04slot\x18\x01\x20\x01(\x05R\x04slot\"m\n\x19CNETMsg_Disconnect_\ - Legacy\x12P\n\x06reason\x18\x02\x20\x01(\x0e2\x1c.ENetworkDisconnectionR\ - eason:\x1aNETWORK_DISCONNECT_INVALIDR\x06reason\"\xc3\x04\n\x0cCNETMsg_T\ - ick\x12\x12\n\x04tick\x18\x01\x20\x01(\rR\x04tick\x12%\n\x0ehost_frameti\ - me\x18\x02\x20\x01(\rR\rhostFrametime\x12?\n\x1chost_frametime_std_devia\ - tion\x18\x03\x20\x01(\rR\x19hostFrametimeStdDeviation\x121\n\x14host_com\ - putationtime\x18\x04\x20\x01(\rR\x13hostComputationtime\x12K\n\"host_com\ - putationtime_std_deviation\x18\x05\x20\x01(\rR\x1fhostComputationtimeStd\ - Deviation\x12I\n!host_framestarttime_std_deviation\x18\x06\x20\x01(\rR\ - \x1ehostFramestarttimeStdDeviation\x12\x1b\n\thost_loss\x18\x07\x20\x01(\ - \rR\x08hostLoss\x12:\n\x19host_unfiltered_frametime\x18\x08\x20\x01(\rR\ - \x17hostUnfilteredFrametime\x12*\n\x11hltv_replay_flags\x18\t\x20\x01(\r\ - R\x0fhltvReplayFlags\x12,\n\x12expected_long_tick\x18\n\x20\x01(\rR\x10e\ - xpectedLongTick\x129\n\x19expected_long_tick_reason\x18\x0b\x20\x01(\tR\ + \x12\n\x04slot\x18\x01\x20\x01(\x05R\x04slot\"\xc3\x04\n\x0cCNETMsg_Tick\ + \x12\x12\n\x04tick\x18\x01\x20\x01(\rR\x04tick\x12%\n\x0ehost_frametime\ + \x18\x02\x20\x01(\rR\rhostFrametime\x12?\n\x1chost_frametime_std_deviati\ + on\x18\x03\x20\x01(\rR\x19hostFrametimeStdDeviation\x121\n\x14host_compu\ + tationtime\x18\x04\x20\x01(\rR\x13hostComputationtime\x12K\n\"host_compu\ + tationtime_std_deviation\x18\x05\x20\x01(\rR\x1fhostComputationtimeStdDe\ + viation\x12I\n!host_framestarttime_std_deviation\x18\x06\x20\x01(\rR\x1e\ + hostFramestarttimeStdDeviation\x12\x1b\n\thost_loss\x18\x07\x20\x01(\rR\ + \x08hostLoss\x12:\n\x19host_unfiltered_frametime\x18\x08\x20\x01(\rR\x17\ + hostUnfilteredFrametime\x12*\n\x11hltv_replay_flags\x18\t\x20\x01(\rR\ + \x0fhltvReplayFlags\x12,\n\x12expected_long_tick\x18\n\x20\x01(\rR\x10ex\ + pectedLongTick\x129\n\x19expected_long_tick_reason\x18\x0b\x20\x01(\tR\ \x16expectedLongTickReason\"V\n\x11CNETMsg_StringCmd\x12\x18\n\x07comman\ d\x18\x01\x20\x01(\tR\x07command\x12'\n\x0fprediction_sync\x18\x02\x20\ \x01(\rR\x0epredictionSync\":\n\x11CNETMsg_SetConVar\x12%\n\x07convars\ @@ -8117,7 +7971,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); deps.push(super::network_connection::file_descriptor().clone()); - let mut messages = ::std::vec::Vec::with_capacity(28); + let mut messages = ::std::vec::Vec::with_capacity(27); messages.push(CMsgVector::generated_message_descriptor_data()); messages.push(CMsgVector2D::generated_message_descriptor_data()); messages.push(CMsgQAngle::generated_message_descriptor_data()); @@ -8129,7 +7983,6 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(CMsg_CVars::generated_message_descriptor_data()); messages.push(CNETMsg_NOP::generated_message_descriptor_data()); messages.push(CNETMsg_SplitScreenUser::generated_message_descriptor_data()); - messages.push(CNETMsg_Disconnect_Legacy::generated_message_descriptor_data()); messages.push(CNETMsg_Tick::generated_message_descriptor_data()); messages.push(CNETMsg_StringCmd::generated_message_descriptor_data()); messages.push(CNETMsg_SetConVar::generated_message_descriptor_data()); diff --git a/src/csgoproto/src/usercmd.rs b/src/csgoproto/src/usercmd.rs new file mode 100644 index 00000000..71db2651 --- /dev/null +++ b/src/csgoproto/src/usercmd.rs @@ -0,0 +1,1411 @@ +// This file is generated by rust-protobuf 3.5.0. Do not edit +// .proto file is parsed by protoc 3.12.4 +// @generated + +// https://github.com/rust-lang/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy::all)] + +#![allow(unused_attributes)] +#![cfg_attr(rustfmt, rustfmt::skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unused_results)] +#![allow(unused_mut)] + +//! Generated file from `usercmd.proto` + +/// Generated files are compatible only with the same version +/// of protobuf runtime. +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_0; + +// @@protoc_insertion_point(message:CInButtonStatePB) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CInButtonStatePB { + // message fields + // @@protoc_insertion_point(field:CInButtonStatePB.buttonstate1) + pub buttonstate1: ::std::option::Option, + // @@protoc_insertion_point(field:CInButtonStatePB.buttonstate2) + pub buttonstate2: ::std::option::Option, + // @@protoc_insertion_point(field:CInButtonStatePB.buttonstate3) + pub buttonstate3: ::std::option::Option, + // special fields + // @@protoc_insertion_point(special_field:CInButtonStatePB.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CInButtonStatePB { + fn default() -> &'a CInButtonStatePB { + ::default_instance() + } +} + +impl CInButtonStatePB { + pub fn new() -> CInButtonStatePB { + ::std::default::Default::default() + } + + // optional uint64 buttonstate1 = 1; + + pub fn buttonstate1(&self) -> u64 { + self.buttonstate1.unwrap_or(0) + } + + pub fn clear_buttonstate1(&mut self) { + self.buttonstate1 = ::std::option::Option::None; + } + + pub fn has_buttonstate1(&self) -> bool { + self.buttonstate1.is_some() + } + + // Param is passed by value, moved + pub fn set_buttonstate1(&mut self, v: u64) { + self.buttonstate1 = ::std::option::Option::Some(v); + } + + // optional uint64 buttonstate2 = 2; + + pub fn buttonstate2(&self) -> u64 { + self.buttonstate2.unwrap_or(0) + } + + pub fn clear_buttonstate2(&mut self) { + self.buttonstate2 = ::std::option::Option::None; + } + + pub fn has_buttonstate2(&self) -> bool { + self.buttonstate2.is_some() + } + + // Param is passed by value, moved + pub fn set_buttonstate2(&mut self, v: u64) { + self.buttonstate2 = ::std::option::Option::Some(v); + } + + // optional uint64 buttonstate3 = 3; + + pub fn buttonstate3(&self) -> u64 { + self.buttonstate3.unwrap_or(0) + } + + pub fn clear_buttonstate3(&mut self) { + self.buttonstate3 = ::std::option::Option::None; + } + + pub fn has_buttonstate3(&self) -> bool { + self.buttonstate3.is_some() + } + + // Param is passed by value, moved + pub fn set_buttonstate3(&mut self, v: u64) { + self.buttonstate3 = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(3); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "buttonstate1", + |m: &CInButtonStatePB| { &m.buttonstate1 }, + |m: &mut CInButtonStatePB| { &mut m.buttonstate1 }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "buttonstate2", + |m: &CInButtonStatePB| { &m.buttonstate2 }, + |m: &mut CInButtonStatePB| { &mut m.buttonstate2 }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "buttonstate3", + |m: &CInButtonStatePB| { &m.buttonstate3 }, + |m: &mut CInButtonStatePB| { &mut m.buttonstate3 }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CInButtonStatePB", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CInButtonStatePB { + const NAME: &'static str = "CInButtonStatePB"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 8 => { + self.buttonstate1 = ::std::option::Option::Some(is.read_uint64()?); + }, + 16 => { + self.buttonstate2 = ::std::option::Option::Some(is.read_uint64()?); + }, + 24 => { + self.buttonstate3 = ::std::option::Option::Some(is.read_uint64()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.buttonstate1 { + my_size += ::protobuf::rt::uint64_size(1, v); + } + if let Some(v) = self.buttonstate2 { + my_size += ::protobuf::rt::uint64_size(2, v); + } + if let Some(v) = self.buttonstate3 { + my_size += ::protobuf::rt::uint64_size(3, v); + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.buttonstate1 { + os.write_uint64(1, v)?; + } + if let Some(v) = self.buttonstate2 { + os.write_uint64(2, v)?; + } + if let Some(v) = self.buttonstate3 { + os.write_uint64(3, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CInButtonStatePB { + CInButtonStatePB::new() + } + + fn clear(&mut self) { + self.buttonstate1 = ::std::option::Option::None; + self.buttonstate2 = ::std::option::Option::None; + self.buttonstate3 = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static CInButtonStatePB { + static instance: CInButtonStatePB = CInButtonStatePB { + buttonstate1: ::std::option::Option::None, + buttonstate2: ::std::option::Option::None, + buttonstate3: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CInButtonStatePB { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CInButtonStatePB").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CInButtonStatePB { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CInButtonStatePB { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +// @@protoc_insertion_point(message:CSubtickMoveStep) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CSubtickMoveStep { + // message fields + // @@protoc_insertion_point(field:CSubtickMoveStep.button) + pub button: ::std::option::Option, + // @@protoc_insertion_point(field:CSubtickMoveStep.pressed) + pub pressed: ::std::option::Option, + // @@protoc_insertion_point(field:CSubtickMoveStep.when) + pub when: ::std::option::Option, + // @@protoc_insertion_point(field:CSubtickMoveStep.analog_forward_delta) + pub analog_forward_delta: ::std::option::Option, + // @@protoc_insertion_point(field:CSubtickMoveStep.analog_left_delta) + pub analog_left_delta: ::std::option::Option, + // special fields + // @@protoc_insertion_point(special_field:CSubtickMoveStep.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CSubtickMoveStep { + fn default() -> &'a CSubtickMoveStep { + ::default_instance() + } +} + +impl CSubtickMoveStep { + pub fn new() -> CSubtickMoveStep { + ::std::default::Default::default() + } + + // optional uint64 button = 1; + + pub fn button(&self) -> u64 { + self.button.unwrap_or(0) + } + + pub fn clear_button(&mut self) { + self.button = ::std::option::Option::None; + } + + pub fn has_button(&self) -> bool { + self.button.is_some() + } + + // Param is passed by value, moved + pub fn set_button(&mut self, v: u64) { + self.button = ::std::option::Option::Some(v); + } + + // optional bool pressed = 2; + + pub fn pressed(&self) -> bool { + self.pressed.unwrap_or(false) + } + + pub fn clear_pressed(&mut self) { + self.pressed = ::std::option::Option::None; + } + + pub fn has_pressed(&self) -> bool { + self.pressed.is_some() + } + + // Param is passed by value, moved + pub fn set_pressed(&mut self, v: bool) { + self.pressed = ::std::option::Option::Some(v); + } + + // optional float when = 3; + + pub fn when(&self) -> f32 { + self.when.unwrap_or(0.) + } + + pub fn clear_when(&mut self) { + self.when = ::std::option::Option::None; + } + + pub fn has_when(&self) -> bool { + self.when.is_some() + } + + // Param is passed by value, moved + pub fn set_when(&mut self, v: f32) { + self.when = ::std::option::Option::Some(v); + } + + // optional float analog_forward_delta = 4; + + pub fn analog_forward_delta(&self) -> f32 { + self.analog_forward_delta.unwrap_or(0.) + } + + pub fn clear_analog_forward_delta(&mut self) { + self.analog_forward_delta = ::std::option::Option::None; + } + + pub fn has_analog_forward_delta(&self) -> bool { + self.analog_forward_delta.is_some() + } + + // Param is passed by value, moved + pub fn set_analog_forward_delta(&mut self, v: f32) { + self.analog_forward_delta = ::std::option::Option::Some(v); + } + + // optional float analog_left_delta = 5; + + pub fn analog_left_delta(&self) -> f32 { + self.analog_left_delta.unwrap_or(0.) + } + + pub fn clear_analog_left_delta(&mut self) { + self.analog_left_delta = ::std::option::Option::None; + } + + pub fn has_analog_left_delta(&self) -> bool { + self.analog_left_delta.is_some() + } + + // Param is passed by value, moved + pub fn set_analog_left_delta(&mut self, v: f32) { + self.analog_left_delta = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(5); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "button", + |m: &CSubtickMoveStep| { &m.button }, + |m: &mut CSubtickMoveStep| { &mut m.button }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "pressed", + |m: &CSubtickMoveStep| { &m.pressed }, + |m: &mut CSubtickMoveStep| { &mut m.pressed }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "when", + |m: &CSubtickMoveStep| { &m.when }, + |m: &mut CSubtickMoveStep| { &mut m.when }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "analog_forward_delta", + |m: &CSubtickMoveStep| { &m.analog_forward_delta }, + |m: &mut CSubtickMoveStep| { &mut m.analog_forward_delta }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "analog_left_delta", + |m: &CSubtickMoveStep| { &m.analog_left_delta }, + |m: &mut CSubtickMoveStep| { &mut m.analog_left_delta }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CSubtickMoveStep", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CSubtickMoveStep { + const NAME: &'static str = "CSubtickMoveStep"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 8 => { + self.button = ::std::option::Option::Some(is.read_uint64()?); + }, + 16 => { + self.pressed = ::std::option::Option::Some(is.read_bool()?); + }, + 29 => { + self.when = ::std::option::Option::Some(is.read_float()?); + }, + 37 => { + self.analog_forward_delta = ::std::option::Option::Some(is.read_float()?); + }, + 45 => { + self.analog_left_delta = ::std::option::Option::Some(is.read_float()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.button { + my_size += ::protobuf::rt::uint64_size(1, v); + } + if let Some(v) = self.pressed { + my_size += 1 + 1; + } + if let Some(v) = self.when { + my_size += 1 + 4; + } + if let Some(v) = self.analog_forward_delta { + my_size += 1 + 4; + } + if let Some(v) = self.analog_left_delta { + my_size += 1 + 4; + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.button { + os.write_uint64(1, v)?; + } + if let Some(v) = self.pressed { + os.write_bool(2, v)?; + } + if let Some(v) = self.when { + os.write_float(3, v)?; + } + if let Some(v) = self.analog_forward_delta { + os.write_float(4, v)?; + } + if let Some(v) = self.analog_left_delta { + os.write_float(5, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CSubtickMoveStep { + CSubtickMoveStep::new() + } + + fn clear(&mut self) { + self.button = ::std::option::Option::None; + self.pressed = ::std::option::Option::None; + self.when = ::std::option::Option::None; + self.analog_forward_delta = ::std::option::Option::None; + self.analog_left_delta = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static CSubtickMoveStep { + static instance: CSubtickMoveStep = CSubtickMoveStep { + button: ::std::option::Option::None, + pressed: ::std::option::Option::None, + when: ::std::option::Option::None, + analog_forward_delta: ::std::option::Option::None, + analog_left_delta: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CSubtickMoveStep { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CSubtickMoveStep").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CSubtickMoveStep { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CSubtickMoveStep { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +// @@protoc_insertion_point(message:CBaseUserCmdPB) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CBaseUserCmdPB { + // message fields + // @@protoc_insertion_point(field:CBaseUserCmdPB.legacy_command_number) + pub legacy_command_number: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.client_tick) + pub client_tick: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.buttons_pb) + pub buttons_pb: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CBaseUserCmdPB.viewangles) + pub viewangles: ::protobuf::MessageField, + // @@protoc_insertion_point(field:CBaseUserCmdPB.forwardmove) + pub forwardmove: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.leftmove) + pub leftmove: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.upmove) + pub upmove: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.impulse) + pub impulse: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.weaponselect) + pub weaponselect: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.random_seed) + pub random_seed: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.mousedx) + pub mousedx: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.mousedy) + pub mousedy: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.pawn_entity_handle) + pub pawn_entity_handle: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.subtick_moves) + pub subtick_moves: ::std::vec::Vec, + // @@protoc_insertion_point(field:CBaseUserCmdPB.move_crc) + pub move_crc: ::std::option::Option<::bytes::Bytes>, + // @@protoc_insertion_point(field:CBaseUserCmdPB.consumed_server_angle_changes) + pub consumed_server_angle_changes: ::std::option::Option, + // @@protoc_insertion_point(field:CBaseUserCmdPB.cmd_flags) + pub cmd_flags: ::std::option::Option, + // special fields + // @@protoc_insertion_point(special_field:CBaseUserCmdPB.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CBaseUserCmdPB { + fn default() -> &'a CBaseUserCmdPB { + ::default_instance() + } +} + +impl CBaseUserCmdPB { + pub fn new() -> CBaseUserCmdPB { + ::std::default::Default::default() + } + + // optional int32 legacy_command_number = 1; + + pub fn legacy_command_number(&self) -> i32 { + self.legacy_command_number.unwrap_or(0) + } + + pub fn clear_legacy_command_number(&mut self) { + self.legacy_command_number = ::std::option::Option::None; + } + + pub fn has_legacy_command_number(&self) -> bool { + self.legacy_command_number.is_some() + } + + // Param is passed by value, moved + pub fn set_legacy_command_number(&mut self, v: i32) { + self.legacy_command_number = ::std::option::Option::Some(v); + } + + // optional int32 client_tick = 2; + + pub fn client_tick(&self) -> i32 { + self.client_tick.unwrap_or(0) + } + + pub fn clear_client_tick(&mut self) { + self.client_tick = ::std::option::Option::None; + } + + pub fn has_client_tick(&self) -> bool { + self.client_tick.is_some() + } + + // Param is passed by value, moved + pub fn set_client_tick(&mut self, v: i32) { + self.client_tick = ::std::option::Option::Some(v); + } + + // optional float forwardmove = 5; + + pub fn forwardmove(&self) -> f32 { + self.forwardmove.unwrap_or(0.) + } + + pub fn clear_forwardmove(&mut self) { + self.forwardmove = ::std::option::Option::None; + } + + pub fn has_forwardmove(&self) -> bool { + self.forwardmove.is_some() + } + + // Param is passed by value, moved + pub fn set_forwardmove(&mut self, v: f32) { + self.forwardmove = ::std::option::Option::Some(v); + } + + // optional float leftmove = 6; + + pub fn leftmove(&self) -> f32 { + self.leftmove.unwrap_or(0.) + } + + pub fn clear_leftmove(&mut self) { + self.leftmove = ::std::option::Option::None; + } + + pub fn has_leftmove(&self) -> bool { + self.leftmove.is_some() + } + + // Param is passed by value, moved + pub fn set_leftmove(&mut self, v: f32) { + self.leftmove = ::std::option::Option::Some(v); + } + + // optional float upmove = 7; + + pub fn upmove(&self) -> f32 { + self.upmove.unwrap_or(0.) + } + + pub fn clear_upmove(&mut self) { + self.upmove = ::std::option::Option::None; + } + + pub fn has_upmove(&self) -> bool { + self.upmove.is_some() + } + + // Param is passed by value, moved + pub fn set_upmove(&mut self, v: f32) { + self.upmove = ::std::option::Option::Some(v); + } + + // optional int32 impulse = 8; + + pub fn impulse(&self) -> i32 { + self.impulse.unwrap_or(0) + } + + pub fn clear_impulse(&mut self) { + self.impulse = ::std::option::Option::None; + } + + pub fn has_impulse(&self) -> bool { + self.impulse.is_some() + } + + // Param is passed by value, moved + pub fn set_impulse(&mut self, v: i32) { + self.impulse = ::std::option::Option::Some(v); + } + + // optional int32 weaponselect = 9; + + pub fn weaponselect(&self) -> i32 { + self.weaponselect.unwrap_or(0) + } + + pub fn clear_weaponselect(&mut self) { + self.weaponselect = ::std::option::Option::None; + } + + pub fn has_weaponselect(&self) -> bool { + self.weaponselect.is_some() + } + + // Param is passed by value, moved + pub fn set_weaponselect(&mut self, v: i32) { + self.weaponselect = ::std::option::Option::Some(v); + } + + // optional int32 random_seed = 10; + + pub fn random_seed(&self) -> i32 { + self.random_seed.unwrap_or(0) + } + + pub fn clear_random_seed(&mut self) { + self.random_seed = ::std::option::Option::None; + } + + pub fn has_random_seed(&self) -> bool { + self.random_seed.is_some() + } + + // Param is passed by value, moved + pub fn set_random_seed(&mut self, v: i32) { + self.random_seed = ::std::option::Option::Some(v); + } + + // optional int32 mousedx = 11; + + pub fn mousedx(&self) -> i32 { + self.mousedx.unwrap_or(0) + } + + pub fn clear_mousedx(&mut self) { + self.mousedx = ::std::option::Option::None; + } + + pub fn has_mousedx(&self) -> bool { + self.mousedx.is_some() + } + + // Param is passed by value, moved + pub fn set_mousedx(&mut self, v: i32) { + self.mousedx = ::std::option::Option::Some(v); + } + + // optional int32 mousedy = 12; + + pub fn mousedy(&self) -> i32 { + self.mousedy.unwrap_or(0) + } + + pub fn clear_mousedy(&mut self) { + self.mousedy = ::std::option::Option::None; + } + + pub fn has_mousedy(&self) -> bool { + self.mousedy.is_some() + } + + // Param is passed by value, moved + pub fn set_mousedy(&mut self, v: i32) { + self.mousedy = ::std::option::Option::Some(v); + } + + // optional uint32 pawn_entity_handle = 14; + + pub fn pawn_entity_handle(&self) -> u32 { + self.pawn_entity_handle.unwrap_or(16777215u32) + } + + pub fn clear_pawn_entity_handle(&mut self) { + self.pawn_entity_handle = ::std::option::Option::None; + } + + pub fn has_pawn_entity_handle(&self) -> bool { + self.pawn_entity_handle.is_some() + } + + // Param is passed by value, moved + pub fn set_pawn_entity_handle(&mut self, v: u32) { + self.pawn_entity_handle = ::std::option::Option::Some(v); + } + + // optional bytes move_crc = 19; + + pub fn move_crc(&self) -> &[u8] { + match self.move_crc.as_ref() { + Some(v) => v, + None => &[], + } + } + + pub fn clear_move_crc(&mut self) { + self.move_crc = ::std::option::Option::None; + } + + pub fn has_move_crc(&self) -> bool { + self.move_crc.is_some() + } + + // Param is passed by value, moved + pub fn set_move_crc(&mut self, v: ::bytes::Bytes) { + self.move_crc = ::std::option::Option::Some(v); + } + + // Mutable pointer to the field. + // If field is not initialized, it is initialized with default value first. + pub fn mut_move_crc(&mut self) -> &mut ::bytes::Bytes { + if self.move_crc.is_none() { + self.move_crc = ::std::option::Option::Some(::bytes::Bytes::new()); + } + self.move_crc.as_mut().unwrap() + } + + // Take field + pub fn take_move_crc(&mut self) -> ::bytes::Bytes { + self.move_crc.take().unwrap_or_else(|| ::bytes::Bytes::new()) + } + + // optional uint32 consumed_server_angle_changes = 20; + + pub fn consumed_server_angle_changes(&self) -> u32 { + self.consumed_server_angle_changes.unwrap_or(0) + } + + pub fn clear_consumed_server_angle_changes(&mut self) { + self.consumed_server_angle_changes = ::std::option::Option::None; + } + + pub fn has_consumed_server_angle_changes(&self) -> bool { + self.consumed_server_angle_changes.is_some() + } + + // Param is passed by value, moved + pub fn set_consumed_server_angle_changes(&mut self, v: u32) { + self.consumed_server_angle_changes = ::std::option::Option::Some(v); + } + + // optional int32 cmd_flags = 21; + + pub fn cmd_flags(&self) -> i32 { + self.cmd_flags.unwrap_or(0) + } + + pub fn clear_cmd_flags(&mut self) { + self.cmd_flags = ::std::option::Option::None; + } + + pub fn has_cmd_flags(&self) -> bool { + self.cmd_flags.is_some() + } + + // Param is passed by value, moved + pub fn set_cmd_flags(&mut self, v: i32) { + self.cmd_flags = ::std::option::Option::Some(v); + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(17); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "legacy_command_number", + |m: &CBaseUserCmdPB| { &m.legacy_command_number }, + |m: &mut CBaseUserCmdPB| { &mut m.legacy_command_number }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "client_tick", + |m: &CBaseUserCmdPB| { &m.client_tick }, + |m: &mut CBaseUserCmdPB| { &mut m.client_tick }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CInButtonStatePB>( + "buttons_pb", + |m: &CBaseUserCmdPB| { &m.buttons_pb }, + |m: &mut CBaseUserCmdPB| { &mut m.buttons_pb }, + )); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, super::networkbasetypes::CMsgQAngle>( + "viewangles", + |m: &CBaseUserCmdPB| { &m.viewangles }, + |m: &mut CBaseUserCmdPB| { &mut m.viewangles }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "forwardmove", + |m: &CBaseUserCmdPB| { &m.forwardmove }, + |m: &mut CBaseUserCmdPB| { &mut m.forwardmove }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "leftmove", + |m: &CBaseUserCmdPB| { &m.leftmove }, + |m: &mut CBaseUserCmdPB| { &mut m.leftmove }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "upmove", + |m: &CBaseUserCmdPB| { &m.upmove }, + |m: &mut CBaseUserCmdPB| { &mut m.upmove }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "impulse", + |m: &CBaseUserCmdPB| { &m.impulse }, + |m: &mut CBaseUserCmdPB| { &mut m.impulse }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "weaponselect", + |m: &CBaseUserCmdPB| { &m.weaponselect }, + |m: &mut CBaseUserCmdPB| { &mut m.weaponselect }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "random_seed", + |m: &CBaseUserCmdPB| { &m.random_seed }, + |m: &mut CBaseUserCmdPB| { &mut m.random_seed }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "mousedx", + |m: &CBaseUserCmdPB| { &m.mousedx }, + |m: &mut CBaseUserCmdPB| { &mut m.mousedx }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "mousedy", + |m: &CBaseUserCmdPB| { &m.mousedy }, + |m: &mut CBaseUserCmdPB| { &mut m.mousedy }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "pawn_entity_handle", + |m: &CBaseUserCmdPB| { &m.pawn_entity_handle }, + |m: &mut CBaseUserCmdPB| { &mut m.pawn_entity_handle }, + )); + fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>( + "subtick_moves", + |m: &CBaseUserCmdPB| { &m.subtick_moves }, + |m: &mut CBaseUserCmdPB| { &mut m.subtick_moves }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "move_crc", + |m: &CBaseUserCmdPB| { &m.move_crc }, + |m: &mut CBaseUserCmdPB| { &mut m.move_crc }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "consumed_server_angle_changes", + |m: &CBaseUserCmdPB| { &m.consumed_server_angle_changes }, + |m: &mut CBaseUserCmdPB| { &mut m.consumed_server_angle_changes }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "cmd_flags", + |m: &CBaseUserCmdPB| { &m.cmd_flags }, + |m: &mut CBaseUserCmdPB| { &mut m.cmd_flags }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CBaseUserCmdPB", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CBaseUserCmdPB { + const NAME: &'static str = "CBaseUserCmdPB"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 8 => { + self.legacy_command_number = ::std::option::Option::Some(is.read_int32()?); + }, + 16 => { + self.client_tick = ::std::option::Option::Some(is.read_int32()?); + }, + 26 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.buttons_pb)?; + }, + 34 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.viewangles)?; + }, + 45 => { + self.forwardmove = ::std::option::Option::Some(is.read_float()?); + }, + 53 => { + self.leftmove = ::std::option::Option::Some(is.read_float()?); + }, + 61 => { + self.upmove = ::std::option::Option::Some(is.read_float()?); + }, + 64 => { + self.impulse = ::std::option::Option::Some(is.read_int32()?); + }, + 72 => { + self.weaponselect = ::std::option::Option::Some(is.read_int32()?); + }, + 80 => { + self.random_seed = ::std::option::Option::Some(is.read_int32()?); + }, + 88 => { + self.mousedx = ::std::option::Option::Some(is.read_int32()?); + }, + 96 => { + self.mousedy = ::std::option::Option::Some(is.read_int32()?); + }, + 112 => { + self.pawn_entity_handle = ::std::option::Option::Some(is.read_uint32()?); + }, + 146 => { + self.subtick_moves.push(is.read_message()?); + }, + 154 => { + self.move_crc = ::std::option::Option::Some(is.read_tokio_bytes()?); + }, + 160 => { + self.consumed_server_angle_changes = ::std::option::Option::Some(is.read_uint32()?); + }, + 168 => { + self.cmd_flags = ::std::option::Option::Some(is.read_int32()?); + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.legacy_command_number { + my_size += ::protobuf::rt::int32_size(1, v); + } + if let Some(v) = self.client_tick { + my_size += ::protobuf::rt::int32_size(2, v); + } + if let Some(v) = self.buttons_pb.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.viewangles.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + if let Some(v) = self.forwardmove { + my_size += 1 + 4; + } + if let Some(v) = self.leftmove { + my_size += 1 + 4; + } + if let Some(v) = self.upmove { + my_size += 1 + 4; + } + if let Some(v) = self.impulse { + my_size += ::protobuf::rt::int32_size(8, v); + } + if let Some(v) = self.weaponselect { + my_size += ::protobuf::rt::int32_size(9, v); + } + if let Some(v) = self.random_seed { + my_size += ::protobuf::rt::int32_size(10, v); + } + if let Some(v) = self.mousedx { + my_size += ::protobuf::rt::int32_size(11, v); + } + if let Some(v) = self.mousedy { + my_size += ::protobuf::rt::int32_size(12, v); + } + if let Some(v) = self.pawn_entity_handle { + my_size += ::protobuf::rt::uint32_size(14, v); + } + for value in &self.subtick_moves { + let len = value.compute_size(); + my_size += 2 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + }; + if let Some(v) = self.move_crc.as_ref() { + my_size += ::protobuf::rt::bytes_size(19, &v); + } + if let Some(v) = self.consumed_server_angle_changes { + my_size += ::protobuf::rt::uint32_size(20, v); + } + if let Some(v) = self.cmd_flags { + my_size += ::protobuf::rt::int32_size(21, v); + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.legacy_command_number { + os.write_int32(1, v)?; + } + if let Some(v) = self.client_tick { + os.write_int32(2, v)?; + } + if let Some(v) = self.buttons_pb.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(3, v, os)?; + } + if let Some(v) = self.viewangles.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(4, v, os)?; + } + if let Some(v) = self.forwardmove { + os.write_float(5, v)?; + } + if let Some(v) = self.leftmove { + os.write_float(6, v)?; + } + if let Some(v) = self.upmove { + os.write_float(7, v)?; + } + if let Some(v) = self.impulse { + os.write_int32(8, v)?; + } + if let Some(v) = self.weaponselect { + os.write_int32(9, v)?; + } + if let Some(v) = self.random_seed { + os.write_int32(10, v)?; + } + if let Some(v) = self.mousedx { + os.write_int32(11, v)?; + } + if let Some(v) = self.mousedy { + os.write_int32(12, v)?; + } + if let Some(v) = self.pawn_entity_handle { + os.write_uint32(14, v)?; + } + for v in &self.subtick_moves { + ::protobuf::rt::write_message_field_with_cached_size(18, v, os)?; + }; + if let Some(v) = self.move_crc.as_ref() { + os.write_bytes(19, v)?; + } + if let Some(v) = self.consumed_server_angle_changes { + os.write_uint32(20, v)?; + } + if let Some(v) = self.cmd_flags { + os.write_int32(21, v)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CBaseUserCmdPB { + CBaseUserCmdPB::new() + } + + fn clear(&mut self) { + self.legacy_command_number = ::std::option::Option::None; + self.client_tick = ::std::option::Option::None; + self.buttons_pb.clear(); + self.viewangles.clear(); + self.forwardmove = ::std::option::Option::None; + self.leftmove = ::std::option::Option::None; + self.upmove = ::std::option::Option::None; + self.impulse = ::std::option::Option::None; + self.weaponselect = ::std::option::Option::None; + self.random_seed = ::std::option::Option::None; + self.mousedx = ::std::option::Option::None; + self.mousedy = ::std::option::Option::None; + self.pawn_entity_handle = ::std::option::Option::None; + self.subtick_moves.clear(); + self.move_crc = ::std::option::Option::None; + self.consumed_server_angle_changes = ::std::option::Option::None; + self.cmd_flags = ::std::option::Option::None; + self.special_fields.clear(); + } + + fn default_instance() -> &'static CBaseUserCmdPB { + static instance: CBaseUserCmdPB = CBaseUserCmdPB { + legacy_command_number: ::std::option::Option::None, + client_tick: ::std::option::Option::None, + buttons_pb: ::protobuf::MessageField::none(), + viewangles: ::protobuf::MessageField::none(), + forwardmove: ::std::option::Option::None, + leftmove: ::std::option::Option::None, + upmove: ::std::option::Option::None, + impulse: ::std::option::Option::None, + weaponselect: ::std::option::Option::None, + random_seed: ::std::option::Option::None, + mousedx: ::std::option::Option::None, + mousedy: ::std::option::Option::None, + pawn_entity_handle: ::std::option::Option::None, + subtick_moves: ::std::vec::Vec::new(), + move_crc: ::std::option::Option::None, + consumed_server_angle_changes: ::std::option::Option::None, + cmd_flags: ::std::option::Option::None, + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CBaseUserCmdPB { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CBaseUserCmdPB").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CBaseUserCmdPB { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CBaseUserCmdPB { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +// @@protoc_insertion_point(message:CUserCmdBasePB) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct CUserCmdBasePB { + // message fields + // @@protoc_insertion_point(field:CUserCmdBasePB.base) + pub base: ::protobuf::MessageField, + // special fields + // @@protoc_insertion_point(special_field:CUserCmdBasePB.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a CUserCmdBasePB { + fn default() -> &'a CUserCmdBasePB { + ::default_instance() + } +} + +impl CUserCmdBasePB { + pub fn new() -> CUserCmdBasePB { + ::std::default::Default::default() + } + + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { + let mut fields = ::std::vec::Vec::with_capacity(1); + let mut oneofs = ::std::vec::Vec::with_capacity(0); + fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, CBaseUserCmdPB>( + "base", + |m: &CUserCmdBasePB| { &m.base }, + |m: &mut CUserCmdBasePB| { &mut m.base }, + )); + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "CUserCmdBasePB", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for CUserCmdBasePB { + const NAME: &'static str = "CUserCmdBasePB"; + + fn is_initialized(&self) -> bool { + true + } + + fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> { + while let Some(tag) = is.read_raw_tag_or_eof()? { + match tag { + 10 => { + ::protobuf::rt::read_singular_message_into_field(is, &mut self.base)?; + }, + tag => { + ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; + }, + }; + } + ::std::result::Result::Ok(()) + } + + // Compute sizes of nested messages + #[allow(unused_variables)] + fn compute_size(&self) -> u64 { + let mut my_size = 0; + if let Some(v) = self.base.as_ref() { + let len = v.compute_size(); + my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len; + } + my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields()); + self.special_fields.cached_size().set(my_size as u32); + my_size + } + + fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> { + if let Some(v) = self.base.as_ref() { + ::protobuf::rt::write_message_field_with_cached_size(1, v, os)?; + } + os.write_unknown_fields(self.special_fields.unknown_fields())?; + ::std::result::Result::Ok(()) + } + + fn special_fields(&self) -> &::protobuf::SpecialFields { + &self.special_fields + } + + fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields { + &mut self.special_fields + } + + fn new() -> CUserCmdBasePB { + CUserCmdBasePB::new() + } + + fn clear(&mut self) { + self.base.clear(); + self.special_fields.clear(); + } + + fn default_instance() -> &'static CUserCmdBasePB { + static instance: CUserCmdBasePB = CUserCmdBasePB { + base: ::protobuf::MessageField::none(), + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for CUserCmdBasePB { + fn descriptor() -> ::protobuf::reflect::MessageDescriptor { + static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); + descriptor.get(|| file_descriptor().message_by_package_relative_name("CUserCmdBasePB").unwrap()).clone() + } +} + +impl ::std::fmt::Display for CUserCmdBasePB { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for CUserCmdBasePB { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\rusercmd.proto\x1a\x16networkbasetypes.proto\"~\n\x10CInButtonStatePB\ + \x12\"\n\x0cbuttonstate1\x18\x01\x20\x01(\x04R\x0cbuttonstate1\x12\"\n\ + \x0cbuttonstate2\x18\x02\x20\x01(\x04R\x0cbuttonstate2\x12\"\n\x0cbutton\ + state3\x18\x03\x20\x01(\x04R\x0cbuttonstate3\"\xb6\x01\n\x10CSubtickMove\ + Step\x12\x16\n\x06button\x18\x01\x20\x01(\x04R\x06button\x12\x18\n\x07pr\ + essed\x18\x02\x20\x01(\x08R\x07pressed\x12\x12\n\x04when\x18\x03\x20\x01\ + (\x02R\x04when\x120\n\x14analog_forward_delta\x18\x04\x20\x01(\x02R\x12a\ + nalogForwardDelta\x12*\n\x11analog_left_delta\x18\x05\x20\x01(\x02R\x0fa\ + nalogLeftDelta\"\x98\x05\n\x0eCBaseUserCmdPB\x122\n\x15legacy_command_nu\ + mber\x18\x01\x20\x01(\x05R\x13legacyCommandNumber\x12\x1f\n\x0bclient_ti\ + ck\x18\x02\x20\x01(\x05R\nclientTick\x120\n\nbuttons_pb\x18\x03\x20\x01(\ + \x0b2\x11.CInButtonStatePBR\tbuttonsPb\x12+\n\nviewangles\x18\x04\x20\ + \x01(\x0b2\x0b.CMsgQAngleR\nviewangles\x12\x20\n\x0bforwardmove\x18\x05\ + \x20\x01(\x02R\x0bforwardmove\x12\x1a\n\x08leftmove\x18\x06\x20\x01(\x02\ + R\x08leftmove\x12\x16\n\x06upmove\x18\x07\x20\x01(\x02R\x06upmove\x12\ + \x18\n\x07impulse\x18\x08\x20\x01(\x05R\x07impulse\x12\"\n\x0cweaponsele\ + ct\x18\t\x20\x01(\x05R\x0cweaponselect\x12\x1f\n\x0brandom_seed\x18\n\ + \x20\x01(\x05R\nrandomSeed\x12\x18\n\x07mousedx\x18\x0b\x20\x01(\x05R\ + \x07mousedx\x12\x18\n\x07mousedy\x18\x0c\x20\x01(\x05R\x07mousedy\x126\n\ + \x12pawn_entity_handle\x18\x0e\x20\x01(\r:\x0816777215R\x10pawnEntityHan\ + dle\x126\n\rsubtick_moves\x18\x12\x20\x03(\x0b2\x11.CSubtickMoveStepR\ + \x0csubtickMoves\x12\x19\n\x08move_crc\x18\x13\x20\x01(\x0cR\x07moveCrc\ + \x12A\n\x1dconsumed_server_angle_changes\x18\x14\x20\x01(\rR\x1aconsumed\ + ServerAngleChanges\x12\x1b\n\tcmd_flags\x18\x15\x20\x01(\x05R\x08cmdFlag\ + s\"5\n\x0eCUserCmdBasePB\x12#\n\x04base\x18\x01\x20\x01(\x0b2\x0f.CBaseU\ + serCmdPBR\x04base\ +"; + +/// `FileDescriptorProto` object which was a source for this generated file +fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new(); + file_descriptor_proto_lazy.get(|| { + ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap() + }) +} + +/// `FileDescriptor` object which allows dynamic access to files +pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { + static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new(); + static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new(); + file_descriptor.get(|| { + let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { + let mut deps = ::std::vec::Vec::with_capacity(1); + deps.push(super::networkbasetypes::file_descriptor().clone()); + let mut messages = ::std::vec::Vec::with_capacity(4); + messages.push(CInButtonStatePB::generated_message_descriptor_data()); + messages.push(CSubtickMoveStep::generated_message_descriptor_data()); + messages.push(CBaseUserCmdPB::generated_message_descriptor_data()); + messages.push(CUserCmdBasePB::generated_message_descriptor_data()); + let mut enums = ::std::vec::Vec::with_capacity(0); + ::protobuf::reflect::GeneratedFileDescriptor::new_generated( + file_descriptor_proto(), + deps, + messages, + enums, + ) + }); + ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor) + }) +} diff --git a/src/csgoproto/update_protos.py b/src/csgoproto/update_protos.py new file mode 100644 index 00000000..403102eb --- /dev/null +++ b/src/csgoproto/update_protos.py @@ -0,0 +1,41 @@ +import subprocess + +repo_url = "https://github.com/SteamDatabase/Protobufs/" + + +try: + # Run the git clone command + subprocess.run(["git", "clone", repo_url], check=True) + print(f"Successfully cloned {repo_url}") +except subprocess.CalledProcessError as e: + print(f"An error occurred while cloning the repository: {e}") +except FileNotFoundError: + print("Git is not installed or not found in the system's PATH.") + +try: + # Run the cargo run --release command + result = subprocess.run(["cargo", "run", "--release"], check=True) + print("Cargo run completed successfully.") +except subprocess.CalledProcessError as e: + print(f"An error occurred while running the Cargo command: {e}") +except FileNotFoundError: + print("Cargo is not installed or not found in the system's PATH.") + + +imports = """ +pub mod cstrike15_gcmessages; +pub mod cstrike15_usermessages; +pub mod demo; +pub mod cs_usercmd; +pub mod engine_gcmessages; +pub mod gcsdk_gcmessages; +pub mod netmessages; +pub mod network_connection; +pub mod networkbasetypes; +pub mod steammessages; +pub mod usermessages; +pub mod usercmd; +""" + +with open("src/lib.rs", "w") as f: + f.write(imports)