mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 20:58:38 +02:00
commit
19106fcff9
13 changed files with 3 additions and 486 deletions
|
@ -218,7 +218,6 @@ void ZoneEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& scen
|
||||||
_ambientLightProperties = entity->getAmbientLightProperties();
|
_ambientLightProperties = entity->getAmbientLightProperties();
|
||||||
_skyboxProperties = entity->getSkyboxProperties();
|
_skyboxProperties = entity->getSkyboxProperties();
|
||||||
_hazeProperties = entity->getHazeProperties();
|
_hazeProperties = entity->getHazeProperties();
|
||||||
_stageProperties = entity->getStageProperties();
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (_lastShapeURL != _typedEntity->getCompoundShapeURL()) {
|
if (_lastShapeURL != _typedEntity->getCompoundShapeURL()) {
|
||||||
|
|
|
@ -112,7 +112,6 @@ private:
|
||||||
KeyLightPropertyGroup _keyLightProperties;
|
KeyLightPropertyGroup _keyLightProperties;
|
||||||
AmbientLightPropertyGroup _ambientLightProperties;
|
AmbientLightPropertyGroup _ambientLightProperties;
|
||||||
HazePropertyGroup _hazeProperties;
|
HazePropertyGroup _hazeProperties;
|
||||||
StagePropertyGroup _stageProperties;
|
|
||||||
SkyboxPropertyGroup _skyboxProperties;
|
SkyboxPropertyGroup _skyboxProperties;
|
||||||
|
|
||||||
// More attributes used for rendering:
|
// More attributes used for rendering:
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
AnimationPropertyGroup EntityItemProperties::_staticAnimation;
|
AnimationPropertyGroup EntityItemProperties::_staticAnimation;
|
||||||
SkyboxPropertyGroup EntityItemProperties::_staticSkybox;
|
SkyboxPropertyGroup EntityItemProperties::_staticSkybox;
|
||||||
HazePropertyGroup EntityItemProperties::_staticHaze;
|
HazePropertyGroup EntityItemProperties::_staticHaze;
|
||||||
StagePropertyGroup EntityItemProperties::_staticStage;
|
|
||||||
KeyLightPropertyGroup EntityItemProperties::_staticKeyLight;
|
KeyLightPropertyGroup EntityItemProperties::_staticKeyLight;
|
||||||
AmbientLightPropertyGroup EntityItemProperties::_staticAmbientLight;
|
AmbientLightPropertyGroup EntityItemProperties::_staticAmbientLight;
|
||||||
|
|
||||||
|
@ -401,7 +400,6 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const {
|
||||||
changedProperties += _keyLight.getChangedProperties();
|
changedProperties += _keyLight.getChangedProperties();
|
||||||
changedProperties += _ambientLight.getChangedProperties();
|
changedProperties += _ambientLight.getChangedProperties();
|
||||||
changedProperties += _skybox.getChangedProperties();
|
changedProperties += _skybox.getChangedProperties();
|
||||||
changedProperties += _stage.getChangedProperties();
|
|
||||||
changedProperties += _haze.getChangedProperties();
|
changedProperties += _haze.getChangedProperties();
|
||||||
|
|
||||||
return changedProperties;
|
return changedProperties;
|
||||||
|
@ -576,7 +574,6 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
||||||
_keyLight.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
_keyLight.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
||||||
_ambientLight.copyToScriptValue(_desiredProperties, properties, engine, skipDefaults, defaultEntityProperties);
|
_ambientLight.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_FLYING_ALLOWED, flyingAllowed);
|
||||||
|
@ -810,7 +807,6 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object, bool
|
||||||
_keyLight.copyFromScriptValue(object, _defaultSettings);
|
_keyLight.copyFromScriptValue(object, _defaultSettings);
|
||||||
_ambientLight.copyFromScriptValue(object, _defaultSettings);
|
_ambientLight.copyFromScriptValue(object, _defaultSettings);
|
||||||
_skybox.copyFromScriptValue(object, _defaultSettings);
|
_skybox.copyFromScriptValue(object, _defaultSettings);
|
||||||
_stage.copyFromScriptValue(object, _defaultSettings);
|
|
||||||
_haze.copyFromScriptValue(object, _defaultSettings);
|
_haze.copyFromScriptValue(object, _defaultSettings);
|
||||||
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE(xTextureURL, QString, setXTextureURL);
|
COPY_PROPERTY_FROM_QSCRIPTVALUE(xTextureURL, QString, setXTextureURL);
|
||||||
|
@ -961,7 +957,6 @@ void EntityItemProperties::merge(const EntityItemProperties& other) {
|
||||||
_keyLight.merge(other._keyLight);
|
_keyLight.merge(other._keyLight);
|
||||||
_ambientLight.merge(other._ambientLight);
|
_ambientLight.merge(other._ambientLight);
|
||||||
_skybox.merge(other._skybox);
|
_skybox.merge(other._skybox);
|
||||||
_stage.merge(other._stage);
|
|
||||||
_haze.merge(other._haze);
|
_haze.merge(other._haze);
|
||||||
|
|
||||||
COPY_PROPERTY_IF_CHANGED(xTextureURL);
|
COPY_PROPERTY_IF_CHANGED(xTextureURL);
|
||||||
|
@ -1184,14 +1179,6 @@ void EntityItemProperties::entityPropertyFlagsFromScriptValue(const QScriptValue
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_SKYBOX_COLOR, Skybox, skybox, Color, color);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_SKYBOX_COLOR, Skybox, skybox, Color, color);
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_SKYBOX_URL, Skybox, skybox, URL, url);
|
ADD_GROUP_PROPERTY_TO_MAP(PROP_SKYBOX_URL, Skybox, skybox, URL, url);
|
||||||
|
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_SUN_MODEL_ENABLED, Stage, stage, SunModelEnabled, sunModelEnabled);
|
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_LATITUDE, Stage, stage, Latitude, latitude);
|
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_LONGITUDE, Stage, stage, Longitude, longitude);
|
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_ALTITUDE, Stage, stage, Altitude, altitude);
|
|
||||||
ADD_GROUP_PROPERTY_TO_MAP(PROP_STAGE_DAY, Stage, stage, Day, day);
|
|
||||||
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_PROPERTY_TO_MAP(PROP_FLYING_ALLOWED, FlyingAllowed, flyingAllowed, bool);
|
ADD_PROPERTY_TO_MAP(PROP_FLYING_ALLOWED, FlyingAllowed, flyingAllowed, bool);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_GHOSTING_ALLOWED, GhostingAllowed, ghostingAllowed, bool);
|
ADD_PROPERTY_TO_MAP(PROP_GHOSTING_ALLOWED, GhostingAllowed, ghostingAllowed, bool);
|
||||||
ADD_PROPERTY_TO_MAP(PROP_FILTER_URL, FilterURL, filterURL, QString);
|
ADD_PROPERTY_TO_MAP(PROP_FILTER_URL, FilterURL, filterURL, QString);
|
||||||
|
@ -1447,9 +1434,6 @@ OctreeElement::AppendState EntityItemProperties::encodeEntityEditPacket(PacketTy
|
||||||
_staticAmbientLight.setProperties(properties);
|
_staticAmbientLight.setProperties(properties);
|
||||||
_staticAmbientLight.appendToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
_staticAmbientLight.appendToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
||||||
|
|
||||||
_staticStage.setProperties(properties);
|
|
||||||
_staticStage.appendToEditPacket(packetData, requestedProperties, propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
|
||||||
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, (uint32_t)properties.getShapeType());
|
APPEND_ENTITY_PROPERTY(PROP_SHAPE_TYPE, (uint32_t)properties.getShapeType());
|
||||||
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, properties.getCompoundShapeURL());
|
APPEND_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, properties.getCompoundShapeURL());
|
||||||
|
|
||||||
|
@ -1805,7 +1789,6 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int
|
||||||
if (properties.getType() == EntityTypes::Zone) {
|
if (properties.getType() == EntityTypes::Zone) {
|
||||||
properties.getKeyLight().decodeFromEditPacket(propertyFlags, dataAt, processedBytes);
|
properties.getKeyLight().decodeFromEditPacket(propertyFlags, dataAt, processedBytes);
|
||||||
properties.getAmbientLight().decodeFromEditPacket(propertyFlags, dataAt, processedBytes);
|
properties.getAmbientLight().decodeFromEditPacket(propertyFlags, dataAt, processedBytes);
|
||||||
properties.getStage().decodeFromEditPacket(propertyFlags, dataAt , processedBytes);
|
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHAPE_TYPE, ShapeType, setShapeType);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_SHAPE_TYPE, ShapeType, setShapeType);
|
||||||
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL);
|
READ_ENTITY_PROPERTY_TO_PROPERTIES(PROP_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL);
|
||||||
|
@ -2056,7 +2039,6 @@ void EntityItemProperties::markAllChanged() {
|
||||||
|
|
||||||
_animation.markAllChanged();
|
_animation.markAllChanged();
|
||||||
_skybox.markAllChanged();
|
_skybox.markAllChanged();
|
||||||
_stage.markAllChanged();
|
|
||||||
_haze.markAllChanged();
|
_haze.markAllChanged();
|
||||||
|
|
||||||
_sourceUrlChanged = true;
|
_sourceUrlChanged = true;
|
||||||
|
@ -2513,7 +2495,6 @@ QList<QString> EntityItemProperties::listChangedProperties() {
|
||||||
getKeyLight().listChangedProperties(out);
|
getKeyLight().listChangedProperties(out);
|
||||||
getAmbientLight().listChangedProperties(out);
|
getAmbientLight().listChangedProperties(out);
|
||||||
getSkybox().listChangedProperties(out);
|
getSkybox().listChangedProperties(out);
|
||||||
getStage().listChangedProperties(out);
|
|
||||||
getHaze().listChangedProperties(out);
|
getHaze().listChangedProperties(out);
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
#include "SimulationOwner.h"
|
#include "SimulationOwner.h"
|
||||||
#include "SkyboxPropertyGroup.h"
|
#include "SkyboxPropertyGroup.h"
|
||||||
#include "HazePropertyGroup.h"
|
#include "HazePropertyGroup.h"
|
||||||
#include "StagePropertyGroup.h"
|
|
||||||
#include "TextEntityItem.h"
|
#include "TextEntityItem.h"
|
||||||
#include "ZoneEntityItem.h"
|
#include "ZoneEntityItem.h"
|
||||||
|
|
||||||
|
@ -185,7 +184,6 @@ public:
|
||||||
DEFINE_PROPERTY_REF(PROP_VOXEL_DATA, VoxelData, voxelData, QByteArray, PolyVoxEntityItem::DEFAULT_VOXEL_DATA);
|
DEFINE_PROPERTY_REF(PROP_VOXEL_DATA, VoxelData, voxelData, QByteArray, PolyVoxEntityItem::DEFAULT_VOXEL_DATA);
|
||||||
DEFINE_PROPERTY_REF(PROP_VOXEL_SURFACE_STYLE, VoxelSurfaceStyle, voxelSurfaceStyle, uint16_t, PolyVoxEntityItem::DEFAULT_VOXEL_SURFACE_STYLE);
|
DEFINE_PROPERTY_REF(PROP_VOXEL_SURFACE_STYLE, VoxelSurfaceStyle, voxelSurfaceStyle, uint16_t, PolyVoxEntityItem::DEFAULT_VOXEL_SURFACE_STYLE);
|
||||||
DEFINE_PROPERTY_REF(PROP_NAME, Name, name, QString, ENTITY_ITEM_DEFAULT_NAME);
|
DEFINE_PROPERTY_REF(PROP_NAME, Name, name, QString, ENTITY_ITEM_DEFAULT_NAME);
|
||||||
DEFINE_PROPERTY_GROUP(Stage, stage, StagePropertyGroup);
|
|
||||||
|
|
||||||
DEFINE_PROPERTY_REF_ENUM(PROP_KEY_LIGHT_MODE, KeyLightMode, keyLightMode, uint32_t, (uint32_t)COMPONENT_MODE_ENABLED);
|
DEFINE_PROPERTY_REF_ENUM(PROP_KEY_LIGHT_MODE, KeyLightMode, keyLightMode, uint32_t, (uint32_t)COMPONENT_MODE_ENABLED);
|
||||||
DEFINE_PROPERTY_REF_ENUM(PROP_SKYBOX_MODE, SkyboxMode, skyboxMode, uint32_t, (uint32_t)COMPONENT_MODE_ENABLED);
|
DEFINE_PROPERTY_REF_ENUM(PROP_SKYBOX_MODE, SkyboxMode, skyboxMode, uint32_t, (uint32_t)COMPONENT_MODE_ENABLED);
|
||||||
|
|
|
@ -248,13 +248,6 @@ enum EntityPropertyList {
|
||||||
PROP_KEYLIGHT_COLOR = PROP_COLOR,
|
PROP_KEYLIGHT_COLOR = PROP_COLOR,
|
||||||
PROP_KEYLIGHT_INTENSITY = PROP_INTENSITY,
|
PROP_KEYLIGHT_INTENSITY = PROP_INTENSITY,
|
||||||
PROP_KEYLIGHT_DIRECTION = PROP_EXPONENT,
|
PROP_KEYLIGHT_DIRECTION = PROP_EXPONENT,
|
||||||
PROP_STAGE_SUN_MODEL_ENABLED = PROP_IS_SPOTLIGHT,
|
|
||||||
PROP_STAGE_LATITUDE = PROP_DIFFUSE_COLOR,
|
|
||||||
PROP_STAGE_LONGITUDE = PROP_AMBIENT_COLOR_UNUSED,
|
|
||||||
PROP_STAGE_ALTITUDE = PROP_SPECULAR_COLOR_UNUSED,
|
|
||||||
PROP_STAGE_DAY = PROP_LINEAR_ATTENUATION_UNUSED,
|
|
||||||
PROP_STAGE_HOUR = PROP_QUADRATIC_ATTENUATION_UNUSED,
|
|
||||||
PROP_STAGE_AUTOMATIC_HOURDAY = PROP_ANIMATION_FRAME_INDEX,
|
|
||||||
|
|
||||||
PROP_SKYBOX_COLOR = PROP_ANIMATION_URL,
|
PROP_SKYBOX_COLOR = PROP_ANIMATION_URL,
|
||||||
PROP_SKYBOX_URL = PROP_ANIMATION_FPS,
|
PROP_SKYBOX_URL = PROP_ANIMATION_FPS,
|
||||||
|
|
|
@ -1,283 +0,0 @@
|
||||||
//
|
|
||||||
// StagePropertyGroup.cpp
|
|
||||||
// libraries/entities/src
|
|
||||||
//
|
|
||||||
// Created by Brad Hefta-Gaub on 12/4/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
|
|
||||||
//
|
|
||||||
|
|
||||||
#include <QDateTime>
|
|
||||||
#include <QDate>
|
|
||||||
#include <QTime>
|
|
||||||
|
|
||||||
#include <OctreePacketData.h>
|
|
||||||
|
|
||||||
#include "StagePropertyGroup.h"
|
|
||||||
#include "EntityItemProperties.h"
|
|
||||||
#include "EntityItemPropertiesMacros.h"
|
|
||||||
|
|
||||||
const bool StagePropertyGroup::DEFAULT_STAGE_SUN_MODEL_ENABLED = false;
|
|
||||||
const float StagePropertyGroup::DEFAULT_STAGE_LATITUDE = 37.777f;
|
|
||||||
const float StagePropertyGroup::DEFAULT_STAGE_LONGITUDE = 122.407f;
|
|
||||||
const float StagePropertyGroup::DEFAULT_STAGE_ALTITUDE = 0.03f;
|
|
||||||
const quint16 StagePropertyGroup::DEFAULT_STAGE_DAY = 60;
|
|
||||||
const float StagePropertyGroup::DEFAULT_STAGE_HOUR = 12.0f;
|
|
||||||
|
|
||||||
void StagePropertyGroup::copyToScriptValue(const EntityPropertyFlags& desiredProperties, QScriptValue& properties, QScriptEngine* engine, bool skipDefaults, EntityItemProperties& defaultEntityProperties) const {
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_SUN_MODEL_ENABLED, Stage, stage, SunModelEnabled, sunModelEnabled);
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_LATITUDE, Stage, stage, Latitude, latitude);
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_LONGITUDE, Stage, stage, Longitude, longitude);
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_ALTITUDE, Stage, stage, Altitude, altitude);
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_DAY, Stage, stage, Day, day);
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_HOUR, Stage, stage, Hour, hour);
|
|
||||||
COPY_GROUP_PROPERTY_TO_QSCRIPTVALUE(PROP_STAGE_AUTOMATIC_HOURDAY, Stage, stage, AutomaticHourDay, automaticHourDay);
|
|
||||||
}
|
|
||||||
|
|
||||||
void StagePropertyGroup::copyFromScriptValue(const QScriptValue& object, bool& _defaultSettings) {
|
|
||||||
|
|
||||||
// Backward compatibility support for the old way of doing stage properties
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_GETTER(stageSunModelEnabled, bool, setSunModelEnabled, getSunModelEnabled);
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_GETTER(stageLatitude, float, setLatitude, getLatitude);
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_GETTER(stageLongitude, float, setLongitude, getLongitude);
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_GETTER(stageAltitude, float, setAltitude, getAltitude);
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_GETTER(stageDay, uint16_t, setDay, getDay);
|
|
||||||
COPY_PROPERTY_FROM_QSCRIPTVALUE_GETTER(stageHour, float, setHour, getHour);
|
|
||||||
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, sunModelEnabled, bool, setSunModelEnabled);
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, latitude, float, setLatitude);
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, longitude, float, setLongitude);
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, altitude, float, setAltitude);
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, day, uint16_t, setDay);
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, hour, float, setHour);
|
|
||||||
COPY_GROUP_PROPERTY_FROM_QSCRIPTVALUE(stage, automaticHourDay, bool, setAutomaticHourDay);
|
|
||||||
}
|
|
||||||
|
|
||||||
void StagePropertyGroup::merge(const StagePropertyGroup& other) {
|
|
||||||
COPY_PROPERTY_IF_CHANGED(sunModelEnabled);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(latitude);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(longitude);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(altitude);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(day);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(hour);
|
|
||||||
COPY_PROPERTY_IF_CHANGED(automaticHourDay);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void StagePropertyGroup::debugDump() const {
|
|
||||||
qCDebug(entities) << " StagePropertyGroup: ---------------------------------------------";
|
|
||||||
qCDebug(entities) << " _sunModelEnabled:" << _sunModelEnabled;
|
|
||||||
qCDebug(entities) << " _latitude:" << _latitude;
|
|
||||||
qCDebug(entities) << " _longitude:" << _longitude;
|
|
||||||
qCDebug(entities) << " _altitude:" << _altitude;
|
|
||||||
qCDebug(entities) << " _day:" << _day;
|
|
||||||
qCDebug(entities) << " _hour:" << _hour;
|
|
||||||
qCDebug(entities) << " _automaticHourDay:" << _automaticHourDay;
|
|
||||||
}
|
|
||||||
|
|
||||||
void StagePropertyGroup::listChangedProperties(QList<QString>& out) {
|
|
||||||
if (sunModelEnabledChanged()) {
|
|
||||||
out << "stage-sunModelEnabled";
|
|
||||||
}
|
|
||||||
if (latitudeChanged()) {
|
|
||||||
out << "stage-latitude";
|
|
||||||
}
|
|
||||||
if (altitudeChanged()) {
|
|
||||||
out << "stage-altitude";
|
|
||||||
}
|
|
||||||
if (dayChanged()) {
|
|
||||||
out << "stage-day";
|
|
||||||
}
|
|
||||||
if (hourChanged()) {
|
|
||||||
out << "stage-hour";
|
|
||||||
}
|
|
||||||
if (automaticHourDayChanged()) {
|
|
||||||
out << "stage-automaticHourDay";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool StagePropertyGroup::appendToEditPacket(OctreePacketData* packetData,
|
|
||||||
EntityPropertyFlags& requestedProperties,
|
|
||||||
EntityPropertyFlags& propertyFlags,
|
|
||||||
EntityPropertyFlags& propertiesDidntFit,
|
|
||||||
int& propertyCount,
|
|
||||||
OctreeElement::AppendState& appendState) const {
|
|
||||||
|
|
||||||
bool successPropertyFits = true;
|
|
||||||
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_SUN_MODEL_ENABLED, getSunModelEnabled());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_LATITUDE, getLatitude());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_LONGITUDE, getLongitude());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_ALTITUDE, getAltitude());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_DAY, getDay());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_HOUR, getHour());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_AUTOMATIC_HOURDAY, getAutomaticHourDay());
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool StagePropertyGroup::decodeFromEditPacket(EntityPropertyFlags& propertyFlags, const unsigned char*& dataAt , int& processedBytes) {
|
|
||||||
|
|
||||||
int bytesRead = 0;
|
|
||||||
bool overwriteLocalData = true;
|
|
||||||
bool somethingChanged = false;
|
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_SUN_MODEL_ENABLED, bool, setSunModelEnabled);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_LATITUDE, float, setLatitude);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_LONGITUDE, float, setLongitude);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_ALTITUDE, float, setAltitude);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_DAY, quint16, setDay);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_HOUR, float, setHour);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_AUTOMATIC_HOURDAY, bool, setAutomaticHourDay);
|
|
||||||
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_SUN_MODEL_ENABLED, SunModelEnabled);
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_LATITUDE, Latitude);
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_LONGITUDE, Longitude);
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_ALTITUDE, Altitude);
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_DAY, Day);
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_HOUR, Hour);
|
|
||||||
DECODE_GROUP_PROPERTY_HAS_CHANGED(PROP_STAGE_AUTOMATIC_HOURDAY, AutomaticHourDay);
|
|
||||||
|
|
||||||
processedBytes += bytesRead;
|
|
||||||
|
|
||||||
Q_UNUSED(somethingChanged);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void StagePropertyGroup::markAllChanged() {
|
|
||||||
_sunModelEnabledChanged = true;
|
|
||||||
_latitudeChanged = true;
|
|
||||||
_longitudeChanged = true;
|
|
||||||
_altitudeChanged = true;
|
|
||||||
_dayChanged = true;
|
|
||||||
_hourChanged = true;
|
|
||||||
_automaticHourDayChanged = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
EntityPropertyFlags StagePropertyGroup::getChangedProperties() const {
|
|
||||||
EntityPropertyFlags changedProperties;
|
|
||||||
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_SUN_MODEL_ENABLED, sunModelEnabled);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_LATITUDE, latitude);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_LONGITUDE, longitude);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_ALTITUDE, altitude);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_DAY, day);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_HOUR, hour);
|
|
||||||
CHECK_PROPERTY_CHANGE(PROP_STAGE_AUTOMATIC_HOURDAY, automaticHourDay);
|
|
||||||
|
|
||||||
return changedProperties;
|
|
||||||
}
|
|
||||||
|
|
||||||
void StagePropertyGroup::getProperties(EntityItemProperties& properties) const {
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, SunModelEnabled, getSunModelEnabled);
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, Latitude, getLatitude);
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, Longitude, getLongitude);
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, Altitude, getAltitude);
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, Day, getDay);
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, Hour, getHour);
|
|
||||||
COPY_ENTITY_GROUP_PROPERTY_TO_PROPERTIES(Stage, AutomaticHourDay, getAutomaticHourDay);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool StagePropertyGroup::setProperties(const EntityItemProperties& properties) {
|
|
||||||
bool somethingChanged = false;
|
|
||||||
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, SunModelEnabled, sunModelEnabled, setSunModelEnabled);
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, Latitude, latitude, setLatitude);
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, Longitude, longitude, setLongitude);
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, Altitude, altitude, setAltitude);
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, Day, day, setDay);
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, Hour, hour, setHour);
|
|
||||||
SET_ENTITY_GROUP_PROPERTY_FROM_PROPERTIES(Stage, AutomaticHourDay, automaticHourDay, setAutomaticHourDay);
|
|
||||||
|
|
||||||
return somethingChanged;
|
|
||||||
}
|
|
||||||
|
|
||||||
EntityPropertyFlags StagePropertyGroup::getEntityProperties(EncodeBitstreamParams& params) const {
|
|
||||||
EntityPropertyFlags requestedProperties;
|
|
||||||
|
|
||||||
requestedProperties += PROP_STAGE_SUN_MODEL_ENABLED;
|
|
||||||
requestedProperties += PROP_STAGE_LATITUDE;
|
|
||||||
requestedProperties += PROP_STAGE_LONGITUDE;
|
|
||||||
requestedProperties += PROP_STAGE_ALTITUDE;
|
|
||||||
requestedProperties += PROP_STAGE_DAY;
|
|
||||||
requestedProperties += PROP_STAGE_HOUR;
|
|
||||||
requestedProperties += PROP_STAGE_AUTOMATIC_HOURDAY;
|
|
||||||
|
|
||||||
return requestedProperties;
|
|
||||||
}
|
|
||||||
|
|
||||||
void StagePropertyGroup::appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
|
||||||
EntityTreeElementExtraEncodeDataPointer entityTreeElementExtraEncodeData,
|
|
||||||
EntityPropertyFlags& requestedProperties,
|
|
||||||
EntityPropertyFlags& propertyFlags,
|
|
||||||
EntityPropertyFlags& propertiesDidntFit,
|
|
||||||
int& propertyCount,
|
|
||||||
OctreeElement::AppendState& appendState) const {
|
|
||||||
|
|
||||||
bool successPropertyFits = true;
|
|
||||||
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_SUN_MODEL_ENABLED, getSunModelEnabled());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_LATITUDE, getLatitude());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_LONGITUDE, getLongitude());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_ALTITUDE, getAltitude());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_DAY, getDay());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_HOUR, getHour());
|
|
||||||
APPEND_ENTITY_PROPERTY(PROP_STAGE_AUTOMATIC_HOURDAY, getAutomaticHourDay());
|
|
||||||
}
|
|
||||||
|
|
||||||
int StagePropertyGroup::readEntitySubclassDataFromBuffer(const unsigned char* data, int bytesLeftToRead,
|
|
||||||
ReadBitstreamToTreeParams& args,
|
|
||||||
EntityPropertyFlags& propertyFlags, bool overwriteLocalData,
|
|
||||||
bool& somethingChanged) {
|
|
||||||
|
|
||||||
int bytesRead = 0;
|
|
||||||
const unsigned char* dataAt = data;
|
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_SUN_MODEL_ENABLED, bool, setSunModelEnabled);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_LATITUDE, float, setLatitude);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_LONGITUDE, float, setLongitude);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_ALTITUDE, float, setAltitude);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_DAY, quint16, setDay);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_HOUR, float, setHour);
|
|
||||||
READ_ENTITY_PROPERTY(PROP_STAGE_AUTOMATIC_HOURDAY, bool, setAutomaticHourDay);
|
|
||||||
|
|
||||||
return bytesRead;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const float TOTAL_LONGITUDES = 360.0f;
|
|
||||||
static const float HOURS_PER_DAY = 24;
|
|
||||||
static const float SECONDS_PER_DAY = 60 * 60 * HOURS_PER_DAY;
|
|
||||||
static const float MSECS_PER_DAY = SECONDS_PER_DAY * MSECS_PER_SECOND;
|
|
||||||
|
|
||||||
float StagePropertyGroup::calculateHour() const {
|
|
||||||
if (!_automaticHourDay) {
|
|
||||||
return _hour;
|
|
||||||
}
|
|
||||||
|
|
||||||
QDateTime utc(QDateTime::currentDateTimeUtc());
|
|
||||||
float adjustFromUTC = (_longitude / TOTAL_LONGITUDES);
|
|
||||||
float offsetFromUTCinMsecs = adjustFromUTC * MSECS_PER_DAY;
|
|
||||||
int msecsSinceStartOfDay = utc.time().msecsSinceStartOfDay();
|
|
||||||
float calutatedHour = ((msecsSinceStartOfDay + offsetFromUTCinMsecs) / MSECS_PER_DAY) * HOURS_PER_DAY;
|
|
||||||
|
|
||||||
// calculate hour based on longitude and time from GMT
|
|
||||||
return calutatedHour;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t StagePropertyGroup::calculateDay() const {
|
|
||||||
|
|
||||||
if (!_automaticHourDay) {
|
|
||||||
return _day;
|
|
||||||
}
|
|
||||||
|
|
||||||
QDateTime utc(QDateTime::currentDateTimeUtc());
|
|
||||||
int calutatedDay = utc.date().dayOfYear();
|
|
||||||
|
|
||||||
// calculate day based on longitude and time from GMT
|
|
||||||
return calutatedDay;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
//
|
|
||||||
// StagePropertyGroup.h
|
|
||||||
// libraries/entities/src
|
|
||||||
//
|
|
||||||
// Created by Brad Hefta-Gaub on 12/4/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_StagePropertyGroup_h
|
|
||||||
#define hifi_StagePropertyGroup_h
|
|
||||||
|
|
||||||
#include <QtScript/QScriptEngine>
|
|
||||||
|
|
||||||
#include "PropertyGroup.h"
|
|
||||||
#include "EntityItemPropertiesMacros.h"
|
|
||||||
|
|
||||||
class EntityItemProperties;
|
|
||||||
class EncodeBitstreamParams;
|
|
||||||
class OctreePacketData;
|
|
||||||
class EntityTreeElementExtraEncodeData;
|
|
||||||
class ReadBitstreamToTreeParams;
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <glm/glm.hpp>
|
|
||||||
|
|
||||||
|
|
||||||
class StagePropertyGroup : public PropertyGroup {
|
|
||||||
public:
|
|
||||||
// EntityItemProperty related helpers
|
|
||||||
virtual void copyToScriptValue(const EntityPropertyFlags& desiredProperties, QScriptValue& properties,
|
|
||||||
QScriptEngine* engine, bool skipDefaults,
|
|
||||||
EntityItemProperties& defaultEntityProperties) const override;
|
|
||||||
virtual void copyFromScriptValue(const QScriptValue& object, bool& _defaultSettings) override;
|
|
||||||
|
|
||||||
void merge(const StagePropertyGroup& other);
|
|
||||||
|
|
||||||
virtual void debugDump() const override;
|
|
||||||
virtual void listChangedProperties(QList<QString>& out) override;
|
|
||||||
|
|
||||||
virtual bool appendToEditPacket(OctreePacketData* packetData,
|
|
||||||
EntityPropertyFlags& requestedProperties,
|
|
||||||
EntityPropertyFlags& propertyFlags,
|
|
||||||
EntityPropertyFlags& propertiesDidntFit,
|
|
||||||
int& propertyCount,
|
|
||||||
OctreeElement::AppendState& appendState) const override;
|
|
||||||
|
|
||||||
virtual bool decodeFromEditPacket(EntityPropertyFlags& propertyFlags,
|
|
||||||
const unsigned char*& dataAt, int& processedBytes) override;
|
|
||||||
virtual void markAllChanged() override;
|
|
||||||
virtual EntityPropertyFlags getChangedProperties() const override;
|
|
||||||
|
|
||||||
// EntityItem related helpers
|
|
||||||
// methods for getting/setting all properties of an entity
|
|
||||||
virtual void getProperties(EntityItemProperties& propertiesOut) const override;
|
|
||||||
|
|
||||||
/// returns true if something changed
|
|
||||||
virtual bool setProperties(const EntityItemProperties& properties) override;
|
|
||||||
|
|
||||||
virtual EntityPropertyFlags getEntityProperties(EncodeBitstreamParams& params) const override;
|
|
||||||
|
|
||||||
virtual void appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
|
||||||
EntityTreeElementExtraEncodeDataPointer entityTreeElementExtraEncodeData,
|
|
||||||
EntityPropertyFlags& requestedProperties,
|
|
||||||
EntityPropertyFlags& propertyFlags,
|
|
||||||
EntityPropertyFlags& propertiesDidntFit,
|
|
||||||
int& propertyCount,
|
|
||||||
OctreeElement::AppendState& appendState) const override;
|
|
||||||
|
|
||||||
virtual int readEntitySubclassDataFromBuffer(const unsigned char* data, int bytesLeftToRead,
|
|
||||||
ReadBitstreamToTreeParams& args,
|
|
||||||
EntityPropertyFlags& propertyFlags, bool overwriteLocalData,
|
|
||||||
bool& somethingChanged) override;
|
|
||||||
|
|
||||||
static const bool DEFAULT_STAGE_SUN_MODEL_ENABLED;
|
|
||||||
static const float DEFAULT_STAGE_LATITUDE;
|
|
||||||
static const float DEFAULT_STAGE_LONGITUDE;
|
|
||||||
static const float DEFAULT_STAGE_ALTITUDE;
|
|
||||||
static const quint16 DEFAULT_STAGE_DAY;
|
|
||||||
static const float DEFAULT_STAGE_HOUR;
|
|
||||||
|
|
||||||
float calculateHour() const;
|
|
||||||
uint16_t calculateDay() const;
|
|
||||||
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_SUN_MODEL_ENABLED, SunModelEnabled, sunModelEnabled, bool, DEFAULT_STAGE_SUN_MODEL_ENABLED);
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_LATITUDE, Latitude, latitude, float, DEFAULT_STAGE_LATITUDE);
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_LONGITUDE, Longitude, longitude, float, DEFAULT_STAGE_LONGITUDE);
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_ALTITUDE, Altitude, altitude, float, DEFAULT_STAGE_ALTITUDE);
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_DAY, Day, day, uint16_t, DEFAULT_STAGE_DAY);
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_HOUR, Hour, hour, float, DEFAULT_STAGE_HOUR);
|
|
||||||
DEFINE_PROPERTY(PROP_STAGE_AUTOMATIC_HOURDAY, AutomaticHourDay, automaticHourDay, bool, false);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // hifi_StagePropertyGroup_h
|
|
|
@ -56,8 +56,6 @@ EntityItemProperties ZoneEntityItem::getProperties(EntityPropertyFlags desiredPr
|
||||||
_ambientLightProperties.getProperties(properties);
|
_ambientLightProperties.getProperties(properties);
|
||||||
});
|
});
|
||||||
|
|
||||||
_stageProperties.getProperties(properties);
|
|
||||||
|
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(shapeType, getShapeType);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(shapeType, getShapeType);
|
||||||
COPY_ENTITY_PROPERTY_TO_PROPERTIES(compoundShapeURL, getCompoundShapeURL);
|
COPY_ENTITY_PROPERTY_TO_PROPERTIES(compoundShapeURL, getCompoundShapeURL);
|
||||||
|
|
||||||
|
@ -109,8 +107,6 @@ bool ZoneEntityItem::setSubClassProperties(const EntityItemProperties& propertie
|
||||||
_ambientLightPropertiesChanged = _ambientLightProperties.setProperties(properties);
|
_ambientLightPropertiesChanged = _ambientLightProperties.setProperties(properties);
|
||||||
});
|
});
|
||||||
|
|
||||||
_stagePropertiesChanged = _stageProperties.setProperties(properties);
|
|
||||||
|
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(shapeType, setShapeType);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(shapeType, setShapeType);
|
||||||
SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL);
|
SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL);
|
||||||
|
|
||||||
|
@ -163,12 +159,6 @@ int ZoneEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data,
|
||||||
bytesRead += bytesFromAmbientlight;
|
bytesRead += bytesFromAmbientlight;
|
||||||
dataAt += bytesFromAmbientlight;
|
dataAt += bytesFromAmbientlight;
|
||||||
|
|
||||||
int bytesFromStage = _stageProperties.readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
|
||||||
propertyFlags, overwriteLocalData, _stagePropertiesChanged);
|
|
||||||
somethingChanged = somethingChanged || _stagePropertiesChanged;
|
|
||||||
bytesRead += bytesFromStage;
|
|
||||||
dataAt += bytesFromStage;
|
|
||||||
|
|
||||||
READ_ENTITY_PROPERTY(PROP_SHAPE_TYPE, ShapeType, setShapeType);
|
READ_ENTITY_PROPERTY(PROP_SHAPE_TYPE, ShapeType, setShapeType);
|
||||||
READ_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL);
|
READ_ENTITY_PROPERTY(PROP_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL);
|
||||||
|
|
||||||
|
@ -214,8 +204,6 @@ EntityPropertyFlags ZoneEntityItem::getEntityProperties(EncodeBitstreamParams& p
|
||||||
requestedProperties += _ambientLightProperties.getEntityProperties(params);
|
requestedProperties += _ambientLightProperties.getEntityProperties(params);
|
||||||
});
|
});
|
||||||
|
|
||||||
requestedProperties += _stageProperties.getEntityProperties(params);
|
|
||||||
|
|
||||||
requestedProperties += PROP_SHAPE_TYPE;
|
requestedProperties += PROP_SHAPE_TYPE;
|
||||||
requestedProperties += PROP_COMPOUND_SHAPE_URL;
|
requestedProperties += PROP_COMPOUND_SHAPE_URL;
|
||||||
|
|
||||||
|
@ -253,10 +241,6 @@ void ZoneEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBits
|
||||||
_ambientLightProperties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
_ambientLightProperties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
||||||
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
||||||
|
|
||||||
_stageProperties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties,
|
|
||||||
propertyFlags, propertiesDidntFit, propertyCount, appendState);
|
|
||||||
|
|
||||||
|
|
||||||
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());
|
||||||
|
|
||||||
|
@ -291,7 +275,6 @@ void ZoneEntityItem::debugDump() const {
|
||||||
_ambientLightProperties.debugDump();
|
_ambientLightProperties.debugDump();
|
||||||
_skyboxProperties.debugDump();
|
_skyboxProperties.debugDump();
|
||||||
_hazeProperties.debugDump();
|
_hazeProperties.debugDump();
|
||||||
_stageProperties.debugDump();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ShapeType ZoneEntityItem::getShapeType() const {
|
ShapeType ZoneEntityItem::getShapeType() const {
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "EntityTree.h"
|
#include "EntityTree.h"
|
||||||
#include "SkyboxPropertyGroup.h"
|
#include "SkyboxPropertyGroup.h"
|
||||||
#include "HazePropertyGroup.h"
|
#include "HazePropertyGroup.h"
|
||||||
#include "StagePropertyGroup.h"
|
|
||||||
#include <ComponentMode.h>
|
#include <ComponentMode.h>
|
||||||
|
|
||||||
class ZoneEntityItem : public EntityItem {
|
class ZoneEntityItem : public EntityItem {
|
||||||
|
@ -85,8 +84,6 @@ public:
|
||||||
|
|
||||||
const HazePropertyGroup& getHazeProperties() const { return _hazeProperties; }
|
const HazePropertyGroup& getHazeProperties() const { return _hazeProperties; }
|
||||||
|
|
||||||
const StagePropertyGroup& getStageProperties() const { return _stageProperties; }
|
|
||||||
|
|
||||||
bool getFlyingAllowed() const { return _flyingAllowed; }
|
bool getFlyingAllowed() const { return _flyingAllowed; }
|
||||||
void setFlyingAllowed(bool value) { _flyingAllowed = value; }
|
void setFlyingAllowed(bool value) { _flyingAllowed = value; }
|
||||||
bool getGhostingAllowed() const { return _ghostingAllowed; }
|
bool getGhostingAllowed() const { return _ghostingAllowed; }
|
||||||
|
@ -136,7 +133,6 @@ protected:
|
||||||
|
|
||||||
SkyboxPropertyGroup _skyboxProperties;
|
SkyboxPropertyGroup _skyboxProperties;
|
||||||
HazePropertyGroup _hazeProperties;
|
HazePropertyGroup _hazeProperties;
|
||||||
StagePropertyGroup _stageProperties;
|
|
||||||
|
|
||||||
bool _flyingAllowed { DEFAULT_FLYING_ALLOWED };
|
bool _flyingAllowed { DEFAULT_FLYING_ALLOWED };
|
||||||
bool _ghostingAllowed { DEFAULT_GHOSTING_ALLOWED };
|
bool _ghostingAllowed { DEFAULT_GHOSTING_ALLOWED };
|
||||||
|
|
|
@ -30,7 +30,7 @@ PacketVersion versionForPacketType(PacketType packetType) {
|
||||||
case PacketType::EntityEdit:
|
case PacketType::EntityEdit:
|
||||||
case PacketType::EntityData:
|
case PacketType::EntityData:
|
||||||
case PacketType::EntityPhysics:
|
case PacketType::EntityPhysics:
|
||||||
return static_cast<PacketVersion>(EntityVersion::ZoneLightInheritModes);
|
return static_cast<PacketVersion>(EntityVersion::ZoneStageRemoved);
|
||||||
|
|
||||||
case PacketType::EntityQuery:
|
case PacketType::EntityQuery:
|
||||||
return static_cast<PacketVersion>(EntityQueryPacketVersion::RemovedJurisdictions);
|
return static_cast<PacketVersion>(EntityQueryPacketVersion::RemovedJurisdictions);
|
||||||
|
|
|
@ -202,7 +202,8 @@ enum class EntityVersion : PacketVersion {
|
||||||
HazeEffect,
|
HazeEffect,
|
||||||
StaticCertJsonVersionOne,
|
StaticCertJsonVersionOne,
|
||||||
OwnershipChallengeFix,
|
OwnershipChallengeFix,
|
||||||
ZoneLightInheritModes
|
ZoneLightInheritModes,
|
||||||
|
ZoneStageRemoved
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class EntityScriptCallMethodVersion : PacketVersion {
|
enum class EntityScriptCallMethodVersion : PacketVersion {
|
||||||
|
|
|
@ -490,10 +490,6 @@
|
||||||
Zone<span>M</span>
|
Zone<span>M</span>
|
||||||
</legend>
|
</legend>
|
||||||
<fieldset class="minor">
|
<fieldset class="minor">
|
||||||
<div class="zone-group zone-section property checkbox">
|
|
||||||
<input type="checkbox" id="property-zone-stage-sun-model-enabled">
|
|
||||||
<label for="property-zone-stage-sun-model-enabled">Enable stage sun model</label>
|
|
||||||
</div>
|
|
||||||
<div class="zone-group zone-section property checkbox">
|
<div class="zone-group zone-section property checkbox">
|
||||||
<input type="checkbox" id="property-zone-flying-allowed">
|
<input type="checkbox" id="property-zone-flying-allowed">
|
||||||
<label for="property-zone-flying-allowed">Flying allowed</label>
|
<label for="property-zone-flying-allowed">Flying allowed</label>
|
||||||
|
@ -681,29 +677,6 @@
|
||||||
</div>
|
</div>
|
||||||
</fieldset-->
|
</fieldset-->
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset class="minor">
|
|
||||||
<legend class="sub-section-header zone-group zone-section stage-section">
|
|
||||||
Stage
|
|
||||||
</legend>
|
|
||||||
<fieldset class="zone-group zone-section stage-section property gen fstuple">
|
|
||||||
<div class="tuple">
|
|
||||||
<div><label>Latitude <span class="unit">deg</span></label><input type="number" id="property-zone-stage-latitude" min="-90" max="90" step="1"></div>
|
|
||||||
<div><label>Longitude <span class="unit">deg</span></label><input type="number" id="property-zone-stage-longitude" min="-180" max="180" step="1"></div>
|
|
||||||
<div><label>Altitude <span class="unit">m</span></label><input type="number" id="property-zone-stage-altitude" step="1"></div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
<div class="zone-group zone-section stage-section property checkbox">
|
|
||||||
<input type="checkbox" id="property-zone-stage-automatic-hour-day">
|
|
||||||
<label for="property-zone-stage-automatic-hour-day">Match stage hour and day to location</label>
|
|
||||||
</div>
|
|
||||||
<fieldset class="zone-group zone-section stage-section property gen fstuple">
|
|
||||||
<div class="tuple">
|
|
||||||
<div><label>Day of year</label><input type="number" id="property-zone-stage-day" min="0" max="365" step="1"></div>
|
|
||||||
<div><label>Hour</label><input type="number" id="property-zone-stage-hour" min="0" max="24" step="0.5"></div>
|
|
||||||
<div></div>
|
|
||||||
</div>
|
|
||||||
</fieldset>
|
|
||||||
</fieldset>
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset id="text" class="major">
|
<fieldset id="text" class="major">
|
||||||
<legend class="section-header text-group text-section">
|
<legend class="section-header text-group text-section">
|
||||||
|
|
|
@ -639,8 +639,6 @@ function loaded() {
|
||||||
var elTextBackgroundColorGreen = document.getElementById("property-text-background-color-green");
|
var elTextBackgroundColorGreen = document.getElementById("property-text-background-color-green");
|
||||||
var elTextBackgroundColorBlue = document.getElementById("property-text-background-color-blue");
|
var elTextBackgroundColorBlue = document.getElementById("property-text-background-color-blue");
|
||||||
|
|
||||||
var elZoneStageSunModelEnabled = document.getElementById("property-zone-stage-sun-model-enabled");
|
|
||||||
|
|
||||||
// Key light
|
// Key light
|
||||||
var elZoneKeyLightModeInherit = document.getElementById("property-zone-key-light-mode-inherit");
|
var elZoneKeyLightModeInherit = document.getElementById("property-zone-key-light-mode-inherit");
|
||||||
var elZoneKeyLightModeDisabled = document.getElementById("property-zone-key-light-mode-disabled");
|
var elZoneKeyLightModeDisabled = document.getElementById("property-zone-key-light-mode-disabled");
|
||||||
|
@ -692,13 +690,6 @@ function loaded() {
|
||||||
|
|
||||||
var elZoneHazeBackgroundBlend = document.getElementById("property-zone-haze-background-blend");
|
var elZoneHazeBackgroundBlend = document.getElementById("property-zone-haze-background-blend");
|
||||||
|
|
||||||
var elZoneStageLatitude = document.getElementById("property-zone-stage-latitude");
|
|
||||||
var elZoneStageLongitude = document.getElementById("property-zone-stage-longitude");
|
|
||||||
var elZoneStageAltitude = document.getElementById("property-zone-stage-altitude");
|
|
||||||
var elZoneStageAutomaticHourDay = document.getElementById("property-zone-stage-automatic-hour-day");
|
|
||||||
var elZoneStageDay = document.getElementById("property-zone-stage-day");
|
|
||||||
var elZoneStageHour = document.getElementById("property-zone-stage-hour");
|
|
||||||
|
|
||||||
var elZoneSkyboxColor = document.getElementById("property-zone-skybox-color");
|
var elZoneSkyboxColor = document.getElementById("property-zone-skybox-color");
|
||||||
var elZoneSkyboxColorRed = document.getElementById("property-zone-skybox-color-red");
|
var elZoneSkyboxColorRed = document.getElementById("property-zone-skybox-color-red");
|
||||||
var elZoneSkyboxColorGreen = document.getElementById("property-zone-skybox-color-green");
|
var elZoneSkyboxColorGreen = document.getElementById("property-zone-skybox-color-green");
|
||||||
|
@ -1026,7 +1017,6 @@ function loaded() {
|
||||||
elZoneKeyLightModeDisabled.checked = (properties.keyLightMode === 'disabled');
|
elZoneKeyLightModeDisabled.checked = (properties.keyLightMode === 'disabled');
|
||||||
elZoneKeyLightModeEnabled.checked = (properties.keyLightMode === 'enabled');
|
elZoneKeyLightModeEnabled.checked = (properties.keyLightMode === 'enabled');
|
||||||
|
|
||||||
elZoneStageSunModelEnabled.checked = properties.stage.sunModelEnabled;
|
|
||||||
elZoneKeyLightColor.style.backgroundColor = "rgb(" + properties.keyLight.color.red + "," +
|
elZoneKeyLightColor.style.backgroundColor = "rgb(" + properties.keyLight.color.red + "," +
|
||||||
properties.keyLight.color.green + "," + properties.keyLight.color.blue + ")";
|
properties.keyLight.color.green + "," + properties.keyLight.color.blue + ")";
|
||||||
elZoneKeyLightColorRed.value = properties.keyLight.color.red;
|
elZoneKeyLightColorRed.value = properties.keyLight.color.red;
|
||||||
|
@ -1082,13 +1072,6 @@ function loaded() {
|
||||||
elZoneHazeCeiling.value = properties.haze.hazeCeiling.toFixed(0);
|
elZoneHazeCeiling.value = properties.haze.hazeCeiling.toFixed(0);
|
||||||
|
|
||||||
elZoneHazeBackgroundBlend.value = properties.haze.hazeBackgroundBlend.toFixed(2);
|
elZoneHazeBackgroundBlend.value = properties.haze.hazeBackgroundBlend.toFixed(2);
|
||||||
|
|
||||||
elZoneStageLatitude.value = properties.stage.latitude.toFixed(2);
|
|
||||||
elZoneStageLongitude.value = properties.stage.longitude.toFixed(2);
|
|
||||||
elZoneStageAltitude.value = properties.stage.altitude.toFixed(2);
|
|
||||||
elZoneStageAutomaticHourDay.checked = properties.stage.automaticHourDay;
|
|
||||||
elZoneStageDay.value = properties.stage.day;
|
|
||||||
elZoneStageHour.value = properties.stage.hour;
|
|
||||||
elShapeType.value = properties.shapeType;
|
elShapeType.value = properties.shapeType;
|
||||||
elCompoundShapeURL.value = properties.compoundShapeURL;
|
elCompoundShapeURL.value = properties.compoundShapeURL;
|
||||||
|
|
||||||
|
@ -1449,8 +1432,6 @@ function loaded() {
|
||||||
elZoneKeyLightModeDisabled.addEventListener('change', keyLightModeChanged);
|
elZoneKeyLightModeDisabled.addEventListener('change', keyLightModeChanged);
|
||||||
elZoneKeyLightModeEnabled.addEventListener('change', keyLightModeChanged);
|
elZoneKeyLightModeEnabled.addEventListener('change', keyLightModeChanged);
|
||||||
|
|
||||||
elZoneStageSunModelEnabled.addEventListener('change',
|
|
||||||
createEmitGroupCheckedPropertyUpdateFunction('stage', 'sunModelEnabled'));
|
|
||||||
colorPickers.push($('#property-zone-key-light-color').colpick({
|
colorPickers.push($('#property-zone-key-light-color').colpick({
|
||||||
colorScheme: 'dark',
|
colorScheme: 'dark',
|
||||||
layout: 'hex',
|
layout: 'hex',
|
||||||
|
@ -1582,14 +1563,6 @@ function loaded() {
|
||||||
elZoneHazeBackgroundBlend.addEventListener('change',
|
elZoneHazeBackgroundBlend.addEventListener('change',
|
||||||
createEmitGroupNumberPropertyUpdateFunction('haze', 'hazeBackgroundBlend'));
|
createEmitGroupNumberPropertyUpdateFunction('haze', 'hazeBackgroundBlend'));
|
||||||
|
|
||||||
elZoneStageLatitude.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('stage', 'latitude'));
|
|
||||||
elZoneStageLongitude.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('stage', 'longitude'));
|
|
||||||
elZoneStageAltitude.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('stage', 'altitude'));
|
|
||||||
elZoneStageAutomaticHourDay.addEventListener('change',
|
|
||||||
createEmitGroupCheckedPropertyUpdateFunction('stage', 'automaticHourDay'));
|
|
||||||
elZoneStageDay.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('stage', 'day'));
|
|
||||||
elZoneStageHour.addEventListener('change', createEmitGroupNumberPropertyUpdateFunction('stage', 'hour'));
|
|
||||||
|
|
||||||
var zoneSkyboxColorChangeFunction = createEmitGroupColorPropertyUpdateFunction('skybox', 'color',
|
var zoneSkyboxColorChangeFunction = createEmitGroupColorPropertyUpdateFunction('skybox', 'color',
|
||||||
elZoneSkyboxColorRed, elZoneSkyboxColorGreen, elZoneSkyboxColorBlue);
|
elZoneSkyboxColorRed, elZoneSkyboxColorGreen, elZoneSkyboxColorBlue);
|
||||||
elZoneSkyboxColorRed.addEventListener('change', zoneSkyboxColorChangeFunction);
|
elZoneSkyboxColorRed.addEventListener('change', zoneSkyboxColorChangeFunction);
|
||||||
|
|
Loading…
Reference in a new issue