From 47038e43495967e5a69c73588bff15ea69e772f7 Mon Sep 17 00:00:00 2001 From: Cain Kilgore Date: Sun, 7 Jan 2018 08:31:36 +0000 Subject: [PATCH 01/10] WL 21664 - Window.innerHeight should not include the menu bar --- .../src/scripting/WindowScriptingInterface.cpp | 16 ++++++++++------ .../src/scripting/WindowScriptingInterface.h | 3 +++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index 4b355653b6..7fe7022e47 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -176,10 +176,6 @@ bool WindowScriptingInterface::isPointOnDesktopWindow(QVariant point) { return offscreenUi->isPointOnDesktopWindow(point); } -glm::vec2 WindowScriptingInterface::getDeviceSize() const { - return qApp->getDeviceSize(); -} - /// Makes sure that the reticle is visible, use this in blocking forms that require a reticle and /// might be in same thread as a script that sets the reticle to invisible void WindowScriptingInterface::ensureReticleVisible() const { @@ -391,11 +387,19 @@ QString WindowScriptingInterface::checkVersion() { } int WindowScriptingInterface::getInnerWidth() { - return qApp->getWindow()->geometry().width(); + return qApp->getDeviceSize().x; } int WindowScriptingInterface::getInnerHeight() { - return qApp->getWindow()->geometry().height(); + return qApp->getDeviceSize().y; +} + +int WindowScriptingInterface::getMenuHeight() { + return qApp->getPrimaryMenu()->geometry().height(); +} + +glm::vec2 WindowScriptingInterface::getDeviceSize() const { + return qApp->getDeviceSize(); } int WindowScriptingInterface::getX() { diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index d223f95af4..57ada00ed8 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -39,11 +39,14 @@ class WindowScriptingInterface : public QObject, public Dependency { Q_PROPERTY(int innerHeight READ getInnerHeight) Q_PROPERTY(int x READ getX) Q_PROPERTY(int y READ getY) + Q_PROPERTY(int menuHeight READ getMenuHeight) + public: WindowScriptingInterface(); ~WindowScriptingInterface(); int getInnerWidth(); int getInnerHeight(); + int getMenuHeight(); int getX(); int getY(); From 46b494c80231ad6900a64261be4c242a02887240 Mon Sep 17 00:00:00 2001 From: Nissim Hadar Date: Mon, 8 Jan 2018 14:34:46 -0800 Subject: [PATCH 02/10] Removed the Stage functionality - it is now implemented as a script. --- .../src/RenderableZoneEntityItem.cpp | 1 - .../src/RenderableZoneEntityItem.h | 1 - .../entities/src/EntityItemProperties.cpp | 19 -- libraries/entities/src/EntityItemProperties.h | 2 - libraries/entities/src/EntityPropertyFlags.h | 7 - libraries/entities/src/StagePropertyGroup.cpp | 283 ------------------ libraries/entities/src/StagePropertyGroup.h | 96 ------ libraries/entities/src/ZoneEntityItem.cpp | 17 -- libraries/entities/src/ZoneEntityItem.h | 4 - scripts/system/html/entityProperties.html | 27 -- scripts/system/html/js/entityProperties.js | 27 -- 11 files changed, 484 deletions(-) delete mode 100644 libraries/entities/src/StagePropertyGroup.cpp delete mode 100644 libraries/entities/src/StagePropertyGroup.h diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp index ae00f168c6..1c4a0e1fce 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp @@ -218,7 +218,6 @@ void ZoneEntityRenderer::doRenderUpdateSynchronousTyped(const ScenePointer& scen _ambientLightProperties = entity->getAmbientLightProperties(); _skyboxProperties = entity->getSkyboxProperties(); _hazeProperties = entity->getHazeProperties(); - _stageProperties = entity->getStageProperties(); #if 0 if (_lastShapeURL != _typedEntity->getCompoundShapeURL()) { diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.h b/libraries/entities-renderer/src/RenderableZoneEntityItem.h index 744f1823fc..982e12dd57 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.h +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.h @@ -112,7 +112,6 @@ private: KeyLightPropertyGroup _keyLightProperties; AmbientLightPropertyGroup _ambientLightProperties; HazePropertyGroup _hazeProperties; - StagePropertyGroup _stageProperties; SkyboxPropertyGroup _skyboxProperties; // More attributes used for rendering: diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index f3ceeb208d..8bfce7e2d2 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -33,7 +33,6 @@ AnimationPropertyGroup EntityItemProperties::_staticAnimation; SkyboxPropertyGroup EntityItemProperties::_staticSkybox; HazePropertyGroup EntityItemProperties::_staticHaze; -StagePropertyGroup EntityItemProperties::_staticStage; KeyLightPropertyGroup EntityItemProperties::_staticKeyLight; AmbientLightPropertyGroup EntityItemProperties::_staticAmbientLight; @@ -401,7 +400,6 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const { changedProperties += _keyLight.getChangedProperties(); changedProperties += _ambientLight.getChangedProperties(); changedProperties += _skybox.getChangedProperties(); - changedProperties += _stage.getChangedProperties(); changedProperties += _haze.getChangedProperties(); return changedProperties; @@ -576,7 +574,6 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool _keyLight.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); COPY_PROPERTY_TO_QSCRIPTVALUE(PROP_FLYING_ALLOWED, flyingAllowed); @@ -810,7 +807,6 @@ void EntityItemProperties::copyFromScriptValue(const QScriptValue& object, bool _keyLight.copyFromScriptValue(object, _defaultSettings); _ambientLight.copyFromScriptValue(object, _defaultSettings); _skybox.copyFromScriptValue(object, _defaultSettings); - _stage.copyFromScriptValue(object, _defaultSettings); _haze.copyFromScriptValue(object, _defaultSettings); COPY_PROPERTY_FROM_QSCRIPTVALUE(xTextureURL, QString, setXTextureURL); @@ -961,7 +957,6 @@ void EntityItemProperties::merge(const EntityItemProperties& other) { _keyLight.merge(other._keyLight); _ambientLight.merge(other._ambientLight); _skybox.merge(other._skybox); - _stage.merge(other._stage); _haze.merge(other._haze); 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_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_GHOSTING_ALLOWED, GhostingAllowed, ghostingAllowed, bool); ADD_PROPERTY_TO_MAP(PROP_FILTER_URL, FilterURL, filterURL, QString); @@ -1447,9 +1434,6 @@ OctreeElement::AppendState EntityItemProperties::encodeEntityEditPacket(PacketTy _staticAmbientLight.setProperties(properties); _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_COMPOUND_SHAPE_URL, properties.getCompoundShapeURL()); @@ -1805,7 +1789,6 @@ bool EntityItemProperties::decodeEntityEditPacket(const unsigned char* data, int if (properties.getType() == EntityTypes::Zone) { properties.getKeyLight().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_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL); @@ -2056,7 +2039,6 @@ void EntityItemProperties::markAllChanged() { _animation.markAllChanged(); _skybox.markAllChanged(); - _stage.markAllChanged(); _haze.markAllChanged(); _sourceUrlChanged = true; @@ -2513,7 +2495,6 @@ QList EntityItemProperties::listChangedProperties() { getKeyLight().listChangedProperties(out); getAmbientLight().listChangedProperties(out); getSkybox().listChangedProperties(out); - getStage().listChangedProperties(out); getHaze().listChangedProperties(out); return out; diff --git a/libraries/entities/src/EntityItemProperties.h b/libraries/entities/src/EntityItemProperties.h index 587a72fb04..d0dabbf5b6 100644 --- a/libraries/entities/src/EntityItemProperties.h +++ b/libraries/entities/src/EntityItemProperties.h @@ -41,7 +41,6 @@ #include "SimulationOwner.h" #include "SkyboxPropertyGroup.h" #include "HazePropertyGroup.h" -#include "StagePropertyGroup.h" #include "TextEntityItem.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_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_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_SKYBOX_MODE, SkyboxMode, skyboxMode, uint32_t, (uint32_t)COMPONENT_MODE_ENABLED); diff --git a/libraries/entities/src/EntityPropertyFlags.h b/libraries/entities/src/EntityPropertyFlags.h index f216bf46d0..7fd72bf0ee 100644 --- a/libraries/entities/src/EntityPropertyFlags.h +++ b/libraries/entities/src/EntityPropertyFlags.h @@ -248,13 +248,6 @@ enum EntityPropertyList { PROP_KEYLIGHT_COLOR = PROP_COLOR, PROP_KEYLIGHT_INTENSITY = PROP_INTENSITY, 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_URL = PROP_ANIMATION_FPS, diff --git a/libraries/entities/src/StagePropertyGroup.cpp b/libraries/entities/src/StagePropertyGroup.cpp deleted file mode 100644 index cd486c96ac..0000000000 --- a/libraries/entities/src/StagePropertyGroup.cpp +++ /dev/null @@ -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 -#include -#include - -#include - -#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& 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; -} - diff --git a/libraries/entities/src/StagePropertyGroup.h b/libraries/entities/src/StagePropertyGroup.h deleted file mode 100644 index 3e5bad5443..0000000000 --- a/libraries/entities/src/StagePropertyGroup.h +++ /dev/null @@ -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 - -#include "PropertyGroup.h" -#include "EntityItemPropertiesMacros.h" - -class EntityItemProperties; -class EncodeBitstreamParams; -class OctreePacketData; -class EntityTreeElementExtraEncodeData; -class ReadBitstreamToTreeParams; - -#include -#include - - -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& 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 diff --git a/libraries/entities/src/ZoneEntityItem.cpp b/libraries/entities/src/ZoneEntityItem.cpp index 27b2122511..7c2aa08cd1 100644 --- a/libraries/entities/src/ZoneEntityItem.cpp +++ b/libraries/entities/src/ZoneEntityItem.cpp @@ -56,8 +56,6 @@ EntityItemProperties ZoneEntityItem::getProperties(EntityPropertyFlags desiredPr _ambientLightProperties.getProperties(properties); }); - _stageProperties.getProperties(properties); - COPY_ENTITY_PROPERTY_TO_PROPERTIES(shapeType, getShapeType); COPY_ENTITY_PROPERTY_TO_PROPERTIES(compoundShapeURL, getCompoundShapeURL); @@ -109,8 +107,6 @@ bool ZoneEntityItem::setSubClassProperties(const EntityItemProperties& propertie _ambientLightPropertiesChanged = _ambientLightProperties.setProperties(properties); }); - _stagePropertiesChanged = _stageProperties.setProperties(properties); - SET_ENTITY_PROPERTY_FROM_PROPERTIES(shapeType, setShapeType); SET_ENTITY_PROPERTY_FROM_PROPERTIES(compoundShapeURL, setCompoundShapeURL); @@ -163,12 +159,6 @@ int ZoneEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data, bytesRead += 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_COMPOUND_SHAPE_URL, QString, setCompoundShapeURL); @@ -214,8 +204,6 @@ EntityPropertyFlags ZoneEntityItem::getEntityProperties(EncodeBitstreamParams& p requestedProperties += _ambientLightProperties.getEntityProperties(params); }); - requestedProperties += _stageProperties.getEntityProperties(params); - requestedProperties += PROP_SHAPE_TYPE; requestedProperties += PROP_COMPOUND_SHAPE_URL; @@ -253,10 +241,6 @@ void ZoneEntityItem::appendSubclassData(OctreePacketData* packetData, EncodeBits _ambientLightProperties.appendSubclassData(packetData, params, modelTreeElementExtraEncodeData, requestedProperties, 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_COMPOUND_SHAPE_URL, getCompoundShapeURL()); @@ -291,7 +275,6 @@ void ZoneEntityItem::debugDump() const { _ambientLightProperties.debugDump(); _skyboxProperties.debugDump(); _hazeProperties.debugDump(); - _stageProperties.debugDump(); } ShapeType ZoneEntityItem::getShapeType() const { diff --git a/libraries/entities/src/ZoneEntityItem.h b/libraries/entities/src/ZoneEntityItem.h index fc79db4311..05dcc05416 100644 --- a/libraries/entities/src/ZoneEntityItem.h +++ b/libraries/entities/src/ZoneEntityItem.h @@ -18,7 +18,6 @@ #include "EntityTree.h" #include "SkyboxPropertyGroup.h" #include "HazePropertyGroup.h" -#include "StagePropertyGroup.h" #include class ZoneEntityItem : public EntityItem { @@ -85,8 +84,6 @@ public: const HazePropertyGroup& getHazeProperties() const { return _hazeProperties; } - const StagePropertyGroup& getStageProperties() const { return _stageProperties; } - bool getFlyingAllowed() const { return _flyingAllowed; } void setFlyingAllowed(bool value) { _flyingAllowed = value; } bool getGhostingAllowed() const { return _ghostingAllowed; } @@ -136,7 +133,6 @@ protected: SkyboxPropertyGroup _skyboxProperties; HazePropertyGroup _hazeProperties; - StagePropertyGroup _stageProperties; bool _flyingAllowed { DEFAULT_FLYING_ALLOWED }; bool _ghostingAllowed { DEFAULT_GHOSTING_ALLOWED }; diff --git a/scripts/system/html/entityProperties.html b/scripts/system/html/entityProperties.html index 38d6a99f0c..b93974ee77 100644 --- a/scripts/system/html/entityProperties.html +++ b/scripts/system/html/entityProperties.html @@ -490,10 +490,6 @@ ZoneM
-
- - -
@@ -681,29 +677,6 @@
-
- - Stage - -
-
-
-
-
-
-
-
- - -
-
-
-
-
-
-
-
-
diff --git a/scripts/system/html/js/entityProperties.js b/scripts/system/html/js/entityProperties.js index 2e0af2d23d..72092b66ca 100644 --- a/scripts/system/html/js/entityProperties.js +++ b/scripts/system/html/js/entityProperties.js @@ -639,8 +639,6 @@ function loaded() { var elTextBackgroundColorGreen = document.getElementById("property-text-background-color-green"); var elTextBackgroundColorBlue = document.getElementById("property-text-background-color-blue"); - var elZoneStageSunModelEnabled = document.getElementById("property-zone-stage-sun-model-enabled"); - // Key light var elZoneKeyLightModeInherit = document.getElementById("property-zone-key-light-mode-inherit"); 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 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 elZoneSkyboxColorRed = document.getElementById("property-zone-skybox-color-red"); var elZoneSkyboxColorGreen = document.getElementById("property-zone-skybox-color-green"); @@ -1026,7 +1017,6 @@ function loaded() { elZoneKeyLightModeDisabled.checked = (properties.keyLightMode === 'disabled'); elZoneKeyLightModeEnabled.checked = (properties.keyLightMode === 'enabled'); - elZoneStageSunModelEnabled.checked = properties.stage.sunModelEnabled; elZoneKeyLightColor.style.backgroundColor = "rgb(" + properties.keyLight.color.red + "," + properties.keyLight.color.green + "," + properties.keyLight.color.blue + ")"; elZoneKeyLightColorRed.value = properties.keyLight.color.red; @@ -1082,13 +1072,6 @@ function loaded() { elZoneHazeCeiling.value = properties.haze.hazeCeiling.toFixed(0); 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; elCompoundShapeURL.value = properties.compoundShapeURL; @@ -1449,8 +1432,6 @@ function loaded() { elZoneKeyLightModeDisabled.addEventListener('change', keyLightModeChanged); elZoneKeyLightModeEnabled.addEventListener('change', keyLightModeChanged); - elZoneStageSunModelEnabled.addEventListener('change', - createEmitGroupCheckedPropertyUpdateFunction('stage', 'sunModelEnabled')); colorPickers.push($('#property-zone-key-light-color').colpick({ colorScheme: 'dark', layout: 'hex', @@ -1582,14 +1563,6 @@ function loaded() { elZoneHazeBackgroundBlend.addEventListener('change', 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', elZoneSkyboxColorRed, elZoneSkyboxColorGreen, elZoneSkyboxColorBlue); elZoneSkyboxColorRed.addEventListener('change', zoneSkyboxColorChangeFunction); From 0e3913baffd9193cd6db957701a38331cc587fd5 Mon Sep 17 00:00:00 2001 From: Cain Kilgore Date: Tue, 9 Jan 2018 09:07:26 +0000 Subject: [PATCH 03/10] Removed Window.menuHeight --- interface/src/scripting/WindowScriptingInterface.cpp | 4 ---- interface/src/scripting/WindowScriptingInterface.h | 2 -- 2 files changed, 6 deletions(-) diff --git a/interface/src/scripting/WindowScriptingInterface.cpp b/interface/src/scripting/WindowScriptingInterface.cpp index 7fe7022e47..5677e6b32e 100644 --- a/interface/src/scripting/WindowScriptingInterface.cpp +++ b/interface/src/scripting/WindowScriptingInterface.cpp @@ -394,10 +394,6 @@ int WindowScriptingInterface::getInnerHeight() { return qApp->getDeviceSize().y; } -int WindowScriptingInterface::getMenuHeight() { - return qApp->getPrimaryMenu()->geometry().height(); -} - glm::vec2 WindowScriptingInterface::getDeviceSize() const { return qApp->getDeviceSize(); } diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index 57ada00ed8..3b8412900f 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -39,14 +39,12 @@ class WindowScriptingInterface : public QObject, public Dependency { Q_PROPERTY(int innerHeight READ getInnerHeight) Q_PROPERTY(int x READ getX) Q_PROPERTY(int y READ getY) - Q_PROPERTY(int menuHeight READ getMenuHeight) public: WindowScriptingInterface(); ~WindowScriptingInterface(); int getInnerWidth(); int getInnerHeight(); - int getMenuHeight(); int getX(); int getY(); From f78ee7c167bb6783a9886230ff6cd793e7de19c1 Mon Sep 17 00:00:00 2001 From: Cain Kilgore Date: Tue, 9 Jan 2018 09:44:12 +0000 Subject: [PATCH 04/10] WL 21667 - Window.browseDir() dialog doesn't let user use Esc to cancel --- .../resources/qml/dialogs/FileDialog.qml | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index b9633104d5..c49fa145cd 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -70,7 +70,16 @@ ModalWindow { signal selectedFile(var file); signal canceled(); - + signal selected(int button); + + function click(button) { + clickedButton = button; + selected(button); + destroy(); + } + + property int clickedButton: OriginalDialogs.StandardButton.NoButton; + Component.onCompleted: { console.log("Helper " + helper + " drives " + drives); @@ -628,7 +637,10 @@ ModalWindow { case Qt.Key_Backtab: event.accepted = false; break; - + case Qt.Key_Escape: + event.accepted = true; + root.click(OriginalDialogs.StandardButton.Cancel); + break; default: if (addToPrefix(event)) { event.accepted = true @@ -793,7 +805,11 @@ ModalWindow { case Qt.Key_Home: event.accepted = d.navigateHome(); break; - - } + + case Qt.Key_Escape: + event.accepted = true; + root.click(OriginalDialogs.StandardButton.Cancel); + break; + } } } From 057c7086374776bc75e6904e913d490ebbb62384 Mon Sep 17 00:00:00 2001 From: Cain Kilgore Date: Wed, 10 Jan 2018 19:24:52 +0000 Subject: [PATCH 05/10] Spaces instead of Tabs (Damnit VS Re-install!) --- .../resources/qml/dialogs/FileDialog.qml | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index c49fa145cd..d2115b5e7e 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -71,14 +71,13 @@ ModalWindow { signal selectedFile(var file); signal canceled(); signal selected(int button); - - function click(button) { - clickedButton = button; - selected(button); - destroy(); + function click(button) { + clickedButton = button; + selected(button); + destroy(); } - property int clickedButton: OriginalDialogs.StandardButton.NoButton; + property int clickedButton: OriginalDialogs.StandardButton.NoButton; Component.onCompleted: { console.log("Helper " + helper + " drives " + drives); @@ -637,10 +636,10 @@ ModalWindow { case Qt.Key_Backtab: event.accepted = false; break; - case Qt.Key_Escape: - event.accepted = true; - root.click(OriginalDialogs.StandardButton.Cancel); - break; + case Qt.Key_Escape: + event.accepted = true; + root.click(OriginalDialogs.StandardButton.Cancel); + break; default: if (addToPrefix(event)) { event.accepted = true @@ -806,10 +805,10 @@ ModalWindow { event.accepted = d.navigateHome(); break; - case Qt.Key_Escape: - event.accepted = true; - root.click(OriginalDialogs.StandardButton.Cancel); - break; + case Qt.Key_Escape: + event.accepted = true; + root.click(OriginalDialogs.StandardButton.Cancel); + break; } } } From c99a936720b4dbd0d2a453aa22d02f579e4b8c07 Mon Sep 17 00:00:00 2001 From: Nissim Hadar Date: Wed, 10 Jan 2018 11:45:37 -0800 Subject: [PATCH 06/10] Bumped up protocol version. --- libraries/networking/src/udt/PacketHeaders.cpp | 2 +- libraries/networking/src/udt/PacketHeaders.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/networking/src/udt/PacketHeaders.cpp b/libraries/networking/src/udt/PacketHeaders.cpp index d71a4da99d..573f814018 100644 --- a/libraries/networking/src/udt/PacketHeaders.cpp +++ b/libraries/networking/src/udt/PacketHeaders.cpp @@ -30,7 +30,7 @@ PacketVersion versionForPacketType(PacketType packetType) { case PacketType::EntityEdit: case PacketType::EntityData: case PacketType::EntityPhysics: - return static_cast(EntityVersion::ZoneLightInheritModes); + return static_cast(EntityVersion::StageRemoved); case PacketType::EntityQuery: return static_cast(EntityQueryPacketVersion::RemovedJurisdictions); diff --git a/libraries/networking/src/udt/PacketHeaders.h b/libraries/networking/src/udt/PacketHeaders.h index 63fde0a2e9..ad30eadb9c 100644 --- a/libraries/networking/src/udt/PacketHeaders.h +++ b/libraries/networking/src/udt/PacketHeaders.h @@ -202,7 +202,8 @@ enum class EntityVersion : PacketVersion { HazeEffect, StaticCertJsonVersionOne, OwnershipChallengeFix, - ZoneLightInheritModes + ZoneLightInheritModes, + StageRemoved }; enum class EntityScriptCallMethodVersion : PacketVersion { From ae997928c138416744129769f9af07a40442696e Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Wed, 10 Jan 2018 11:51:44 -0800 Subject: [PATCH 07/10] Bug fix to prevent wrists entering the avatar's torso. This was inadvertently disabled in PR #11978. --- interface/src/avatar/MySkeletonModel.cpp | 16 ++++++------ libraries/animation/src/Rig.cpp | 31 ++++++++++++------------ libraries/animation/src/Rig.h | 12 ++++++--- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/interface/src/avatar/MySkeletonModel.cpp b/interface/src/avatar/MySkeletonModel.cpp index 8d07a878b9..a8bdafb607 100644 --- a/interface/src/avatar/MySkeletonModel.cpp +++ b/interface/src/avatar/MySkeletonModel.cpp @@ -106,7 +106,7 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { if (avatarHeadPose.isValid()) { AnimPose pose(avatarHeadPose.getRotation(), avatarHeadPose.getTranslation()); params.primaryControllerPoses[Rig::PrimaryControllerType_Head] = avatarToRigPose * pose; - params.primaryControllerActiveFlags[Rig::PrimaryControllerType_Head] = true; + params.primaryControllerFlags[Rig::PrimaryControllerType_Head] = (uint8_t)Rig::ControllerFlags::Enabled; } else { // even though full head IK is disabled, the rig still needs the head orientation to rotate the head up and // down in desktop mode. @@ -114,7 +114,7 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { // postMult 180 is necessary to convert head from -z forward to z forward. glm::quat headRot = Quaternions::Y_180 * head->getFinalOrientationInLocalFrame() * Quaternions::Y_180; params.primaryControllerPoses[Rig::PrimaryControllerType_Head] = AnimPose(glm::vec3(1.0f), headRot, glm::vec3(0.0f)); - params.primaryControllerActiveFlags[Rig::PrimaryControllerType_Head] = false; + params.primaryControllerFlags[Rig::PrimaryControllerType_Head] = 0; } // @@ -135,10 +135,10 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { if (controllerPose.isValid()) { AnimPose pose(controllerPose.getRotation(), controllerPose.getTranslation()); params.primaryControllerPoses[pair.second] = avatarToRigPose * pose; - params.primaryControllerActiveFlags[pair.second] = true; + params.primaryControllerFlags[pair.second] = (uint8_t)Rig::ControllerFlags::Enabled; } else { params.primaryControllerPoses[pair.second] = AnimPose::identity; - params.primaryControllerActiveFlags[pair.second] = false; + params.primaryControllerFlags[pair.second] = 0; } } @@ -166,15 +166,15 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { if (controllerPose.isValid()) { AnimPose pose(controllerPose.getRotation(), controllerPose.getTranslation()); params.secondaryControllerPoses[pair.second] = avatarToRigPose * pose; - params.secondaryControllerActiveFlags[pair.second] = true; + params.secondaryControllerFlags[pair.second] = (uint8_t)Rig::ControllerFlags::Enabled; } else { params.secondaryControllerPoses[pair.second] = AnimPose::identity; - params.secondaryControllerActiveFlags[pair.second] = false; + params.secondaryControllerFlags[pair.second] = 0; } } // if hips are not under direct control, estimate the hips position. - if (avatarHeadPose.isValid() && !params.primaryControllerActiveFlags[Rig::PrimaryControllerType_Hips]) { + if (avatarHeadPose.isValid() && !(params.primaryControllerFlags[Rig::PrimaryControllerType_Hips] & (uint8_t)Rig::ControllerFlags::Enabled)) { bool isFlying = (myAvatar->getCharacterController()->getState() == CharacterController::State::Hover || myAvatar->getCharacterController()->computeCollisionGroup() == BULLET_COLLISION_GROUP_COLLISIONLESS); if (!_prevHipsValid) { @@ -200,7 +200,7 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { AnimPose sensorToRigPose(invRigMat * myAvatar->getSensorToWorldMatrix()); params.primaryControllerPoses[Rig::PrimaryControllerType_Hips] = sensorToRigPose * hips; - params.primaryControllerActiveFlags[Rig::PrimaryControllerType_Hips] = true; + params.primaryControllerFlags[Rig::PrimaryControllerType_Hips] = (uint8_t)Rig::ControllerFlags::Enabled | (uint8_t)Rig::ControllerFlags::Estimated; } else { _prevHipsValid = false; diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index 44745c5c2d..27ba7a38a4 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -1265,7 +1265,8 @@ glm::vec3 Rig::deflectHandFromTorso(const glm::vec3& handPosition, const FBXJoin return position; } -void Rig::updateHands(bool leftHandEnabled, bool rightHandEnabled, bool hipsEnabled, bool leftArmEnabled, bool rightArmEnabled, float dt, +void Rig::updateHands(bool leftHandEnabled, bool rightHandEnabled, bool hipsEnabled, bool hipsEstimated, + bool leftArmEnabled, bool rightArmEnabled, float dt, const AnimPose& leftHandPose, const AnimPose& rightHandPose, const FBXJointShapeInfo& hipsShapeInfo, const FBXJointShapeInfo& spineShapeInfo, const FBXJointShapeInfo& spine1ShapeInfo, const FBXJointShapeInfo& spine2ShapeInfo) { @@ -1279,7 +1280,7 @@ void Rig::updateHands(bool leftHandEnabled, bool rightHandEnabled, bool hipsEnab glm::vec3 handPosition = leftHandPose.trans(); glm::quat handRotation = leftHandPose.rot(); - if (!hipsEnabled) { + if (!hipsEnabled || hipsEstimated) { // prevent the hand IK targets from intersecting the torso handPosition = deflectHandFromTorso(handPosition, hipsShapeInfo, spineShapeInfo, spine1ShapeInfo, spine2ShapeInfo); } @@ -1326,7 +1327,7 @@ void Rig::updateHands(bool leftHandEnabled, bool rightHandEnabled, bool hipsEnab glm::vec3 handPosition = rightHandPose.trans(); glm::quat handRotation = rightHandPose.rot(); - if (!hipsEnabled) { + if (!hipsEnabled || hipsEstimated) { // prevent the hand IK targets from intersecting the torso handPosition = deflectHandFromTorso(handPosition, hipsShapeInfo, spineShapeInfo, spine1ShapeInfo, spine2ShapeInfo); } @@ -1550,20 +1551,20 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo _animVars.set("isTalking", params.isTalking); _animVars.set("notIsTalking", !params.isTalking); - bool headEnabled = params.primaryControllerActiveFlags[PrimaryControllerType_Head]; - bool leftHandEnabled = params.primaryControllerActiveFlags[PrimaryControllerType_LeftHand]; - bool rightHandEnabled = params.primaryControllerActiveFlags[PrimaryControllerType_RightHand]; - bool hipsEnabled = params.primaryControllerActiveFlags[PrimaryControllerType_Hips]; - bool leftFootEnabled = params.primaryControllerActiveFlags[PrimaryControllerType_LeftFoot]; - bool rightFootEnabled = params.primaryControllerActiveFlags[PrimaryControllerType_RightFoot]; - bool spine2Enabled = params.primaryControllerActiveFlags[PrimaryControllerType_Spine2]; - - bool leftArmEnabled = params.secondaryControllerActiveFlags[SecondaryControllerType_LeftArm]; - bool rightArmEnabled = params.secondaryControllerActiveFlags[SecondaryControllerType_RightArm]; + bool headEnabled = params.primaryControllerFlags[PrimaryControllerType_Head] & (uint8_t)ControllerFlags::Enabled; + bool leftHandEnabled = params.primaryControllerFlags[PrimaryControllerType_LeftHand] & (uint8_t)ControllerFlags::Enabled; + bool rightHandEnabled = params.primaryControllerFlags[PrimaryControllerType_RightHand] & (uint8_t)ControllerFlags::Enabled; + bool hipsEnabled = params.primaryControllerFlags[PrimaryControllerType_Hips] & (uint8_t)ControllerFlags::Enabled; + bool hipsEstimated = params.primaryControllerFlags[PrimaryControllerType_Hips] & (uint8_t)ControllerFlags::Estimated; + bool leftFootEnabled = params.primaryControllerFlags[PrimaryControllerType_LeftFoot] & (uint8_t)ControllerFlags::Enabled; + bool rightFootEnabled = params.primaryControllerFlags[PrimaryControllerType_RightFoot] & (uint8_t)ControllerFlags::Enabled; + bool spine2Enabled = params.primaryControllerFlags[PrimaryControllerType_Spine2] & (uint8_t)ControllerFlags::Enabled; + bool leftArmEnabled = params.secondaryControllerFlags[SecondaryControllerType_LeftArm] & (uint8_t)ControllerFlags::Enabled; + bool rightArmEnabled = params.secondaryControllerFlags[SecondaryControllerType_RightArm] & (uint8_t)ControllerFlags::Enabled; updateHead(headEnabled, hipsEnabled, params.primaryControllerPoses[PrimaryControllerType_Head]); - updateHands(leftHandEnabled, rightHandEnabled, hipsEnabled, leftArmEnabled, rightArmEnabled, dt, + updateHands(leftHandEnabled, rightHandEnabled, hipsEnabled, hipsEstimated, leftArmEnabled, rightArmEnabled, dt, params.primaryControllerPoses[PrimaryControllerType_LeftHand], params.primaryControllerPoses[PrimaryControllerType_RightHand], params.hipsShapeInfo, params.spineShapeInfo, params.spine1ShapeInfo, params.spine2ShapeInfo); @@ -1623,7 +1624,7 @@ void Rig::updateFromControllerParameters(const ControllerParameters& params, flo for (int i = 0; i < (int)NumSecondaryControllerTypes; i++) { int index = indexOfJoint(secondaryControllerJointNames[i]); if (index >= 0) { - if (params.secondaryControllerActiveFlags[i]) { + if (params.secondaryControllerFlags[i] & (uint8_t)ControllerFlags::Enabled) { ikNode->setSecondaryTargetInRigFrame(index, params.secondaryControllerPoses[i]); } else { ikNode->clearSecondaryTarget(index); diff --git a/libraries/animation/src/Rig.h b/libraries/animation/src/Rig.h index 1ec4d9527f..2b276386a0 100644 --- a/libraries/animation/src/Rig.h +++ b/libraries/animation/src/Rig.h @@ -69,11 +69,16 @@ public: NumSecondaryControllerTypes }; + enum class ControllerFlags : uint8_t { + Enabled = 0x01, + Estimated = 0x02 + }; + struct ControllerParameters { AnimPose primaryControllerPoses[NumPrimaryControllerTypes]; // rig space - bool primaryControllerActiveFlags[NumPrimaryControllerTypes]; + uint8_t primaryControllerFlags[NumPrimaryControllerTypes]; AnimPose secondaryControllerPoses[NumSecondaryControllerTypes]; // rig space - bool secondaryControllerActiveFlags[NumSecondaryControllerTypes]; + uint8_t secondaryControllerFlags[NumSecondaryControllerTypes]; bool isTalking; FBXJointShapeInfo hipsShapeInfo; FBXJointShapeInfo spineShapeInfo; @@ -251,7 +256,8 @@ protected: void buildAbsoluteRigPoses(const AnimPoseVec& relativePoses, AnimPoseVec& absolutePosesOut); void updateHead(bool headEnabled, bool hipsEnabled, const AnimPose& headMatrix); - void updateHands(bool leftHandEnabled, bool rightHandEnabled, bool hipsEnabled, bool leftArmEnabled, bool rightArmEnabled, float dt, + void updateHands(bool leftHandEnabled, bool rightHandEnabled, bool hipsEnabled, bool hipsEstimated, + bool leftArmEnabled, bool rightArmEnabled, float dt, const AnimPose& leftHandPose, const AnimPose& rightHandPose, const FBXJointShapeInfo& hipsShapeInfo, const FBXJointShapeInfo& spineShapeInfo, const FBXJointShapeInfo& spine1ShapeInfo, const FBXJointShapeInfo& spine2ShapeInfo); From b26e31a36244579a41516b79d84754ea122c34fd Mon Sep 17 00:00:00 2001 From: Cain Kilgore Date: Wed, 10 Jan 2018 20:27:19 +0000 Subject: [PATCH 08/10] Copy paste? Never! --- interface/src/scripting/WindowScriptingInterface.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/scripting/WindowScriptingInterface.h b/interface/src/scripting/WindowScriptingInterface.h index 3b8412900f..33ff8d1f96 100644 --- a/interface/src/scripting/WindowScriptingInterface.h +++ b/interface/src/scripting/WindowScriptingInterface.h @@ -1,5 +1,5 @@ // -// WindowScriptingInterface.cpp +// WindowScriptingInterface.h // interface/src/scripting // // Created by Ryan Huffman on 4/29/14. From 104ac0ffae379d48f70b1e6827f341b83ae9177e Mon Sep 17 00:00:00 2001 From: Cain Kilgore Date: Wed, 10 Jan 2018 20:30:41 +0000 Subject: [PATCH 09/10] Indents, man --- interface/resources/qml/dialogs/FileDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index d2115b5e7e..7b1a177c86 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -636,7 +636,7 @@ ModalWindow { case Qt.Key_Backtab: event.accepted = false; break; - case Qt.Key_Escape: + case Qt.Key_Escape: event.accepted = true; root.click(OriginalDialogs.StandardButton.Cancel); break; From 8396997dec278aa873efc2c7938c045d876f0f95 Mon Sep 17 00:00:00 2001 From: Nissim Hadar Date: Wed, 10 Jan 2018 13:35:57 -0800 Subject: [PATCH 10/10] Renamed enum element. --- libraries/networking/src/udt/PacketHeaders.cpp | 2 +- libraries/networking/src/udt/PacketHeaders.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/networking/src/udt/PacketHeaders.cpp b/libraries/networking/src/udt/PacketHeaders.cpp index 573f814018..db670c0a88 100644 --- a/libraries/networking/src/udt/PacketHeaders.cpp +++ b/libraries/networking/src/udt/PacketHeaders.cpp @@ -30,7 +30,7 @@ PacketVersion versionForPacketType(PacketType packetType) { case PacketType::EntityEdit: case PacketType::EntityData: case PacketType::EntityPhysics: - return static_cast(EntityVersion::StageRemoved); + return static_cast(EntityVersion::ZoneStageRemoved); case PacketType::EntityQuery: return static_cast(EntityQueryPacketVersion::RemovedJurisdictions); diff --git a/libraries/networking/src/udt/PacketHeaders.h b/libraries/networking/src/udt/PacketHeaders.h index ad30eadb9c..7eafbbccf5 100644 --- a/libraries/networking/src/udt/PacketHeaders.h +++ b/libraries/networking/src/udt/PacketHeaders.h @@ -203,7 +203,7 @@ enum class EntityVersion : PacketVersion { StaticCertJsonVersionOne, OwnershipChallengeFix, ZoneLightInheritModes, - StageRemoved + ZoneStageRemoved }; enum class EntityScriptCallMethodVersion : PacketVersion {