mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 20:06:02 +02:00
added zone properties to allow flying/ghosting or not
This commit is contained in:
parent
f1de590835
commit
0fe4e42511
8 changed files with 91 additions and 8 deletions
|
@ -309,6 +309,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
CHECK_PROPERTY_CHANGE(PROP_QUERY_AA_CUBE, queryAACube);
|
CHECK_PROPERTY_CHANGE(PROP_QUERY_AA_CUBE, queryAACube);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_LOCAL_POSITION, localPosition);
|
CHECK_PROPERTY_CHANGE(PROP_LOCAL_POSITION, localPosition);
|
||||||
CHECK_PROPERTY_CHANGE(PROP_LOCAL_ROTATION, localRotation);
|
CHECK_PROPERTY_CHANGE(PROP_LOCAL_ROTATION, localRotation);
|
||||||
|
CHECK_PROPERTY_CHANGE(PROP_FLYING_ALLOWED, flyingAllowed);
|
||||||
|
CHECK_PROPERTY_CHANGE(PROP_GHOSTING_ALLOWED, ghostingAllowed);
|
||||||
|
|
||||||
changedProperties += _animation.getChangedProperties();
|
changedProperties += _animation.getChangedProperties();
|
||||||
changedProperties += _keyLight.getChangedProperties();
|
changedProperties += _keyLight.getChangedProperties();
|
||||||
|
@ -467,6 +469,9 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
||||||
|
|
||||||
_stage.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
_stage.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
||||||
_skybox.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
_skybox.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
||||||
|
|
||||||
|
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_FLYING_ALLOWED, flyingAllowed);
|
||||||
|
COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_GHOSTING_ALLOWED, ghostingAllowed);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Web only
|
// Web only
|
||||||
|
@ -679,6 +684,9 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object, bool
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(jointTranslationsSet, qVectorBool, setJointTranslationsSet);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(jointTranslationsSet, qVectorBool, setJointTranslationsSet);
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(jointTranslations, qVectorVec3, setJointTranslations);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(jointTranslations, qVectorVec3, setJointTranslations);
|
||||||
|
|
||||||
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(flyingAllowed, bool, setFlyingAllowed);
|
||||||
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(ghostingAllowed, bool, setGhostingAllowed);
|
||||||
|
|
||||||
_lastEdited = usecTimestampNow();
|
_lastEdited = usecTimestampNow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -849,6 +857,9 @@ void EntityItemProperties::entityPropertyFlagsFromScriptValue(const QScriptValue
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_HOUR, Stage, stage, Hour, hour);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_HOUR, Stage, stage, Hour, hour);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_AUTOMATIC_HOURDAY, Stage, stage, AutomaticHourDay, automaticHourDay);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_AUTOMATIC_HOURDAY, Stage, stage, AutomaticHourDay, automaticHourDay);
|
||||||
|
|
||||||
|
ADD_PROPERTY_TO_MAP(PROP_FLYING_ALLOWED, FlyingAllowed, flyingAllowed, bool);
|
||||||
|
ADD_PROPERTY_TO_MAP(PROP_GHOSTING_ALLOWED, GhostingAllowed, ghostingAllowed, bool);
|
||||||
|
|
||||||
// FIXME - these are not yet handled
|
// FIXME - these are not yet handled
|
||||||
//ADD_PROPERTY_TO_MAP(PROP_CREATED, Created, created, quint64);
|
//ADD_PROPERTY_TO_MAP(PROP_CREATED, Created, created, quint64);
|
||||||
|
|
||||||
|
@ -1089,6 +1100,9 @@ bool EntityItemProperties::encodeEntityEditPacket(PacketType command, EntityItem
|
||||||
|
|
||||||
_staticSkybox.setProperties(properties);
|
_staticSkybox.setProperties(properties);
|
||||||
_staticSkybox.appendToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
_staticSkybox.appendToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
||||||
|
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_FLYING_ALLOWED, properties.getFlyingAllowed());
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_GHOSTING_ALLOWED, properties.getGhostingAllowed());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (properties.getType() == EntityTypes::PolyVox) {
|
if (properties.getType() == EntityTypes::PolyVox) {
|
||||||
|
@ -1373,6 +1387,9 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_BACKGROUND_MODE, BackgroundMode, setBackgroundMode);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_BACKGROUND_MODE, BackgroundMode, setBackgroundMode);
|
||||||
properties.getSkybox().decodeFromEditPacket(propertyFlags, dataAt , processedBytes);
|
properties.getSkybox().decodeFromEditPacket(propertyFlags, dataAt , processedBytes);
|
||||||
|
|
||||||
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_FLYING_ALLOWED, bool, setFlyingAllowed);
|
||||||
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_GHOSTING_ALLOWED, bool, setGhostingAllowed);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (properties.getType() == EntityTypes::PolyVox) {
|
if (properties.getType() == EntityTypes::PolyVox) {
|
||||||
|
@ -1564,6 +1581,9 @@ void EntityItemProperties::markAllChanged() {
|
||||||
_jointTranslationsChanged = true;
|
_jointTranslationsChanged = true;
|
||||||
|
|
||||||
_queryAACubeChanged = true;
|
_queryAACubeChanged = true;
|
||||||
|
|
||||||
|
_flyingAllowedChanged = true;
|
||||||
|
_ghostingAllowedChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The minimum bounding box for the entity.
|
// The minimum bounding box for the entity.
|
||||||
|
@ -1885,6 +1905,13 @@ QList<QString> EntityItemProperties::listChangedProperties() {
|
||||||
out += "queryAACube";
|
out += "queryAACube";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flyingAllowedChanged()) {
|
||||||
|
out += "flyingAllowed";
|
||||||
|
}
|
||||||
|
if (ghostingAllowedChanged()) {
|
||||||
|
out += "ghostingAllowed";
|
||||||
|
}
|
||||||
|
|
||||||
getAnimation().listChangedProperties(out);
|
getAnimation().listChangedProperties(out);
|
||||||
getKeyLight().listChangedProperties(out);
|
getKeyLight().listChangedProperties(out);
|
||||||
getSkybox().listChangedProperties(out);
|
getSkybox().listChangedProperties(out);
|
||||||
|
|
|
@ -205,6 +205,9 @@ public:
|
||||||
DEFINE_PROPERTY_REF(PROP_JOINT_TRANSLATIONS_SET, JointTranslationsSet, jointTranslationsSet, QVector<bool>, QVector<bool>());
|
DEFINE_PROPERTY_REF(PROP_JOINT_TRANSLATIONS_SET, JointTranslationsSet, jointTranslationsSet, QVector<bool>, QVector<bool>());
|
||||||
DEFINE_PROPERTY_REF(PROP_JOINT_TRANSLATIONS, JointTranslations, jointTranslations, QVector<glm::vec3>, QVector<glm::vec3>());
|
DEFINE_PROPERTY_REF(PROP_JOINT_TRANSLATIONS, JointTranslations, jointTranslations, QVector<glm::vec3>, QVector<glm::vec3>());
|
||||||
|
|
||||||
|
DEFINE_PROPERTY(PROP_FLYING_ALLOWED, FlyingAllowed, flyingAllowed, bool, ZoneEntityItem::DEFAULT_FLYING_ALLOWED);
|
||||||
|
DEFINE_PROPERTY(PROP_GHOSTING_ALLOWED, GhostingAllowed, ghostingAllowed, bool, ZoneEntityItem::DEFAULT_GHOSTING_ALLOWED);
|
||||||
|
|
||||||
static QString getBackgroundModeString(BackgroundMode mode);
|
static QString getBackgroundModeString(BackgroundMode mode);
|
||||||
|
|
||||||
|
|
||||||
|
@ -421,6 +424,9 @@ inline QDebug operator<<(QDebug debug, const EntityItemProperties& properties) {
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, JointTranslationsSet, jointTranslationsSet, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, JointTranslationsSet, jointTranslationsSet, "");
|
||||||
DEBUG_PROPERTY_IF_CHANGED(debug, properties, JointTranslations, jointTranslations, "");
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, JointTranslations, jointTranslations, "");
|
||||||
|
|
||||||
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, FlyingAllowed, flyingAllowed, "");
|
||||||
|
DEBUG_PROPERTY_IF_CHANGED(debug, properties, GhostingAllowed, ghostingAllowed, "");
|
||||||
|
|
||||||
properties.getAnimation().debugDump();
|
properties.getAnimation().debugDump();
|
||||||
properties.getSkybox().debugDump();
|
properties.getSkybox().debugDump();
|
||||||
properties.getStage().debugDump();
|
properties.getStage().debugDump();
|
||||||
|
|
|
@ -169,6 +169,9 @@ enum EntityPropertyList {
|
||||||
|
|
||||||
PROP_FALLOFF_RADIUS, // for Light entity
|
PROP_FALLOFF_RADIUS, // for Light entity
|
||||||
|
|
||||||
|
PROP_FLYING_ALLOWED, // can avatars in a zone fly?
|
||||||
|
PROP_GHOSTING_ALLOWED, // can avatars in a zone turn off physics?
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// ATTENTION: add new properties to end of list just ABOVE this line
|
// ATTENTION: add new properties to end of list just ABOVE this line
|
||||||
PROP_AFTER_LAST_ITEM,
|
PROP_AFTER_LAST_ITEM,
|
||||||
|
|
|
@ -23,8 +23,12 @@
|
||||||
bool ZoneEntityItem::_zonesArePickable = false;
|
bool ZoneEntityItem::_zonesArePickable = false;
|
||||||
bool ZoneEntityItem::_drawZoneBoundaries = false;
|
bool ZoneEntityItem::_drawZoneBoundaries = false;
|
||||||
|
|
||||||
|
|
||||||
const ShapeType ZoneEntityItem::DEFAULT_SHAPE_TYPE = SHAPE_TYPE_BOX;
|
const ShapeType ZoneEntityItem::DEFAULT_SHAPE_TYPE = SHAPE_TYPE_BOX;
|
||||||
const QString ZoneEntityItem::DEFAULT_COMPOUND_SHAPE_URL = "";
|
const QString ZoneEntityItem::DEFAULT_COMPOUND_SHAPE_URL = "";
|
||||||
|
const bool ZoneEntityItem::DEFAULT_FLYING_ALLOWED = true;
|
||||||
|
const bool ZoneEntityItem::DEFAULT_GHOSTING_ALLOWED = true;
|
||||||
|
|
||||||
|
|
||||||
EntityItemPointer ZoneEntityItem::factory(const EntityItemID& entityID, const EntityItemProperties& properties) {
|
EntityItemPointer ZoneEntityItem::factory(const EntityItemID& entityID, const EntityItemProperties& properties) {
|
||||||
EntityItemPointer entity { new ZoneEntityItem(entityID) };
|
EntityItemPointer entity { new ZoneEntityItem(entityID) };
|
||||||
|
@ -55,6 +59,9 @@ EntityItemProperties ZoneEntityItem::getProperties(EntityPropertyFlags desiredPr
|
||||||
|
|
||||||
_skyboxProperties.getProperties(properties);
|
_skyboxProperties.getProperties(properties);
|
||||||
|
|
||||||
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(flyingAllowed, getFlyingAllowed);
|
||||||
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(ghostingAllowed, getGhostingAllowed);
|
||||||
|
|
||||||
return properties;
|
return properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,6 +77,9 @@ bool ZoneEntityItem::setProperties(const EntityItemProperties& properties) {
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(backgroundMode, setBackgroundMode);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(backgroundMode, setBackgroundMode);
|
||||||
|
|
||||||
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(flyingAllowed, setFlyingAllowed);
|
||||||
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(ghostingAllowed, setGhostingAllowed);
|
||||||
|
|
||||||
bool somethingChangedInSkybox = _skyboxProperties.setProperties(properties);
|
bool somethingChangedInSkybox = _skyboxProperties.setProperties(properties);
|
||||||
|
|
||||||
somethingChanged = somethingChanged || somethingChangedInKeyLight || somethingChangedInStage || somethingChangedInSkybox;
|
somethingChanged = somethingChanged || somethingChangedInKeyLight || somethingChangedInStage || somethingChangedInSkybox;
|
||||||
|
@ -116,6 +126,9 @@ int ZoneEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data,
|
||||||
bytesRead += bytesFromSkybox;
|
bytesRead += bytesFromSkybox;
|
||||||
dataAt += bytesFromSkybox;
|
dataAt += bytesFromSkybox;
|
||||||
|
|
||||||
|
READ_ENTITY_PROPERTY(PROP_FLYING_ALLOWED, bool, setFlyingAllowed);
|
||||||
|
READ_ENTITY_PROPERTY(PROP_GHOSTING_ALLOWED, bool, setGhostingAllowed);
|
||||||
|
|
||||||
return bytesRead;
|
return bytesRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,13 +138,16 @@ EntityPropertyFlags ZoneEntityItem::getEntityProperties(EncodeBitstreamParams& p
|
||||||
EntityPropertyFlags requestedProperties = EntityItem::getEntityProperties(params);
|
EntityPropertyFlags requestedProperties = EntityItem::getEntityProperties(params);
|
||||||
|
|
||||||
requestedProperties += _keyLightProperties.getEntityProperties(params);
|
requestedProperties += _keyLightProperties.getEntityProperties(params);
|
||||||
|
|
||||||
requestedProperties += PROP_SHAPE_TYPE;
|
requestedProperties += PROP_SHAPE_TYPE;
|
||||||
requestedProperties += PROP_COMPOUND_SHAPE_URL;
|
requestedProperties += PROP_COMPOUND_SHAPE_URL;
|
||||||
requestedProperties += PROP_BACKGROUND_MODE;
|
requestedProperties += PROP_BACKGROUND_MODE;
|
||||||
requestedProperties += _stageProperties.getEntityProperties(params);
|
requestedProperties += _stageProperties.getEntityProperties(params);
|
||||||
requestedProperties += _skyboxProperties.getEntityProperties(params);
|
requestedProperties += _skyboxProperties.getEntityProperties(params);
|
||||||
|
|
||||||
|
requestedProperties += PROP_FLYING_ALLOWED;
|
||||||
|
requestedProperties += PROP_GHOSTING_ALLOWED;
|
||||||
|
|
||||||
return requestedProperties;
|
return requestedProperties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -155,10 +171,12 @@ void ZoneEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBits
|
||||||
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, (uint32_t)getShapeType());
|
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, (uint32_t)getShapeType());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, getCompoundShapeURL());
|
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, getCompoundShapeURL());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_BACKGROUND_MODE, (uint32_t)getBackgroundMode()); // could this be a uint16??
|
APPEND_ENTITY_PROPERTY(PROP_BACKGROUND_MODE, (uint32_t)getBackgroundMode()); // could this be a uint16??
|
||||||
|
|
||||||
_skyboxProperties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
_skyboxProperties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
||||||
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
||||||
|
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_FLYING_ALLOWED, getFlyingAllowed());
|
||||||
|
APPEND_ENTITY_PROPERTY(PROP_GHOSTING_ALLOWED, getGhostingAllowed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZoneEntityItem::debugDump() const {
|
void ZoneEntityItem::debugDump() const {
|
||||||
|
|
|
@ -70,6 +70,11 @@ public:
|
||||||
const SkyboxPropertyGroup& getSkyboxProperties() const { return _skyboxProperties; }
|
const SkyboxPropertyGroup& getSkyboxProperties() const { return _skyboxProperties; }
|
||||||
const StagePropertyGroup& getStageProperties() const { return _stageProperties; }
|
const StagePropertyGroup& getStageProperties() const { return _stageProperties; }
|
||||||
|
|
||||||
|
bool getFlyingAllowed() const { return _flyingAllowed; }
|
||||||
|
void setFlyingAllowed(bool value) { _flyingAllowed = value; }
|
||||||
|
bool getGhostingAllowed() const { return _ghostingAllowed; }
|
||||||
|
void setGhostingAllowed(bool value) { _ghostingAllowed = value; }
|
||||||
|
|
||||||
virtual bool supportsDetailedRayIntersection() const { return true; }
|
virtual bool supportsDetailedRayIntersection() const { return true; }
|
||||||
virtual bool findDetailedRayIntersection(const glm::vec3& origin, const glm::vec3& direction,
|
virtual bool findDetailedRayIntersection(const glm::vec3& origin, const glm::vec3& direction,
|
||||||
bool& keepSearching, OctreeElementPointer& element, float& distance,
|
bool& keepSearching, OctreeElementPointer& element, float& distance,
|
||||||
|
@ -80,18 +85,23 @@ public:
|
||||||
|
|
||||||
static const ShapeType DEFAULT_SHAPE_TYPE;
|
static const ShapeType DEFAULT_SHAPE_TYPE;
|
||||||
static const QString DEFAULT_COMPOUND_SHAPE_URL;
|
static const QString DEFAULT_COMPOUND_SHAPE_URL;
|
||||||
|
static const bool DEFAULT_FLYING_ALLOWED;
|
||||||
|
static const bool DEFAULT_GHOSTING_ALLOWED;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
KeyLightPropertyGroup _keyLightProperties;
|
KeyLightPropertyGroup _keyLightProperties;
|
||||||
|
|
||||||
ShapeType _shapeType = DEFAULT_SHAPE_TYPE;
|
ShapeType _shapeType = DEFAULT_SHAPE_TYPE;
|
||||||
QString _compoundShapeURL;
|
QString _compoundShapeURL;
|
||||||
|
|
||||||
BackgroundMode _backgroundMode = BACKGROUND_MODE_INHERIT;
|
BackgroundMode _backgroundMode = BACKGROUND_MODE_INHERIT;
|
||||||
|
|
||||||
StagePropertyGroup _stageProperties;
|
StagePropertyGroup _stageProperties;
|
||||||
SkyboxPropertyGroup _skyboxProperties;
|
SkyboxPropertyGroup _skyboxProperties;
|
||||||
|
|
||||||
|
bool _flyingAllowed { DEFAULT_FLYING_ALLOWED };
|
||||||
|
bool _ghostingAllowed { DEFAULT_GHOSTING_ALLOWED };
|
||||||
|
|
||||||
static bool _drawZoneBoundaries;
|
static bool _drawZoneBoundaries;
|
||||||
static bool _zonesArePickable;
|
static bool _zonesArePickable;
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,7 +47,7 @@ PacketVersion versionForPacketType(PacketType packetType) {
|
||||||
case PacketType::EntityAdd:
|
case PacketType::EntityAdd:
|
||||||
case PacketType::EntityEdit:
|
case PacketType::EntityEdit:
|
||||||
case PacketType::EntityData:
|
case PacketType::EntityData:
|
||||||
return VERSION_LIGHT_HAS_FALLOFF_RADIUS;
|
return VERSION_ENTITIES_NO_FLY_ZONES;
|
||||||
case PacketType::AvatarData:
|
case PacketType::AvatarData:
|
||||||
case PacketType::BulkAvatarData:
|
case PacketType::BulkAvatarData:
|
||||||
return static_cast<PacketVersion>(AvatarMixerPacketVersion::SoftAttachmentSupport);
|
return static_cast<PacketVersion>(AvatarMixerPacketVersion::SoftAttachmentSupport);
|
||||||
|
|
|
@ -171,6 +171,7 @@ const PacketVersion VERSION_ENTITITES_HAVE_QUERY_BOX = 54;
|
||||||
const PacketVersion VERSION_ENTITITES_HAVE_COLLISION_MASK = 55;
|
const PacketVersion VERSION_ENTITITES_HAVE_COLLISION_MASK = 55;
|
||||||
const PacketVersion VERSION_ATMOSPHERE_REMOVED = 56;
|
const PacketVersion VERSION_ATMOSPHERE_REMOVED = 56;
|
||||||
const PacketVersion VERSION_LIGHT_HAS_FALLOFF_RADIUS = 57;
|
const PacketVersion VERSION_LIGHT_HAS_FALLOFF_RADIUS = 57;
|
||||||
|
const PacketVersion VERSION_ENTITIES_NO_FLY_ZONES = 58;
|
||||||
|
|
||||||
enum class AvatarMixerPacketVersion : PacketVersion {
|
enum class AvatarMixerPacketVersion : PacketVersion {
|
||||||
TranslationSupport = 17,
|
TranslationSupport = 17,
|
||||||
|
|
|
@ -484,6 +484,9 @@
|
||||||
var elZoneSkyboxColorGreen = document.getElementById("property-zone-skybox-color-green");
|
var elZoneSkyboxColorGreen = document.getElementById("property-zone-skybox-color-green");
|
||||||
var elZoneSkyboxColorBlue = document.getElementById("property-zone-skybox-color-blue");
|
var elZoneSkyboxColorBlue = document.getElementById("property-zone-skybox-color-blue");
|
||||||
var elZoneSkyboxURL = document.getElementById("property-zone-skybox-url");
|
var elZoneSkyboxURL = document.getElementById("property-zone-skybox-url");
|
||||||
|
|
||||||
|
var elZoneFlyingAllowed = document.getElementById("property-zone-flying-allowed");
|
||||||
|
var elZoneGhostingAllowed = document.getElementById("property-zone-ghosting-allowed");
|
||||||
|
|
||||||
var elPolyVoxSections = document.querySelectorAll(".poly-vox-section");
|
var elPolyVoxSections = document.querySelectorAll(".poly-vox-section");
|
||||||
allSections.push(elPolyVoxSections);
|
allSections.push(elPolyVoxSections);
|
||||||
|
@ -770,6 +773,9 @@
|
||||||
elZoneSkyboxColorGreen.value = properties.skybox.color.green;
|
elZoneSkyboxColorGreen.value = properties.skybox.color.green;
|
||||||
elZoneSkyboxColorBlue.value = properties.skybox.color.blue;
|
elZoneSkyboxColorBlue.value = properties.skybox.color.blue;
|
||||||
elZoneSkyboxURL.value = properties.skybox.url;
|
elZoneSkyboxURL.value = properties.skybox.url;
|
||||||
|
|
||||||
|
elZoneFlyingAllowed.checked = properties.flyingAllowed;
|
||||||
|
elZoneGhostingAllowed.checked = properties.ghostingAllowed;
|
||||||
|
|
||||||
showElements(document.getElementsByClassName('skybox-section'), elZoneBackgroundMode.value == 'skybox');
|
showElements(document.getElementsByClassName('skybox-section'), elZoneBackgroundMode.value == 'skybox');
|
||||||
} else if (properties.type == "PolyVox") {
|
} else if (properties.type == "PolyVox") {
|
||||||
|
@ -1076,7 +1082,10 @@
|
||||||
}));
|
}));
|
||||||
|
|
||||||
elZoneSkyboxURL.addEventListener('change', createEmitGroupTextPropertyUpdateFunction('skybox','url'));
|
elZoneSkyboxURL.addEventListener('change', createEmitGroupTextPropertyUpdateFunction('skybox','url'));
|
||||||
|
|
||||||
|
elZoneFlyingAllowed.addEventListener('change', createEmitCheckedPropertyUpdateFunction('flyingAllowed'));
|
||||||
|
elZoneGhostingAllowed.addEventListener('change', createEmitCheckedPropertyUpdateFunction('ghostingAllowed'));
|
||||||
|
|
||||||
var voxelVolumeSizeChangeFunction = createEmitVec3PropertyUpdateFunction(
|
var voxelVolumeSizeChangeFunction = createEmitVec3PropertyUpdateFunction(
|
||||||
'voxelVolumeSize', elVoxelVolumeSizeX, elVoxelVolumeSizeY, elVoxelVolumeSizeZ);
|
'voxelVolumeSize', elVoxelVolumeSizeX, elVoxelVolumeSizeY, elVoxelVolumeSizeZ);
|
||||||
elVoxelVolumeSizeX.addEventListener('change', voxelVolumeSizeChangeFunction);
|
elVoxelVolumeSizeX.addEventListener('change', voxelVolumeSizeChangeFunction);
|
||||||
|
@ -1791,6 +1800,15 @@
|
||||||
<input type="text" id="property-zone-skybox-url">
|
<input type="text" id="property-zone-skybox-url">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="zone-group zone-section property checkbox">
|
||||||
|
<input type="checkbox" id="property-zone-flying-allowed">
|
||||||
|
<label for="property-zone-flying-allowed"> Flying Allowed</label>
|
||||||
|
</div>
|
||||||
|
<div class="zone-group zone-section property checkbox">
|
||||||
|
<input type="checkbox" id="property-zone-ghosting-allowed">
|
||||||
|
<label for="property-zone-ghosting-allowed"> Ghosting Allowed</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="section-header web-group web-section">
|
<div class="section-header web-group web-section">
|
||||||
<label>Web</label><span>M</span>
|
<label>Web</label><span>M</span>
|
||||||
|
|
Loading…
Reference in a new issue