package dota; import "networkbasetypes.proto"; option optimize_for = SPEED; option cc_generic_services = false; enum EBaseGameEvents { GE_VDebugGameSessionIDEvent = 200; GE_PlaceDecalEvent = 201; GE_ClearWorldDecalsEvent = 202; GE_ClearEntityDecalsEvent = 203; GE_ClearDecalsForSkeletonInstanceEvent = 204; GE_Source1LegacyGameEventList = 205; GE_Source1LegacyListenEvents = 206; GE_Source1LegacyGameEvent = 207; GE_SosStartSoundEvent = 208; GE_SosStopSoundEvent = 209; GE_SosSetSoundEventParams = 210; GE_SosSetLibraryStackFields = 211; GE_SosStopSoundEventHash = 212; } message CMsgVDebugGameSessionIDEvent { optional int32 clientid = 1; optional string gamesessionid = 2; } message CMsgPlaceDecalEvent { optional CMsgVector position = 1; optional CMsgVector normal = 2; optional CMsgVector saxis = 3; optional uint32 decalmaterialindex = 4; optional uint32 flags = 5; optional fixed32 color = 6; optional float width = 7; optional float height = 8; optional float depth = 9; optional uint32 entityhandleindex = 10; optional fixed32 skeletoninstancehash = 11; optional int32 boneindex = 12; optional bool translucenthit = 13; } message CMsgClearWorldDecalsEvent { optional uint32 flagstoclear = 1; } message CMsgClearEntityDecalsEvent { optional uint32 flagstoclear = 1; } message CMsgClearDecalsForSkeletonInstanceEvent { optional uint32 flagstoclear = 1; optional uint32 entityhandleindex = 2; optional uint32 skeletoninstancehash = 3; } message CMsgSource1LegacyGameEventList { message key_t { optional int32 type = 1; optional string name = 2; } message descriptor_t { optional int32 eventid = 1; optional string name = 2; repeated CMsgSource1LegacyGameEventList.key_t keys = 3; } repeated CMsgSource1LegacyGameEventList.descriptor_t descriptors = 1; } message CMsgSource1LegacyListenEvents { optional int32 playerslot = 1; repeated uint32 eventarraybits = 2; } message CMsgSource1LegacyGameEvent { message key_t { optional int32 type = 1; optional string val_string = 2; optional float val_float = 3; optional int32 val_long = 4; optional int32 val_short = 5; optional int32 val_byte = 6; optional bool val_bool = 7; optional uint64 val_uint64 = 8; } optional string event_name = 1; optional int32 eventid = 2; repeated CMsgSource1LegacyGameEvent.key_t keys = 3; } message CMsgSosStartSoundEvent { optional int32 soundevent_guid = 1; optional fixed32 soundevent_hash = 2; optional int32 source_entity_index = 3; optional int32 seed = 4; optional bytes packed_params = 5; optional float start_time = 6; } message CMsgSosStopSoundEvent { optional int32 soundevent_guid = 1; } message CMsgSosStopSoundEventHash { optional fixed32 soundevent_hash = 1; optional int32 source_entity_index = 2; } message CMsgSosSetSoundEventParams { optional int32 soundevent_guid = 1; optional bytes packed_params = 5; } message CMsgSosSetLibraryStackFields { optional fixed32 stack_hash = 1; optional bytes packed_fields = 5; }