Commit graph

25278 commits

Author SHA1 Message Date
Penguin-Guru
e6a41e85b2 Added comments. Referenced all enums explicitly. 2021-10-25 13:40:36 -07:00
Penguin-Guru
fc1a0d6a4c Apparently it worked. 2021-10-25 13:35:24 -07:00
Penguin-Guru
3c85964c5d Hopefully works. 2021-10-25 13:25:31 -07:00
Penguin-Guru
e7d5a005b8 Forgot to remove these. 2021-10-24 19:24:00 -07:00
Penguin-Guru
8386f2eb61 Clumsy fix for enum storage. 2021-10-24 19:19:20 -07:00
Penguin-Guru
66fdfa40ad Hopefully implemented antialiasing setting. 2021-10-24 15:32:51 -07:00
Penguin-Guru
ed725fd814 Fixed typo. 2021-10-24 10:40:58 -07:00
Julian Groß
e5609e10c2 Do not search for crashpad inside Interface binary. 2021-10-12 00:20:43 +02:00
David Rowe
c03312319d Merge branch 'master' into dev/webapp-master-update
# Conflicts:
#	libraries/networking/src/NodeList.h
#	libraries/shared/src/shared/WebRTC.h
2021-10-03 12:51:47 +13:00
Dale Glass
b8d1057e1f Replace the deprecated QMutex{ QMutex::Recursive} with QRecursiveMutex
This fixes around 1700 warnings.
2021-09-26 01:27:19 +02:00
Dale Glass
891d555679
Merge pull request #1352 from odysseus654/pr/q_disable_copy
Code Review: use of Q_DISABLE_COPY.
2021-09-25 20:33:20 +02:00
Heather Anderson
c88b7f6064 apply Q_DISABLE_COPY to MyHead (cleaning up the likely-bug in the existing code) 2021-09-19 17:52:02 -07:00
Heather Anderson
57a3cd3d63 replace the various disable-copy constructions with Q_DISABLE_COPY (or Q_DISABLE_COPY_MOVE) 2021-09-18 21:36:35 -07:00
Heather Anderson
6e4e0dfb6a remove unnecessary list copying when retrieving a list of plugins 2021-09-12 13:12:02 -07:00
Heather Anderson
05182af561 more (relatively useless) code review 2021-09-11 20:16:51 -07:00
Heather Anderson
bee33745c4 missed some shared pointer construction in Application 2021-09-11 16:01:07 -07:00
Heather Anderson
bcce9a2091 convert explicit shared pointer creation (using "new") to make_shared where possible/appropriate 2021-09-11 15:15:04 -07:00
Heather Anderson
ab4d70760e review and cleanup of "#include <QtCore/QSharedPointer>" 2021-09-10 21:40:54 -07:00
David Rowe
b1050dc83a Merge branch 'master' into dev/webapp-master-update 2021-09-01 21:52:04 +12:00
Kalila
6b0f4c107b
Merge pull request #1301 from daleglass/qt5-fix-qdir-operator-assign
Fix QDir::operator= is deprecated
2021-08-19 20:48:14 -04:00
Dale Glass
8a8093e529 Log the location of the primary resources file
Also emit the full path to the file in the exception
2021-08-12 23:49:44 +02:00
Dale Glass
24b2cdfcd2 Fix QString::SplitBehavior deprecation, replace with Qt:: 2021-08-06 20:16:10 +02:00
Dale Glass
8d19d08268 Fix QDir::operator= is deprecated 2021-08-06 18:44:53 +02:00
Dale Glass
b293dd2816
Merge pull request #1288 from digisomni/feature/add-talk-to-help
Add "Talk" link to "Help" menu.
2021-07-29 23:40:24 +02:00
Kalila
4b6d1e47e2
Fix syntax error in Menu.cpp. 2021-07-26 01:10:55 +02:00
Kalila
030cdbf348
Update Menu.cpp 2021-07-23 20:43:33 -04:00
David Rowe
74c2788a14 Merge branch 'master' into dev/rename-hifisockaddr-webapp
# Conflicts:
#	assignment-client/src/AssignmentClient.cpp
#	domain-server/src/DomainServer.cpp
#	libraries/networking/src/DomainHandler.cpp
#	libraries/networking/src/LimitedNodeList.cpp
#	libraries/networking/src/LimitedNodeList.h
#	libraries/networking/src/SockAddr.cpp
#	libraries/networking/src/SockAddr.h
#	libraries/networking/src/udt/Socket.cpp
#	libraries/networking/src/udt/Socket.h
#	tools/ice-client/src/ICEClientApp.cpp
2021-07-21 15:03:29 +12:00
Kalila
d75df82687
Merge pull request #1102 from HifiExperiments/materials2
Material improvements 2: reference textures/materials by entity ID
2021-07-15 17:42:40 -04:00
Kalila
8e4a0f8880
Merge branch 'master' into feature/add-talk-to-help 2021-07-15 17:34:29 -04:00
Kalila
0193e0f4d6
Merge pull request #1244 from digisomni/fix/lookup-string-spaces
Add ability for 'handleLookupString' to have spaces.
2021-07-12 17:07:29 -04:00
Kalila L
8df362ef1f Add "Talk" link to "Help" menu. 2021-07-10 18:05:28 -04:00
Dale Glass
e3004af61a More logging for crash reporting
* Make it clear in cmake if crash reporting is going to be used
* Log warning on startup if there's no crash reporting
2021-07-10 01:43:18 +02:00
daleglass
15dfa04c07 Whitespace review fix
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-07-10 01:43:18 +02:00
daleglass
e2eab15469 Whitespace review fix
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-07-10 01:43:18 +02:00
Dale Glass
186e784d89 Rework crashpad initialization
* Don't abort on startup if we can't find our own path
* Try to locate our own path by looking in /proc in Linux -- should fix AppImage issues
* Add extensive logging
2021-07-10 01:43:18 +02:00
HifiExperiments
7f99ddca2e merge with master 2021-07-05 16:48:45 -07:00
David Rowe
5a5cb6488c Multiplex UDP and WebRTC sockets in a QUdpSocket-style NetworkSocket 2021-06-26 22:07:01 +12:00
Kalila L
d26e035764 Update copyright headers. 2021-06-21 12:06:52 -04:00
Kalila L
90aaa85089 Update user docs links "docs.vircadia.dev" -> "docs.vircadia.com". 2021-06-21 12:01:37 -04:00
Kalila L
51e6468abd Rename 'URL_SCHEME_HIFI' -> 'URL_SCHEME_VIRCADIA'. 2021-06-11 17:04:16 -04:00
David Rowe
4d11d1d515 Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
Kalila
80e17a1e94
Merge pull request #1193 from glenalec/patch-1
Update Snapshot.cpp
2021-04-26 03:51:07 -04:00
Kalila
3629427cff
Merge pull request #1161 from ctrlaltdavid/fix/spinbox
Fix settings (QML) spin box stepping
2021-04-26 03:39:56 -04:00
Glenn Alexander
307005d561
Update Snapshot.cpp
Changed string "highfidelity_url' to "vircadia_url"
String is used to form start of snapshot-image metadata.
First step of issue #1192.
2021-04-23 12:05:34 +10:00
Kalila
7bd91bcfb0
Merge pull request #1129 from digisomni/fix/save-lod-settings
Fix LOD manager defaults + settings not being saved correctly.
2021-04-19 15:45:30 -04:00
Kalila L
5c76139816 Update copyright headers. 2021-04-19 15:44:52 -04:00
David Rowe
ab34c6ef96 Default to mini tablet disabled 2021-04-17 16:56:43 +12:00
Kalila L
35b3c76da9 Merge remote-tracking branch 'upstream/master' into fix/save-lod-settings 2021-04-14 18:48:59 -04:00
Kalila L
048c273eaf "DEFAULT_LOD_MODE" -> "DEFAULT_LOD_AUTO_ADJUST" 2021-04-06 00:13:51 -04:00
David Rowe
f0eb6a3fcd Adjust numbers of decimals and step sizes in Settings dialogs 2021-04-05 12:15:08 +12:00
David Rowe
7088fc9d6c Merge branch 'master' into fix/spinbox 2021-04-05 10:41:31 +12:00
Kalila L
0140513cd7 Fix LOD manager defaults + settings not being saved correctly. 2021-03-29 01:12:09 -04:00
David Rowe
c45007d038 Merge branch 'master' into fix/can-rez-attachment
# Conflicts:
#	interface/src/Application.h
2021-03-29 15:28:08 +13:00
Kalila
58fde3c159
Merge pull request #1090 from digisomni/feature/expand-kick-functionality
Add improved functionality for `Users.kick` API.
2021-03-28 21:05:59 -04:00
Kalila
4cb9459736
Merge pull request #1047 from Phil-Palmer/optimisation/myavatar
Small optimisations and tidying related to MyAvatar
2021-03-26 20:41:38 -04:00
David Rowe
1f5b706574 Make granting avatar entities permission more robust 2021-03-25 21:38:32 +13:00
David Rowe
71b025f7f0 Separate API vs. internal versions of clearAvatarEntity() 2021-03-22 15:36:57 +13:00
David Rowe
b0fee2699c Allow time for avatar mixer to be updated with user's permissions 2021-03-22 13:58:15 +13:00
Kalila L
fd592dfb06 CR. 2021-03-19 04:11:26 -04:00
Kalila L
be0bd3940d Finish flag work on kick functionality. 2021-03-17 23:25:08 -04:00
Kalila L
0216b34681 State of refactoring 2021-03-17 19:37:06 -04:00
David Rowe
da5f462e4f Typo 2021-03-17 19:25:04 +13:00
HifiExperiments
9514ade844 add reference materials and support reference texture changes 2021-03-15 21:21:32 -07:00
David Rowe
2030d24523 Tidying 2021-03-16 14:37:16 +13:00
David Rowe
55dcf6534c Remove MyAvatar.storeAvatarEntityDataPayload() from API 2021-03-16 12:13:27 +13:00
David Rowe
b48d3e0387 Tidy disabling of avatar entity manipulation if don't have permission 2021-03-16 12:00:34 +13:00
David Rowe
0adfd8b806 Ask user whether to continue to a domain if their wearables won't rez 2021-03-15 16:30:46 +13:00
HifiExperiments
828e653849 able to reference entity ids as textures 2021-03-13 22:34:48 -08:00
David Rowe
fa77441fda Fix avatar entity not disappearing from other users' view 2021-03-11 20:19:38 +13:00
Kalila L
78cc98bc7b Add improved functionality for Users.kick API.
Add banByUsername, banByFingerprint, and banByIP parameters.
2021-03-11 01:03:54 -05:00
David Rowe
4834c002da Disable wearables scripting API calls if don't have permissions 2021-03-09 16:21:45 +13:00
David Rowe
283f7d61e2 Don't send avatar entities if don't have permission 2021-03-09 11:15:37 +13:00
David Rowe
091efaee60 Don't rez own avatar entities if don't have permission 2021-03-09 11:15:26 +13:00
Kalila L
b5d89c44bf Rename "INITIAL_STARTUP_LOCATION" -> "PRELOADED_STARTUP_LOCATION". 2021-03-08 02:01:53 -05:00
Kalila
92874cf64a
Merge pull request #1071 from ctrlaltdavid/fix/setting-text
Fix privacy setting text
2021-03-04 17:10:10 -05:00
Phil Palmer
fd4abbb539 Apply suggestions from code review:
Re-add deprecated MyAvatar.setToggleHips and have it do nothing but output a log warning.
2021-03-03 23:37:21 -05:00
Kalila
672bceee1c
Merge pull request #1007 from digisomni/feature/manual-noise-reduction-gate
Add manual mode to noise reduction + add noise reduction threshold
2021-03-03 21:18:59 -05:00
Kalila L
809bd936d3 Update Audio.cpp
Fix default value for "NoiseReductionAutomatic" to true.
2021-03-03 21:17:17 -05:00
Kalila L
bc2b345709 Merge branch 'master' into feature/manual-noise-reduction-gate 2021-03-03 02:47:34 -05:00
David Rowe
4a9d4d4cbe Fix privacy setting text 2021-02-28 14:04:27 +13:00
Kalila
520d21b797
Update Audio.cpp 2021-02-25 23:15:36 -05:00
David Rowe
5ad2f9d192 Fix OSX crash on shutdown 2021-02-26 09:05:52 +13:00
Kalila
61defe74ce
Update interface/src/scripting/Audio.h
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-02-24 15:32:36 -05:00
Kalila L
83c8b71fa5 Add missing JSDocs. 2021-02-24 00:58:50 -05:00
Kalila
0a6e220c74
Apply suggestions from code review
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-02-23 20:29:46 -05:00
Phil Palmer
72725e783a Small optimisations and tidying of things that were noticed in passing. No behaviour should change.
* Removed the deprecated MyAvatar.setToggleHips script function and the "Toggle Hips Following" option from the Developer menu.  They had no effect on any code.
* In CharacterController::applyMotor, prevented unnecessary calls to btVector3::rotate() when the motor has no rotation.  This change also improves readability through the use of clearly-named lambdas.
* In AvatarData::getFauxJointIndex, prevented unnecessary string comparisons when the named joint is a real joint rather than a faux one.
* In Avatar::getJointIndex, removed an unnecessary call to QHash<QString, int>::contains(), by supplying a default index for QHash<QString, int>::value().
* Removed unnecessary condition "forwardLeanAmount < 0" in MyAvatar::FollowHelper::shouldActivateHorizontal_userSitting.
* Corrected the return type of MyAvatar::getSitStandStateChange from float to bool.
* Added a missing 'f' suffix to a float literal in PreferencesDialog.cpp.
2021-02-19 21:55:08 -05:00
HifiExperiments
30c4779eeb name all the threads 2021-02-13 20:17:28 -08:00
Kalila L
5b1549a24e Fix typo + update JSDoc. 2021-02-11 05:59:08 -05:00
Kalila L
085bf8423c Update APIs and add Noise Reduction section to Audio app. 2021-02-11 05:55:08 -05:00
HifiExperiments
ae26416c59
Merge branch 'master' into billboard 2021-02-09 22:57:10 -08:00
Kalila
b826743212
Merge pull request #951 from HifiExperiments/pivot
Model Entities: useOriginalPivot Property
2021-02-10 00:42:51 -05:00
Kalila L
5a40007758 Update default threshold value. 2021-02-09 00:46:46 -05:00
Kalila L
d2875c2c4f Add manual mode to noise reduction + add noise reduction threshold 2021-02-09 00:44:01 -05:00
Kalila
69e5d1261b
Merge pull request #996 from digisomni/fix/vircadia-branding-alpha
Update About Dialog and remove Vircadia "Alpha" references
2021-02-04 17:18:39 -05:00
HifiExperiments
56fa143ee6 Merge remote-tracking branch 'upstream/master' into pivot 2021-02-02 22:27:49 -08:00
HifiExperiments
8f3ed5d66d
Merge pull request #971 from HifiExperiments/apitraceFix
Fix crashes when running with QML disabled in VR
2021-02-01 21:56:11 -08:00
Phil Palmer
a2e4b81ed8 * Add more rounding in SpinBox.qml, allowing FloatPreference::step to work reliably for the spinners without needing double precision (suggestion from ctrlaltdavid: https://github.com/vircadia/vircadia/pull/930#issuecomment-765838930).
* Change FloatPreference::step from double back to float.
2021-02-01 20:26:18 -05:00
Kalila L
8abfe2ead0 Add releaseName property to About namespace. 2021-02-01 03:42:24 -05:00
HifiExperiments
19cd0fa6ad CR 2021-01-29 22:31:17 -08:00
HifiExperiments
f2c9452846
Update AssetMappingsScriptingInterface.cpp 2021-01-29 22:12:48 -08:00
HifiExperiments
bae12e4e39
Update interface/src/scripting/AssetMappingsScriptingInterface.cpp
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-01-29 17:11:24 -08:00
HifiExperiments
64e9cf6884
Update interface/src/ui/InteractiveWindow.cpp
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-01-29 17:10:56 -08:00
Kalila
cacead73ae
Merge pull request #975 from digisomni/feature/release-naming
Add "RELEASE_NAME" env variable.
2021-01-28 17:34:39 -05:00
HifiExperiments
54d57afdae use rotation property to determine which axis is facing you 2021-01-21 19:21:38 -08:00
HifiExperiments
ff6f7233e4 I'm a big dumb idiot 2021-01-21 17:39:50 -08:00
Nick Levesque
c3d7e02964 Fix small typo in getPlatformTierNames() 2021-01-21 18:45:10 -05:00
Kalila
a1fe046350
Merge pull request #953 from Phil-Palmer/fix/alpha-zwrite
Disable z-write for transparent draws
2021-01-21 17:54:59 -05:00
HifiExperiments
2667af3682 more safeguards 2021-01-20 21:25:30 -08:00
Kalila L
a0747b2912 Add "RELEASE_NAME" env variable. 2021-01-20 01:17:45 -05:00
HifiExperiments
92ea14a059 proper render bounds for models (need to pass RenderArgs to getBound everywhere) 2021-01-17 22:08:06 -08:00
HifiExperiments
1f71a23082 optimize picking 2021-01-17 13:09:09 -08:00
HifiExperiments
2a27fc4de2 billboarding for model entities 2021-01-13 22:31:21 -08:00
HifiExperiments
bef0c79b67 billboard mode working on most entity types 2021-01-10 16:03:04 -08:00
Phil Palmer
1cdc3610c3 Disable z-write for transparent fonts, grid entities and teleport beams
as suggested in the review here: https://github.com/vircadia/vircadia/pull/953#pullrequestreview-560779456
2021-01-05 06:47:33 -05:00
Phil Palmer
a54a40dc2c Apply suggestion from code review: fix debug message. 2021-01-04 15:55:34 -05:00
Phil Palmer
5d1bd5cc19 * Apply suggestions from code review
Fix JSDoc comments and debug messages.
2021-01-04 00:57:17 -05:00
Phil
646a5798e6
Apply suggestions from code review
Tidying (bracing style, spaces, remove final comma from enum, fix JSDoc comments).

Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2021-01-04 00:12:57 -05:00
Phil Palmer
3cc08022fc Leaning and lean recentering now work as intended at any avatar scale.
Individually tested each of these scale fixes in third-person view.
Simplify withinBaseOfSupport.
Change input parameter from float& to float (isWithinThresholdHeightMode).
Debug: remove unnecessary Y offset that didn't scale properly with the avatar (drawBaseOfSupport).
2020-12-31 05:09:06 -05:00
Phil Palmer
4a0bde415b Fix an old confusing comment from 952b112271 2020-12-31 00:06:25 -05:00
Phil Palmer
c5fe49bc30 Decouple MyAvatar.centerOfGravityModelEnabled from the user standing state.
Engine code no longer controls MyAvatar.centerOfGravityModelEnabled.  Maybe we should deprecate it now, since its reason to exist seemed to be only to disable the CG model while the user was sitting, which is now done more explicitly (see below).

MyAvatar::FollowHelper:
- rename shouldActivateHorizontal to shouldActivateHorizontal_userSitting, now private.
- rename shouldActivateHorizontalCG to shouldActivateHorizontal_userStanding, now private.
- add new shouldActivateHorizontal that calls one of the above based on the user's sit/stand state.
- these functions no longer modify their 'myAvatar' parameter.

Add USER_CAN_TURN_BODY_WHILE_SITTING (false), which retains the old rotation behaviour of lean recentering:
a lean recenter doesn't rotate the body if the user is sitting (new: unless the feet are tracked).
In other words, the lean recentering assumes the user isn't on a swivel chair and keeps the avatar pointing in the same direction.  It might be good to expose that as an option.  (Regardless, rotation recentering does kick-in if they turn too far).
2020-12-30 23:14:42 -05:00
Phil Palmer
a95d29d327 Fix leaning not using center-of-gravity model in mode 'Allow avatar to stand: When I'm standing'.
computeHipsInSensorFrame was accidentally setting useCenterOfGravityModel to false if !getHMDCrouchRecenterEnabled.  Now it sets it to true if !getHMDCrouchRecenterEnabled.  So if artificial standing is disabled, it uses center-of-gravity regardless of the user's sit/stand state.
2020-12-30 21:36:24 -05:00
Phil Palmer
44324584b4 Fix accidental change of bracing style. 2020-12-30 04:30:52 -05:00
Phil Palmer
8d3e2ae9ee Remove MyAvatar "squat" recenter from ad6bbc7ff6
The "squat" recenter pre-dates the sit/stand detection, but the current version basically came from ad6bbc7ff6 in 2018.  I'm removing it because it doesn't seem useful anymore (with or without the other changes in this branch).

What it did (on the current master) :
- If "Avatar leaning behavior" was "Auto"
- and the user was standing
- but their head was more than 5cm below standing height
- and their chest was upright
- for 30 seconds
- do a vertical recenter so that the avatar stands straight (instead of having knees bent).
When the user stood up straight after that recenter, the avatar would hover off the ground until the next recenter (eg. walking).
2020-12-30 04:21:24 -05:00
Phil Palmer
8cf7660993 Replace a tab with spaces. 2020-12-30 02:00:28 -05:00
Phil Palmer
8ca6421376 Correct the name of a scale factor (had inverted meaning). 2020-12-30 01:56:05 -05:00
Phil Palmer
cba79c72f5 Re-added API features that are no longer used internally; marked them as deprecated.
As suggested in the review here: https://github.com/vircadia/vircadia/pull/928/files#r549821976

Re-added and deprecated MyAvatar.userRecenterModel.  Retained the functionality of setUserRecenterModel, and approximated that of getUserRecenterModel (some stand+lean preference pairs had no equivalent before).

Re-added and deprecated MyAvatar.isSitStandStateLocked.  Approximated the functionality of getIsSitStandStateLocked.
Didn't retain that of setIsSitStandStateLocked, because it wouldn't be useful on its own; someone using it would probably want setUserRecenterModel instead (or new functions to set the standing and leaning preferences).

isSitStandStateLocked's reason to exist was that we could stop keeping track of the user's real-world sit/stand state (in updateSitStandState), and instead pretend the user was always standing (for SitStandModelType::ForceStand) or always sitting (for SitStandModelType::ForceSit).
That determined whether the avatar was allowed to lean (wouldn't lean if the user was sitting or in ForceSit).
Now though, the user explicitly chooses when the avatar may lean: never / just when the user is standing / even when the user is sitting.

These API features were removed in 2179c153de ("VR fixes for: couldn't sit on the floor, wrong walk directions").
2020-12-30 01:01:35 -05:00
Phil Palmer
8c7c91ed6f Remove const from variable declarations as suggested in the review.
Suggested here: https://github.com/vircadia/vircadia/pull/928/files#r549830690

The ones I've left are either
- values known at compile time, eg. const float MIN_LENGTH_FOR_NORMALIZE = 0.061f;
- consts that were already there in the previous code, eg. const float MAX_DISPLACEMENT = 0.5f * _radius;
2020-12-29 19:31:35 -05:00
Phil Palmer
d49cdfff6b Remove accidental change of style in a variable declaration. 2020-12-29 18:31:42 -05:00
Phil
7e5680b2a6
Apply suggestions from code review
Tidying (bracing style, spaces, remove final comma from enum, fix JSDoc comment).

Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2020-12-29 18:25:17 -05:00
Phil Palmer
1e54d41f95 Remove static variable from MyAvatar::update (made it a member). 2020-12-28 05:37:06 -05:00
Phil Palmer
2be87fe7dc Fix VR recentering cases that gave incorrect vertical position.
Fix for MyAvatar sometimes hovering off the ground after foot tracking was enabled.  MyAvatar's body is now recentered when foot-tracking starts or ends (in MyAvatar::update).
Repro:
- Start without foot tracking, 'Allow my avatar to stand: Always'.
- Crouch, and wait a few seconds for the avatar to pop back to the standing position.
- Slowly stand straight so that the avatar raises off the ground without recentering (PS: is this a bug?).  If it recenters, retry from previous step.
- Calibrate foot tracking.  Previously the avatar would remain hovering off the ground until MyAvatar::centerBody was called.

Fix for MyAvatar popping to a standing position if the left foot lost tracking.  The recentering now takes into account if either of the feet are tracked.
Repro:
- Enable foot tracking (and ideally hips tracking).
- Sit on the floor.
- Cover the left foot sensor so it loses tracking.  Previously the avatar and viewpoint would pop to a standing position.

Optimisation: MyAvatar::update now stores bools indicating which body parts are tracked (_isBodyPartTracked).  This avoid unnecessary computations that came from using getControllerPoseInAvatarFrame to convert controller::Pose from sensor space to world space and then to avatar space, only to check if the pose was valid.
2020-12-27 22:13:09 -05:00
Phil Palmer
3e25e32f18 Revert temporary "added pragmas" (optimize off)
This reverts commit 20e4f952ab.
2020-12-27 02:52:52 -05:00
Phil Palmer
dec9e9d338 VR fix for different avatar scales.
Previously, if the avatar scale wasn't 1, the body and viewpoint would given the wrong vertical position in some situations, eg: getting up from click-to-sit; changing the 'Allow my avatar to stand' setting.
The avatar scale was being taken into account where it shouldn't have in MyAvatar::deriveBodyFromHMDSensor.
The bug started in 8b839fe71b ("VR fixes for different user heights and avatar scales".
Repro:
1. Set 'Allow my avatar to stand: Always'
2. Reduce the avatar scale to the minumum.
3. Set 'Allow my avatar to stand: When I stand'
4. Previously, the viewpoint would suddenly be below the floor.
2020-12-27 02:50:29 -05:00
Phil Palmer
c9cf7eb75d Merge branch 'fix/vr-recenter-PRAGMAS' into fix/vr-recenter 2020-12-26 23:22:16 -05:00
Phil Palmer
20e4f952ab added pragmas 2020-12-26 23:19:21 -05:00
Phil Palmer
3b5eb2d24b Partial fix for spinner boxes not using the _step property of SpinnerPreference.
(https://github.com/vircadia/vircadia/issues/117)
- In SpinBoxPreference.qml, SpinBox was missing "realStepSize: preference.step".
- Had to change FloatPreference::step from float to double, because there is some truncation happening somewhere.  For example, a step of 0.01f was acting like 0.00 because (0.01f < 0.01).
- Changed FloatPreference::decimals (number of decimal places) from float to uint, because it seemed to make more sense.
- Changed the 'User real-world height' spinbox to use a resolution of 1cm (for display and step) rather than 1mm.
- Remaining bug: the up & down buttons of the spinbox fail to change the value, at some values, though the mouse wheel always works.  Repro:
Settings > Controls > User real-world height
Hover the mouse over the box and and scroll the mouse wheel down until the value is at 1.15.
Click the up button a few times and observe that the number can't be increased.
Scroll the mouse wheel forward and observe that the number increases correctly.
- Todo: Change all calls to FloatPreference::setStep to pass doubles, if this change to its parameter type is kept.
2020-12-23 22:53:43 -05:00
Phil Palmer
a489e9ddca Code style: made some little things more conformant with the coding standards and the rest of the codebase.
https://github.com/vircadia/vircadia/blob/master/CODING_STANDARD.md
2020-12-23 19:00:05 -05:00
Phil Palmer
8b839fe71b VR fixes for different user heights and avatar scales.
- The user's real-world height is now taken into account in MyAvatar::deriveBodyFromHMDSensor.  Therefore, for any user height, the floor stays correctly positioned in all modes of 'Allow my avatar to stand'.
- Whenever the user's real-world height is changed, centerBodyInternal is now called to position the body accordingly.  The floor therefore stays correctly positioned in all modes of 'Allow my avatar to stand'.  (MyAvatar::setUserHeight)
- Fix for walk speeds in VR being too fast at large avatar scale and too slow at small avatar scale.  The action motor velocity was being scaled once too many by the sensor-to-world scale.  The bug existed before this branch.  (MyAvatar::scaleMotorSpeed)
2020-12-23 07:54:59 -05:00
Phil Palmer
287f710ea1 Fix MyAvatar::centerBody breaking existing scripts (eg. away.js) by having a new parameter:
Moved the body of the function to a private internal method (centerBodyInternal), which takes the parameter instead.
Previously, when leaving 'away' state, the 'Away' overlay would stay on screen because of the bug.
The bug started in "VR fixes for: couldn't sit on the floor, wrong walk directions." (2179c153de).
2020-12-22 19:32:43 -05:00
Phil Palmer
2179c153de VR fixes for: couldn't sit on the floor, wrong walk directions.
- Divided the option "Avatar leaning behavior" into two options that work more usefully: "Allow my avatar to stand" and "Allow my avatar to lean" (PreferencesDialog.cpp).  Made the necessary fixes so that the avatar can be set to stand only when the user is standing (more details below).
- The logic controlling the direction of MyAvatar's action motor is now centralised in calculateScaledDirection (was previously split between there and updateMotors).  calculateScaledDirection now returns a velocity in world space.
- CharacterController::FollowHelper now uses separate follow timers for rotation, horizontal and vertical (previously followed all three based on the longest of their follow times).  Where appropriate, FollowHelper can now snap immediately to the desired rotation/horizontal/vertical independently (see FOLLOW_TIME_IMMEDIATE_SNAP).
- FollowHelper::FollowType has therefore moved to CharacterController::FollowType.
- MyAvatar::FollowHelper::postPhysicsUpdate: If MyAvatar is not allowed to stand when the user is sitting, this now avoids recentring the body based on the head height.
- Removed Q_PROPERTY(MyAvatar::SitStandModelType, as the sitting/standing/leaning model uses different enums now (see setAllowAvatarStandingPreference, setAllowAvatarLeaningPreference).
- Removed Q_PROPERTY(bool isSitStandStateLocked which is no longer used, because we now always track the user's real-world sit/stand state, regardless of what we're doing with it.
- MyAvatar::FollowHelper::shouldActivateHorizontal: If MyAvatar is not allowed to lean, this now returns true to recentre the footing if the head is outside the base of support.
- MyAvatar::FollowHelper::shouldActivateHorizontalCG: If MyAvatar is not allowed to lean, this now always returns true to recentre the footing.  Rearranged to avoid computing values that weren't used depending on the conditions.  Resolved some duplicated code.
- MyAvatar::setUserRecenterModel previously set HMDLeanRecenterEnabled based on the chosen mode, but it got reset when getting out of a sit.  Now HMDLeanRecenterEnabled is only controlled by the scripts.
- Added Rig::getUnscaledHipsHeight (like getUnscaledEyeHeight).  Refactored a little to avoid duplicated code.  Added DEFAULT_AVATAR_HIPS_HEIGHT which is the value that Rig::getUnscaledHipsHeight returns when using the default avatar.
- Fix for recentring not behaving as requested by the user after getting up from click-to-sit (always behaving like 'Auto') : MyAvatar::endSit now passes false to centerBody for 'forceFollowYPos'.
- Fix for incorrect vertical position of the avatar and viewpoint after changing lean recentre mode while not standing in the real world: MyAvatar::setAllowAvatarStandingPreference now calls centerBody with false for 'forceFollowYPos'.
- computeHipsInSensorFrame: The code now matches the comments in that it only skips the dampening of the hips rotation if the centre-of-gravity model is being used.
2020-12-22 14:22:27 -05:00
HifiExperiments
f33c7de67a Merge remote-tracking branch 'upstream/master' into pivot 2020-12-18 17:33:24 -08:00
HifiExperiments
7069e48073 working on pivot 2020-12-16 21:01:56 -08:00
Kalila
0f87e4cd86
Merge pull request #838 from ctrlaltdavid/fix/hud-recentering
HUD overlay fixes and improvements
2020-12-14 20:46:02 -05:00
Kalila
8c4ce96c63
Merge pull request #830 from HifiExperiments/update
Entity update improvements 2
2020-12-14 17:56:01 -05:00
kasenvr
9b253c3a32
Update interface/src/main.cpp
Co-authored-by: David Rowe <david@ctrlaltstudio.com>
2020-11-25 16:27:46 -05:00
HifiExperiments
2e780c34d1 Merge remote-tracking branch 'upstream/master' into update 2020-11-24 16:34:30 -08:00
Kalila L
f7b0437bc8 Initial add of crash report arg option. 2020-11-21 00:03:56 -05:00
kasenvr
5080909bb9
Merge pull request #664 from kasenvr/feature/require-redownload
Feature/require redownload
2020-11-12 17:10:08 -05:00
HifiExperiments
7bfbf3c99c Merge remote-tracking branch 'upstream/master' into update 2020-11-09 19:33:38 -08:00
HifiExperiments
ccd5ef80b3 remove isActive, fix contains, maybe fix green box issue 2020-11-09 19:14:30 -08:00