From 1130f9998d8e6e8b92d8ec709d3ad2e1ba01c159 Mon Sep 17 00:00:00 2001 From: luiscuenca Date: Sat, 19 May 2018 10:42:55 -0700 Subject: [PATCH 1/9] Minor fix allows import GLTF from Substance Painter --- libraries/fbx/src/GLTFReader.cpp | 2 +- libraries/fbx/src/GLTFReader.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/fbx/src/GLTFReader.cpp b/libraries/fbx/src/GLTFReader.cpp index f322c2319e..1fa4b3873e 100644 --- a/libraries/fbx/src/GLTFReader.cpp +++ b/libraries/fbx/src/GLTFReader.cpp @@ -1174,7 +1174,7 @@ bool GLTFReader::addArrayOfType(const QByteArray& bin, int byteOffset, int byteL break; } case GLTFAccessorComponentType::UNSIGNED_INT: { - readArray(bin, byteOffset, byteLength, outarray, accessorType); + readArray(bin, byteOffset, byteLength, outarray, accessorType); break; } case GLTFAccessorComponentType::UNSIGNED_SHORT: { diff --git a/libraries/fbx/src/GLTFReader.h b/libraries/fbx/src/GLTFReader.h index 3554594768..28c1d8282f 100644 --- a/libraries/fbx/src/GLTFReader.h +++ b/libraries/fbx/src/GLTFReader.h @@ -190,7 +190,7 @@ namespace GLTFBufferViewTarget { struct GLTFBufferView { int buffer; //required int byteLength; //required - int byteOffset; + int byteOffset { 0 }; int target; QMap defined; void dump() { @@ -470,7 +470,7 @@ namespace GLTFAccessorComponentType { } struct GLTFAccessor { int bufferView; - int byteOffset; + int byteOffset { 0 }; int componentType; //required int count; //required int type; //required From d659696b60a3d205cb0967a42f52f9ab9dc9ac9d Mon Sep 17 00:00:00 2001 From: Alexander Ivash Date: Mon, 2 Apr 2018 00:23:25 +0300 Subject: [PATCH 2/9] FB13789 - Log in/Sign up dialog is missing "Forgot Username?" and "Forgot Password?" links --- interface/resources/qml/controls-uit/TextField.qml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/interface/resources/qml/controls-uit/TextField.qml b/interface/resources/qml/controls-uit/TextField.qml index f94541897b..6743d08275 100644 --- a/interface/resources/qml/controls-uit/TextField.qml +++ b/interface/resources/qml/controls-uit/TextField.qml @@ -163,10 +163,18 @@ TextField { text: textField.label colorScheme: textField.colorScheme anchors.left: parent.left - anchors.right: parent.right + + Binding on anchors.right { + when: parent.right + value: parent.right + } + Binding on wrapMode { + when: parent.right + value: Text.WordWrap + } + anchors.bottom: parent.top anchors.bottomMargin: 3 - wrapMode: Text.WordWrap visible: label != "" } } From 06203d44d8b52b9aad0b9e984eaee05d1a660c9a Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Tue, 22 May 2018 17:08:28 -0700 Subject: [PATCH 3/9] Correct `Camera.mode` command. --- interface/src/Application.cpp | 21 +++++++++++++++------ interface/src/Application.h | 2 ++ interface/src/avatar/MyAvatar.cpp | 5 +++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 6a102f418b..4be3a7ec2f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4632,12 +4632,6 @@ void Application::idle() { _overlayConductor.update(secondsSinceLastUpdate); - auto myAvatar = getMyAvatar(); - if (_myCamera.getMode() == CAMERA_MODE_FIRST_PERSON || _myCamera.getMode() == CAMERA_MODE_THIRD_PERSON) { - Menu::getInstance()->setIsOptionChecked(MenuOption::FirstPerson, myAvatar->getBoomLength() <= MyAvatar::ZOOM_MIN); - Menu::getInstance()->setIsOptionChecked(MenuOption::ThirdPerson, !(myAvatar->getBoomLength() <= MyAvatar::ZOOM_MIN)); - cameraMenuChanged(); - } _gameLoopCounter.increment(); } @@ -5184,6 +5178,21 @@ void Application::cameraModeChanged() { cameraMenuChanged(); } +void Application::changeViewAsNeeded(float boomLength) { + // Switch between first and third person views as needed + // This is called when the boom length has changed + bool boomLengthGreaterThanMinimum = (boomLength > MyAvatar::ZOOM_MIN); + + if (_myCamera.getMode() == CAMERA_MODE_FIRST_PERSON && boomLengthGreaterThanMinimum) { + Menu::getInstance()->setIsOptionChecked(MenuOption::FirstPerson, false); + Menu::getInstance()->setIsOptionChecked(MenuOption::ThirdPerson, true); + cameraMenuChanged(); + } else if (_myCamera.getMode() == CAMERA_MODE_THIRD_PERSON && !boomLengthGreaterThanMinimum) { + Menu::getInstance()->setIsOptionChecked(MenuOption::FirstPerson, true); + Menu::getInstance()->setIsOptionChecked(MenuOption::ThirdPerson, false); + cameraMenuChanged(); + } +} void Application::cameraMenuChanged() { auto menu = Menu::getInstance(); diff --git a/interface/src/Application.h b/interface/src/Application.h index ee97077002..9d7451c2d1 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -417,6 +417,8 @@ public slots: void updateVerboseLogging(); + void changeViewAsNeeded(float boomLength); + private slots: void onDesktopRootItemCreated(QQuickItem* qmlContext); void onDesktopRootContextCreated(QQmlContext* qmlContext); diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 5fb4e80b80..3c1cc7dbd2 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -2248,6 +2248,11 @@ void MyAvatar::updateActionMotor(float deltaTime) { float boomChange = getDriveKey(ZOOM); _boomLength += 2.0f * _boomLength * boomChange + boomChange * boomChange; _boomLength = glm::clamp(_boomLength, ZOOM_MIN, ZOOM_MAX); + + // May need to change view if boom length has changed + if (fabs(boomChange) > 0.0) { + qApp->changeViewAsNeeded(_boomLength); + } } void MyAvatar::updatePosition(float deltaTime) { From e07e716d4051930daab3da99d40ef8aa42903efa Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Wed, 23 May 2018 07:35:25 -0700 Subject: [PATCH 4/9] Fixed stupid gcc warning. --- interface/src/avatar/MyAvatar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 3c1cc7dbd2..0875966cbb 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -2250,7 +2250,7 @@ void MyAvatar::updateActionMotor(float deltaTime) { _boomLength = glm::clamp(_boomLength, ZOOM_MIN, ZOOM_MAX); // May need to change view if boom length has changed - if (fabs(boomChange) > 0.0) { + if (fabs(boomChange) > 0.0f) { qApp->changeViewAsNeeded(_boomLength); } } From 940b112f6250e42103970c343c41ac1eaf6e28dd Mon Sep 17 00:00:00 2001 From: SamGondelman Date: Wed, 23 May 2018 11:58:50 -0700 Subject: [PATCH 5/9] fix image and text overlay drifting --- .../src/ui/overlays/Billboard3DOverlay.cpp | 7 +++++++ .../src/ui/overlays/Billboard3DOverlay.h | 3 +++ interface/src/ui/overlays/Image3DOverlay.cpp | 5 ----- interface/src/ui/overlays/Text3DOverlay.cpp | 20 +------------------ interface/src/ui/overlays/Text3DOverlay.h | 5 ----- 5 files changed, 11 insertions(+), 29 deletions(-) diff --git a/interface/src/ui/overlays/Billboard3DOverlay.cpp b/interface/src/ui/overlays/Billboard3DOverlay.cpp index 960f0de095..ecade70ef8 100644 --- a/interface/src/ui/overlays/Billboard3DOverlay.cpp +++ b/interface/src/ui/overlays/Billboard3DOverlay.cpp @@ -46,6 +46,13 @@ bool Billboard3DOverlay::applyTransformTo(Transform& transform, bool force) { return transformChanged; } +void Billboard3DOverlay::update(float duration) { + if (isFacingAvatar()) { + _renderVariableDirty = true; + } + Parent::update(duration); +} + Transform Billboard3DOverlay::evalRenderTransform() { Transform transform = getTransform(); bool transformChanged = applyTransformTo(transform, true); diff --git a/interface/src/ui/overlays/Billboard3DOverlay.h b/interface/src/ui/overlays/Billboard3DOverlay.h index 6b3aa40451..174bc23bc8 100644 --- a/interface/src/ui/overlays/Billboard3DOverlay.h +++ b/interface/src/ui/overlays/Billboard3DOverlay.h @@ -18,6 +18,7 @@ class Billboard3DOverlay : public Planar3DOverlay, public PanelAttachable, public Billboardable { Q_OBJECT + using Parent = Planar3DOverlay; public: Billboard3DOverlay() {} @@ -26,6 +27,8 @@ public: void setProperties(const QVariantMap& properties) override; QVariant getProperty(const QString& property) override; + void update(float duration) override; + protected: virtual bool applyTransformTo(Transform& transform, bool force = false) override; diff --git a/interface/src/ui/overlays/Image3DOverlay.cpp b/interface/src/ui/overlays/Image3DOverlay.cpp index df93245922..6e9946e935 100644 --- a/interface/src/ui/overlays/Image3DOverlay.cpp +++ b/interface/src/ui/overlays/Image3DOverlay.cpp @@ -51,11 +51,6 @@ void Image3DOverlay::update(float deltatime) { _texture = DependencyManager::get()->getTexture(_url); _textureIsLoaded = false; } - if (usecTimestampNow() > _transformExpiry) { - Transform transform = getTransform(); - applyTransformTo(transform); - setTransform(transform); - } Parent::update(deltatime); } diff --git a/interface/src/ui/overlays/Text3DOverlay.cpp b/interface/src/ui/overlays/Text3DOverlay.cpp index 9c920efb93..b128ce7df7 100644 --- a/interface/src/ui/overlays/Text3DOverlay.cpp +++ b/interface/src/ui/overlays/Text3DOverlay.cpp @@ -83,15 +83,6 @@ xColor Text3DOverlay::getBackgroundColor() { return result; } -void Text3DOverlay::update(float deltatime) { - if (usecTimestampNow() > _transformExpiry) { - Transform transform = getTransform(); - applyTransformTo(transform); - setTransform(transform); - } - Parent::update(deltatime); -} - void Text3DOverlay::render(RenderArgs* args) { if (!_renderVisible || !getParentVisible()) { return; // do nothing if we're not visible @@ -306,13 +297,4 @@ QSizeF Text3DOverlay::textSize(const QString& text) const { float pointToWorldScale = (maxHeight / FIXED_FONT_SCALING_RATIO) * _lineHeight; return QSizeF(extents.x, extents.y) * pointToWorldScale; -} - -bool Text3DOverlay::findRayIntersection(const glm::vec3 &origin, const glm::vec3 &direction, float &distance, - BoxFace &face, glm::vec3& surfaceNormal) { - Transform transform = getTransform(); - applyTransformTo(transform, true); - setTransform(transform); - return Billboard3DOverlay::findRayIntersection(origin, direction, distance, face, surfaceNormal); -} - +} \ No newline at end of file diff --git a/interface/src/ui/overlays/Text3DOverlay.h b/interface/src/ui/overlays/Text3DOverlay.h index daa5fdc804..21163101d0 100644 --- a/interface/src/ui/overlays/Text3DOverlay.h +++ b/interface/src/ui/overlays/Text3DOverlay.h @@ -30,8 +30,6 @@ public: ~Text3DOverlay(); virtual void render(RenderArgs* args) override; - virtual void update(float deltatime) override; - virtual const render::ShapeKey getShapeKey() override; // getters @@ -60,9 +58,6 @@ public: QSizeF textSize(const QString& test) const; // Meters - virtual bool findRayIntersection(const glm::vec3& origin, const glm::vec3& direction, float& distance, - BoxFace& face, glm::vec3& surfaceNormal) override; - virtual Text3DOverlay* createClone() const override; private: From d01482bf687dd768adc612e58b195bcb0394ce15 Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Thu, 24 May 2018 17:44:39 -0700 Subject: [PATCH 6/9] Now looks for an actual change in the boom length (vs a change has been requested). --- interface/src/avatar/MyAvatar.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 0875966cbb..d3ab739649 100755 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -2245,12 +2245,13 @@ void MyAvatar::updateActionMotor(float deltaTime) { _actionMotorVelocity = getSensorToWorldScale() * (_walkSpeed.get() * _walkSpeedScalar) * direction; } + float previousBoomLength = _boomLength; float boomChange = getDriveKey(ZOOM); _boomLength += 2.0f * _boomLength * boomChange + boomChange * boomChange; _boomLength = glm::clamp(_boomLength, ZOOM_MIN, ZOOM_MAX); // May need to change view if boom length has changed - if (fabs(boomChange) > 0.0f) { + if (previousBoomLength != _boomLength) { qApp->changeViewAsNeeded(_boomLength); } } From e34d67fee4b7e164edab56ed049d5a3d7ba532ef Mon Sep 17 00:00:00 2001 From: Dante Ruiz Date: Thu, 24 May 2018 17:54:53 -0700 Subject: [PATCH 7/9] fix crash --- interface/src/ui/overlays/Web3DOverlay.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/interface/src/ui/overlays/Web3DOverlay.cpp b/interface/src/ui/overlays/Web3DOverlay.cpp index c678e3d2a2..8af818edc6 100644 --- a/interface/src/ui/overlays/Web3DOverlay.cpp +++ b/interface/src/ui/overlays/Web3DOverlay.cpp @@ -259,7 +259,6 @@ void Web3DOverlay::setupQmlSurface() { _webSurface->getSurfaceContext()->setContextProperty("Web3DOverlay", this); _webSurface->getSurfaceContext()->setContextProperty("Window", DependencyManager::get().data()); _webSurface->getSurfaceContext()->setContextProperty("Reticle", qApp->getApplicationCompositor().getReticleInterface()); - _webSurface->getSurfaceContext()->setContextProperty("desktop", DependencyManager::get()->getDesktop()); _webSurface->getSurfaceContext()->setContextProperty("HiFiAbout", AboutUtil::getInstance()); // Override min fps for tablet UI, for silky smooth scrolling From 89f7eb0b301e99ae908f212f807af9eee496eb5d Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Fri, 25 May 2018 09:20:55 -0700 Subject: [PATCH 8/9] Adding fix for enabling saved front/back advanced controls. --- ...oggleAdvancedMovementForHandControllers.js | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/scripts/system/controllers/toggleAdvancedMovementForHandControllers.js b/scripts/system/controllers/toggleAdvancedMovementForHandControllers.js index a1b96ac607..2f3a1d9628 100644 --- a/scripts/system/controllers/toggleAdvancedMovementForHandControllers.js +++ b/scripts/system/controllers/toggleAdvancedMovementForHandControllers.js @@ -171,4 +171,25 @@ Messages.subscribe(HIFI_ADVANCED_MOVEMENT_DISABLER_CHANNEL); Messages.messageReceived.connect(handleMessage); + function initializeControls() { + if(HMD.active) { + if (Controller.Hardware.Vive !== undefined || Controller.Hardware.OculusTouch !== undefined) { + if (MyAvatar.useAdvancedMovementControls) { + Controller.disableMapping(DRIVING_MAPPING_NAME); + } else { + Controller.enableMapping(DRIVING_MAPPING_NAME); + } + + if (MyAvatar.getFlyingEnabled()) { + Controller.disableMapping(FLYING_MAPPING_NAME); + } else { + Controller.enableMapping(FLYING_MAPPING_NAME); + } + }); + + } + } + + initializeControls(); + }()); // END LOCAL_SCOPE From 8453c7baba9ada9bf890f8ae380a7a63e0e3de37 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Fri, 25 May 2018 09:25:05 -0700 Subject: [PATCH 9/9] =?UTF-8?q?reverting=20commit=20=C2=9D802cedf1bc=20reg?= =?UTF-8?q?arding=20toggleSpaceMode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/libraries/entitySelectionTool.js | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/scripts/system/libraries/entitySelectionTool.js b/scripts/system/libraries/entitySelectionTool.js index 1b41559160..d03d4477f7 100644 --- a/scripts/system/libraries/entitySelectionTool.js +++ b/scripts/system/libraries/entitySelectionTool.js @@ -1036,29 +1036,6 @@ SelectionDisplay = (function() { } }; - // FUNCTION: TOGGLE SPACE MODE - that.toggleSpaceMode = function() { - var wantDebug = false; - if (wantDebug) { - print("========> ToggleSpaceMode called. ========="); - } - if ((spaceMode === SPACE_WORLD) && (SelectionManager.selections.length > 1)) { - if (wantDebug) { - print("Local space editing is not available with multiple selections"); - } - return; - } - if (wantDebug) { - print("PreToggle: " + spaceMode); - } - spaceMode = (spaceMode === SPACE_LOCAL) ? SPACE_WORLD : SPACE_LOCAL; - that.updateHandles(); - if (wantDebug) { - print("PostToggle: " + spaceMode); - print("======== ToggleSpaceMode called. <========="); - } - }; - function addHandleTool(overlay, tool) { handleTools[overlay] = tool; return tool;