mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-10 10:43:25 +02:00
There is an issue when startAutomatically was set to true and animationPlaying was set to false. This would cause clients to play the animation when they connected to the entity server, even though the server was not.
166 lines
6.2 KiB
C++
166 lines
6.2 KiB
C++
//
|
|
// PacketHeaders.h
|
|
// libraries/networking/src
|
|
//
|
|
// Created by Stephen Birarda on 4/8/13.
|
|
// Copyright 2013 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
#ifndef hifi_PacketHeaders_h
|
|
#define hifi_PacketHeaders_h
|
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <map>
|
|
|
|
#include <QtCore/QCryptographicHash>
|
|
#include <QtCore/QObject>
|
|
#include <QtCore/QSet>
|
|
#include <QtCore/QUuid>
|
|
|
|
// The enums are inside this PacketTypeEnum for run-time conversion of enum value to string via
|
|
// Q_ENUMS, without requiring a macro that is called for each enum value.
|
|
class PacketTypeEnum {
|
|
Q_GADGET
|
|
Q_ENUMS(Value)
|
|
public:
|
|
// If adding a new packet packetType, you can replace one marked usable or add at the end.
|
|
// This enum must hold 256 or fewer packet types (so the value is <= 255) since it is statically typed as a uint8_t
|
|
enum class Value : uint8_t {
|
|
Unknown,
|
|
StunResponse,
|
|
DomainList,
|
|
Ping,
|
|
PingReply,
|
|
KillAvatar,
|
|
AvatarData,
|
|
InjectAudio,
|
|
MixedAudio,
|
|
MicrophoneAudioNoEcho,
|
|
MicrophoneAudioWithEcho,
|
|
BulkAvatarData,
|
|
SilentAudioFrame,
|
|
DomainListRequest,
|
|
RequestAssignment,
|
|
CreateAssignment,
|
|
DomainConnectionDenied,
|
|
MuteEnvironment,
|
|
AudioStreamStats,
|
|
DomainServerPathQuery,
|
|
DomainServerPathResponse,
|
|
DomainServerAddedNode,
|
|
ICEServerPeerInformation,
|
|
ICEServerQuery,
|
|
OctreeStats,
|
|
Jurisdiction,
|
|
JurisdictionRequest,
|
|
AssignmentClientStatus,
|
|
NoisyMute,
|
|
AvatarIdentity,
|
|
AvatarBillboard,
|
|
DomainConnectRequest,
|
|
DomainServerRequireDTLS,
|
|
NodeJsonStats,
|
|
OctreeDataNack,
|
|
StopNode,
|
|
AudioEnvironment,
|
|
EntityEditNack,
|
|
ICEServerHeartbeat,
|
|
ICEPing,
|
|
ICEPingReply,
|
|
EntityData,
|
|
EntityQuery,
|
|
EntityAdd,
|
|
EntityErase,
|
|
EntityEdit,
|
|
DomainServerConnectionToken,
|
|
DomainSettingsRequest,
|
|
DomainSettings,
|
|
AssetGet,
|
|
AssetGetReply,
|
|
AssetUpload,
|
|
AssetUploadReply,
|
|
AssetGetInfo,
|
|
AssetGetInfoReply,
|
|
DomainDisconnectRequest,
|
|
DomainServerRemovedNode,
|
|
MessagesData,
|
|
MessagesSubscribe,
|
|
MessagesUnsubscribe
|
|
};
|
|
};
|
|
|
|
using PacketType = PacketTypeEnum::Value;
|
|
|
|
const int NUM_BYTES_MD5_HASH = 16;
|
|
|
|
typedef char PacketVersion;
|
|
|
|
extern const QSet<PacketType> NON_VERIFIED_PACKETS;
|
|
extern const QSet<PacketType> NON_SOURCED_PACKETS;
|
|
extern const QSet<PacketType> RELIABLE_PACKETS;
|
|
|
|
PacketVersion versionForPacketType(PacketType packetType);
|
|
|
|
uint qHash(const PacketType& key, uint seed);
|
|
QDebug operator<<(QDebug debug, const PacketType& type);
|
|
|
|
const PacketVersion VERSION_OCTREE_HAS_FILE_BREAKS = 1;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_ANIMATION = 1;
|
|
const PacketVersion VERSION_ROOT_ELEMENT_HAS_DATA = 2;
|
|
const PacketVersion VERSION_ENTITIES_SUPPORT_SPLIT_MTU = 3;
|
|
const PacketVersion VERSION_ENTITIES_HAS_FILE_BREAKS = VERSION_ENTITIES_SUPPORT_SPLIT_MTU;
|
|
const PacketVersion VERSION_ENTITIES_SUPPORT_DIMENSIONS = 4;
|
|
const PacketVersion VERSION_ENTITIES_MODELS_HAVE_ANIMATION_SETTINGS = 5;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_USER_DATA = 6;
|
|
const PacketVersion VERSION_ENTITIES_HAS_LAST_SIMULATED_TIME = 7;
|
|
const PacketVersion VERSION_MODEL_ENTITIES_SUPPORT_SHAPE_TYPE = 8;
|
|
const PacketVersion VERSION_ENTITIES_LIGHT_HAS_INTENSITY_AND_COLOR_PROPERTIES = 9;
|
|
const PacketVersion VERSION_ENTITIES_HAS_PARTICLES = 10;
|
|
const PacketVersion VERSION_ENTITIES_USE_METERS_AND_RADIANS = 11;
|
|
const PacketVersion VERSION_ENTITIES_HAS_COLLISION_MODEL = 12;
|
|
const PacketVersion VERSION_ENTITIES_HAS_MARKETPLACE_ID_DAMAGED = 13;
|
|
const PacketVersion VERSION_ENTITIES_HAS_MARKETPLACE_ID = 14;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_ACCELERATION = 15;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_UUIDS = 16;
|
|
const PacketVersion VERSION_ENTITIES_ZONE_ENTITIES_EXIST = 17;
|
|
const PacketVersion VERSION_ENTITIES_ZONE_ENTITIES_HAVE_DYNAMIC_SHAPE = 18;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_NAMES = 19;
|
|
const PacketVersion VERSION_ENTITIES_ZONE_ENTITIES_HAVE_ATMOSPHERE = 20;
|
|
const PacketVersion VERSION_ENTITIES_ZONE_ENTITIES_HAVE_SKYBOX = 21;
|
|
const PacketVersion VERSION_ENTITIES_ZONE_ENTITIES_STAGE_HAS_AUTOMATIC_HOURDAY = 22;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLE_ENTITIES_HAVE_TEXTURES = 23;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_LINE_TYPE = 24;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_COLLISION_SOUND_URL = 25;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_FRICTION = 26;
|
|
const PacketVersion VERSION_NO_ENTITY_ID_SWAP = 27;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLE_FIX = 28;
|
|
const PacketVersion VERSION_ENTITIES_LINE_POINTS = 29;
|
|
const PacketVersion VERSION_ENTITIES_FACE_CAMERA = 30;
|
|
const PacketVersion VERSION_ENTITIES_SCRIPT_TIMESTAMP = 31;
|
|
const PacketVersion VERSION_ENTITIES_SCRIPT_TIMESTAMP_FIX = 32;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_SIMULATION_OWNER_AND_ACTIONS_OVER_WIRE = 33;
|
|
const PacketVersion VERSION_ENTITIES_NEW_PROTOCOL_LAYER = 35;
|
|
const PacketVersion VERSION_POLYVOX_TEXTURES = 36;
|
|
const PacketVersion VERSION_ENTITIES_POLYLINE = 37;
|
|
const PacketVersion VERSION_OCTREE_CENTERED_ORIGIN = 38;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLE_MODIFICATIONS = 39;
|
|
const PacketVersion VERSION_ENTITIES_POLYVOX_NEIGHBORS = 40;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLE_RADIUS_PROPERTIES = 41;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLE_COLOR_PROPERTIES = 42;
|
|
const PacketVersion VERSION_ENTITIES_PROTOCOL_HEADER_SWAP = 43;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLE_ELLIPSOID_EMITTER = 44;
|
|
const PacketVersion VERSION_ENTITIES_PROTOCOL_CHANNELS = 45;
|
|
const PacketVersion VERSION_ENTITIES_ANIMATION_PROPERTIES_GROUP = 46;
|
|
const PacketVersion VERSION_ENTITIES_KEYLIGHT_PROPERTIES_GROUP = 47;
|
|
const PacketVersion VERSION_ENTITIES_KEYLIGHT_PROPERTIES_GROUP_BIS = 48;
|
|
const PacketVersion VERSION_ENTITIES_PARTICLES_ADDITIVE_BLENDING = 49;
|
|
const PacketVersion VERSION_ENTITIES_POLYLINE_TEXTURE = 50;
|
|
const PacketVersion VERSION_ENTITIES_HAVE_PARENTS = 51;
|
|
const PacketVersion VERSION_ENTITITES_REMOVED_START_AUTOMATICALLY_FROM_ANIMATION_PROPERTY_GROUP = 52;
|
|
|
|
#endif // hifi_PacketHeaders_h
|