diff --git a/hifi_vcpkg.py b/hifi_vcpkg.py index f726a87945..821d9ae0b7 100644 --- a/hifi_vcpkg.py +++ b/hifi_vcpkg.py @@ -257,27 +257,26 @@ endif() def installQt(self): qt5InstallPath = self.getQt5InstallPath() - if os.getenv('QT_CMAKE_PREFIX_PATH') == None: - if not os.path.isdir(qt5InstallPath): - print ('Downloading Qt from AWS') - dest, tail = os.path.split(qt5InstallPath) + if not os.path.isdir(qt5InstallPath): + print ('Downloading Qt from AWS') + dest, tail = os.path.split(qt5InstallPath) - url = 'NOT DEFINED' - if platform.system() == 'Windows': - url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-windows3.tar.gz' - elif platform.system() == 'Darwin': - url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-macos3.tar.gz' - elif platform.system() == 'Linux': - if platform.linux_distribution()[1][:3] == '16.': - url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-16.04-with-symbols.tar.gz' - elif platform.linux_distribution()[1][:3] == '18.': - url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-18.04.tar.gz' - else: - print('UNKNOWN LINUX VERSION!!!') + url = 'NOT DEFINED' + if platform.system() == 'Windows': + url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-windows3.tar.gz' + elif platform.system() == 'Darwin': + url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-macos3.tar.gz' + elif platform.system() == 'Linux': + if platform.linux_distribution()[1][:3] == '16.': + url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-16.04-with-symbols.tar.gz' + elif platform.linux_distribution()[1][:3] == '18.': + url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-18.04.tar.gz' else: - print('UNKNOWN OPERATING SYSTEM!!!') - - print('Extracting ' + url + ' to ' + dest) - hifi_utils.downloadAndExtract(url, dest) + print('UNKNOWN LINUX VERSION!!!') else: - print ('Qt has already been downloaded') + print('UNKNOWN OPERATING SYSTEM!!!') + + print('Extracting ' + url + ' to ' + dest) + hifi_utils.downloadAndExtract(url, dest) + else: + print ('Qt has already been downloaded') diff --git a/interface/resources/avatar/animations/emote_point01_all.fbx b/interface/resources/avatar/animations/emote_point01_all.fbx index 4b7424ab1d..6302620794 100644 Binary files a/interface/resources/avatar/animations/emote_point01_all.fbx and b/interface/resources/avatar/animations/emote_point01_all.fbx differ diff --git a/interface/resources/avatar/avatar-animation.json b/interface/resources/avatar/avatar-animation.json index 9ab4d5d935..436f8b5949 100644 --- a/interface/resources/avatar/avatar-animation.json +++ b/interface/resources/avatar/avatar-animation.json @@ -3799,8 +3799,8 @@ { "easingType": "easeInOutQuad", "id": "reactionPoint", - "interpDuration": 18, - "interpTarget": 18, + "interpDuration": 10, + "interpTarget": 10, "interpType": "evaluateBoth", "transitions": [ { @@ -4610,9 +4610,9 @@ { "easingType": "easeInOutQuad", "id": "idle", - "interpDuration": 30, - "interpTarget": 30, - "interpType": "evaluateBoth", + "interpDuration": 10, + "interpTarget": 10, + "interpType": "snapshotPrev", "transitions": [ { "state": "WALKFWD", @@ -4742,14 +4742,34 @@ { "easingType": "easeInOutQuad", "id": "idleSettle", - "interpDuration": 12, - "interpTarget": 12, - "interpType": "evaluateBoth", + "interpDuration": 15, + "interpTarget": 15, + "interpType": "snapshotPrev", "transitions": [ { "state": "idle", "var": "idleSettleOnDone" }, + { + "state": "idle", + "var": "reactionPositiveTrigger" + }, + { + "state": "idle", + "var": "reactionNegativeTrigger" + }, + { + "state": "idle", + "var": "reactionRaiseHandEnabled" + }, + { + "state": "idle", + "var": "reactionApplaudEnabled" + }, + { + "state": "idle", + "var": "reactionPointEnabled" + }, { "state": "WALKFWD", "var": "isMovingForward" @@ -4810,7 +4830,7 @@ }, { "id": "WALKFWD", - "interpDuration": 10, + "interpDuration": 15, "interpTarget": 35, "interpType": "snapshotPrev", "transitions": [ @@ -4874,7 +4894,7 @@ }, { "id": "WALKBWD", - "interpDuration": 10, + "interpDuration": 15, "interpTarget": 35, "interpType": "snapshotPrev", "transitions": [ @@ -4938,7 +4958,7 @@ }, { "id": "STRAFERIGHT", - "interpDuration": 8, + "interpDuration": 15, "interpTarget": 25, "interpType": "snapshotPrev", "transitions": [ @@ -5002,7 +5022,7 @@ }, { "id": "STRAFELEFT", - "interpDuration": 8, + "interpDuration": 15, "interpTarget": 25, "interpType": "snapshotPrev", "transitions": [ @@ -5873,7 +5893,6 @@ }, "id": "userAnimStateMachine", "type": "stateMachine" - }, "version": "1.1" -} \ No newline at end of file +} diff --git a/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml b/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml index 427e45abba..c92da7e6e5 100644 --- a/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml +++ b/interface/resources/qml/hifi/simplifiedUI/topBar/SimplifiedTopBar.qml @@ -40,6 +40,9 @@ Rectangle { property bool inventoryFullyReceived: false Component.onCompleted: { + var numTimesRun = Settings.getValue("simplifiedUI/SUIScriptExecutionCount", 0); + numTimesRun++; + Settings.setValue("simplifiedUI/SUIScriptExecutionCount", numTimesRun); Commerce.getLoginStatus(); } @@ -52,7 +55,7 @@ Rectangle { if ((MyAvatar.skeletonModelURL.indexOf("defaultAvatar") > -1 || MyAvatar.skeletonModelURL.indexOf("fst") === -1) && topBarInventoryModel.count > 0) { Settings.setValue("simplifiedUI/alreadyAutoSelectedAvatar", true); - MyAvatar.skeletonModelURL = topBarInventoryModel.get(0).download_url; + MyAvatar.useFullAvatarURL = topBarInventoryModel.get(0).download_url; } } } diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 112685e891..6f16e6e1bf 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -4144,6 +4144,7 @@ void MyAvatar::goToLocation(const glm::vec3& newPosition, _goToOrientation = quatOrientation; } + resetLookAtRotation(_goToPosition, _goToOrientation); emit transformChanged(); } @@ -5996,6 +5997,7 @@ bool MyAvatar::pinJoint(int index, const glm::vec3& position, const glm::quat& o } slamPosition(position); + resetLookAtRotation(position, orientation); setWorldOrientation(orientation); auto it = std::find(_pinnedJoints.begin(), _pinnedJoints.end(), index); @@ -6662,6 +6664,15 @@ void MyAvatar::resetHeadLookAt() { } } +void MyAvatar::resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation) { + // Align the look at values to the given avatar orientation + float yaw = safeEulerAngles(avatarOrientation).y; + _lookAtYaw = glm::angleAxis(yaw, avatarOrientation * Vectors::UP); + _lookAtPitch = Quaternions::IDENTITY; + _lookAtCameraTarget = avatarPosition + avatarOrientation * Vectors::FRONT; + resetHeadLookAt(); +} + void MyAvatar::updateHeadLookAt(float deltaTime) { if (_skeletonModelLoaded) { glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget; diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index a6c53c1c0b..7b63e8e86b 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -2654,11 +2654,6 @@ private: bool _scriptControlsHeadLookAt { false }; float _scriptHeadControlTimer { 0.0f }; - // LookAt camera data - float _selfieTriggerAngle { 55.0f }; - float _frontLookAtSpeed { 0.15f }; - float _backLookAtSpeed { 0.25f }; - Setting::Handle _realWorldFieldOfView; Setting::Handle _useAdvancedMovementControls; Setting::Handle _showPlayArea; @@ -2685,6 +2680,7 @@ private: void initFlowFromFST(); void updateHeadLookAt(float deltaTime); void resetHeadLookAt(); + void resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation); // Avatar Preferences QUrl _fullAvatarURLFromPreferences; diff --git a/scripts/simplifiedUI/ui/simplifiedUI.js b/scripts/simplifiedUI/ui/simplifiedUI.js index affa6896d8..f1f1dd6dd3 100644 --- a/scripts/simplifiedUI/ui/simplifiedUI.js +++ b/scripts/simplifiedUI/ui/simplifiedUI.js @@ -532,6 +532,11 @@ function onGeometryChanged(rect) { } } +function onWindowMinimizedChanged() { + // prerequisite placeholder for Reduce Friction of Customer Acquisition sub task: https://highfidelity.atlassian.net/browse/DEV-585 + print("WINDOW MINIMIZED CHANGED SIGNAL"); +} + function onDisplayModeChanged(isHMDMode) { if (isHMDMode) { Camera.setModeString("first person"); @@ -612,6 +617,7 @@ function startup() { Audio.mutedDesktopChanged.connect(onDesktopInputDeviceMutedChanged); Audio.mutedHMDChanged.connect(onHMDInputDeviceMutedChanged); Window.geometryChanged.connect(onGeometryChanged); + Window.minimizedChanged.connect(onWindowMinimizedChanged); HMD.displayModeChanged.connect(onDisplayModeChanged); Audio.avatarGainChanged.connect(maybeUpdateOutputDeviceMutedOverlay); Audio.localInjectorGainChanged.connect(maybeUpdateOutputDeviceMutedOverlay); @@ -657,6 +663,7 @@ function shutdown() { Audio.mutedDesktopChanged.disconnect(onDesktopInputDeviceMutedChanged); Audio.mutedHMDChanged.disconnect(onHMDInputDeviceMutedChanged); Window.geometryChanged.disconnect(onGeometryChanged); + Window.minimizedChanged.disconnect(onWindowMinimizedChanged); HMD.displayModeChanged.disconnect(onDisplayModeChanged); Audio.avatarGainChanged.disconnect(maybeUpdateOutputDeviceMutedOverlay); Audio.localInjectorGainChanged.disconnect(maybeUpdateOutputDeviceMutedOverlay);