Commit graph

2526 commits

Author SHA1 Message Date
c6e4e5de37
Revert "Mirrors + Portals" 2024-01-13 11:18:08 +01:00
c73566d7f2
Merge pull request #721 from HifiExperiments/mirror
Mirrors + Portals
2024-01-13 11:18:00 +01:00
825c398e54 Changed gravity constant 2023-11-19 17:39:10 +01:00
HifiExperiments
10de1288c2 fix view + projection, texture flipping, billboarding 2023-11-13 14:40:56 -08:00
74c5b6038f Lower inertia for more precise controls 2023-08-02 22:00:12 +02:00
a7229e9249 Scripting API cleanup and type conversion fixes 2023-05-19 00:17:41 +02:00
e75c671a70 Fixed crash with Cameras app 2023-05-19 00:17:39 +02:00
ae7d229d0e Fix copyright headers 2023-05-19 00:17:38 +02:00
586bd7ffca Fixes for code review 2023-05-19 00:17:35 +02:00
6f32173025 Fixes to most scripting-related warnings 2023-05-19 00:17:35 +02:00
ad57a5e6fd Fixed enums in scripting engine 2023-05-19 00:17:35 +02:00
0a3ec92031 Type registeration fixes for scripting engine 2023-05-19 00:17:35 +02:00
Heather Anderson
bc6eaf25dc first pass creating Qt <-> QtScript interface 2023-05-19 00:17:34 +02:00
Heather Anderson
70fbe76341 convert script engine variables from QSharedPointer to std::shared_ptr 2023-05-19 00:17:34 +02:00
Heather Anderson
ef16b83362 patch review and removal of unnecessary differences 2023-05-19 00:17:34 +02:00
Heather Anderson
8581022a53 rework ScriptValue to act like a stack variable rather than a pointer 2023-05-19 00:17:34 +02:00
Heather Anderson
f209c5124d early smoketesting 2023-05-19 00:17:34 +02:00
Heather Anderson
665ea521e8 shifting classes around and adding static initializers to resolve dependencies on scripting-engine (and drop dependencies from scripting-engine) 2023-05-19 00:17:33 +02:00
Heather Anderson
1e018dbc64 isolate calls to the QtScript libraries to an interface we control 2023-05-19 00:17:33 +02:00
8605987da6 Analog control scheme enabled in VR by default 2022-07-30 16:46:59 +02:00
Dale Glass
0c09ac6030 Fix type range comparison 2022-06-10 00:46:19 +02:00
Dale Glass
1310e536c8 Remove unused variable 2022-06-10 00:46:19 +02:00
Dale Glass
87ba20ecb4 Only whitespace changes 2022-06-10 00:46:19 +02:00
Dale Glass
3347cc563b Create warning whitelist system 2022-06-10 00:46:18 +02:00
David Rowe
4d11d1d515 Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12: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
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
David Rowe
2030d24523 Tidying 2021-03-16 14:37:16 +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
David Rowe
fa77441fda Fix avatar entity not disappearing from other users' view 2021-03-11 20:19:38 +13: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
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
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
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 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
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
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