Commit graph

4550 commits

Author SHA1 Message Date
3c80411bf1 V8-related cleanup 2023-05-19 00:17:41 +02:00
82e6cb9391 Added missing metatype registration 2023-05-19 00:17:41 +02:00
ceeac40ea8 Re-enabled WebRTC 2023-05-19 00:17:39 +02:00
ae7d229d0e Fix copyright headers 2023-05-19 00:17:38 +02:00
3e692a60b4 V8 fixes 2023-05-19 00:17:37 +02:00
a7b1fdcae6 Fixed convertJSObjectToVariant 2023-05-19 00:17:37 +02:00
cb4dc4c7e8 Fixed location JS API 2023-05-19 00:17:37 +02:00
6301d23c48 Fixed object deletion event, temporarily disabled watchdog log commands to make reading logs easier 2023-05-19 00:17:36 +02:00
97137c7b13 More fixes for V8 2023-05-19 00:17:36 +02:00
716a02495e Fix build error on MacOS 2023-05-19 00:17:35 +02:00
Heather Anderson
9c6ffc3fc2 fixed missing #include required by new template blockingInvokeMethod functions 2023-05-19 00:17:35 +02:00
Heather Anderson
306f3d07c9 remove requirement that ScriptManager::evaluate be meta-invokable 2023-05-19 00:17:35 +02:00
Heather Anderson
7964f06990 moving EntityItemID from script-engine to shared 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
Heather Anderson
713b29ee41 ensure all #include's to QtScript are labeled as such (easier to find) 2023-05-19 00:17:33 +02:00
Dale Glass
7d08df3f82 Fix build on Fedora.
Fix portfile license handling.
Fix tbb choking on Qt's 'emit' macro.
2023-05-16 18:56:33 +02:00
Dale Glass
03a20b9b94 Fix the build on GCC 13.0
This adds #include <cstdlib> in a couple places. It also fixes a huge
amount of warnings due to "concept" becoming a keyword in C++20
2023-04-27 00:42:25 +02:00
67a9b82236 Increase max log size from 512 KiB to 10 MiB.
Lower max amount of log files from 100 to 20.
2023-03-11 19:24:23 +01:00
Dale Glass
9a828077bd Add Overte e.V. copyright 2022-11-01 20:49:00 +01:00
Dale Glass
7d3b45753c Comment moved to header 2022-11-01 17:16:14 +01:00
Dale Glass
20548b7b24 Fix mysterious UUID issue
Turned out to be a remainant of previous code that stopped working
correctly due to the changes
2022-11-01 17:15:50 +01:00
Dale Glass
24d4f87341 Improve logging system termination. Send a signal and wait until done. 2022-11-01 17:15:16 +01:00
Dale Glass
d722650806 Don't forward a change to QSetting if the setting didn't change
This considerably reduces the number of disk writes
2022-11-01 17:14:10 +01:00
Dale Glass
f7ab2be173 Unimportant changes
Signals were made non-references for debugging, but that shouldn't
actually matter since Qt copies the parameters anyway.
2022-11-01 17:13:30 +01:00
Dale Glass
51e1df5e4c Improve logging, v3 2022-11-01 17:08:08 +01:00
Dale Glass
06d7b89455 Improve logging, forgotten commit 2022-11-01 17:07:02 +01:00
Dale Glass
b540c426c1 Use logging categories 2022-11-01 17:06:33 +01:00
Dale Glass
0e50b51a63 Improve documentation 2022-11-01 17:01:16 +01:00
Dale Glass
cdc15d7821 Improve settings system, by moving all writes to a thread
This should complete what was started in the HiFi days but didn't quite succeed.

Setting::Manager is now thread safe, and delegates all settings writes to a thread
that nothing waits on, which should ensure that settings don't degrade performance
even on slow storage devices.

Functions that weren't thread safe were removed from Setting::Manager, and it was
reduced to a key/value store.

Functions that modify state like beginGroup were implemented in the Settings class
instead, which should be created only in the context where it's needed. It will
forward all changes to the manager.

A few QSettings functions were left unimplemented because they're not used in
the code. They may be implemented later if there's a need.
2022-10-23 23:25:42 +02:00
Dale Glass
e960829112 Fix test for the master branch 2022-10-23 16:02:37 +02:00
Dale Glass
0896807ca5 Slight cleanup of tests, use friend class to avoid exposing test functions 2022-10-23 13:24:56 +02:00
Dale Glass
b5d9a4dbba Make test class a friend 2022-10-23 13:24:56 +02:00
Dale Glass
334317b175 Test suite for settings system
Proof of concept still. Adds a test-specific function in Setting::Manager.
2022-10-23 13:24:56 +02:00
d2a768c2f0 Renamed environment variables 2022-09-08 22:18:50 +02:00
9b6d202a21 Rebranding and fixing URLs 2022-09-08 22:10:13 +02:00
Dale Glass
214dce833d Improve error reporting for incorrect --logOptions 2022-06-28 00:34:43 +02:00
Dale Glass
2a919e35f4 Rename TARGET field to "COMPONENT" for clarity.
"Target" is what's it named in the source, but it seems too confusing.
2022-06-28 00:34:43 +02:00
Dale Glass
6110da720e Remove old code 2022-06-28 00:34:43 +02:00
Dale Glass
e01f6e3049 Finish journald logging implementation
This adds command-line arguments, disables it by default on interface,
adds target logging, and can deal with variable numbers of fields.

It also adds some documentation.
2022-06-28 00:34:43 +02:00
Dale Glass
4dec2d6430 Add 'journald' log option 2022-06-28 00:34:43 +02:00
Dale Glass
ad4f0c1a8c Initial implementation 2022-06-28 00:34:41 +02:00
Dale Glass
b551e80fa5 Add missing file 2022-06-22 19:15:16 +02:00
Dale Glass
5d168666c3 Added explanatory note 2022-06-21 13:59:30 +02:00
Dale Glass
d323be22df Add log breakpoint system 2022-06-20 16:39:22 +02:00
Dale Glass
ab95528e25 Implement Visual C warnings suppression 2022-06-10 00:46:19 +02:00
Dale Glass
39706f1c9a Prototype for MSVC support, still need to figure out the right directives 2022-06-10 00:46:19 +02:00
Dale Glass
9e93cabdb2 Fix 'warning: ‘size_t strlen(const char*)’ reading 1 or more bytes from a region of size 0 [-Wstringop-overread]' 2022-06-10 00:46:19 +02:00
Dale Glass
aefb6860e6 Replace mutex with recursive mutex (deprecated) 2022-06-10 00:46:19 +02:00
Dale Glass
38141ef655 Rewrite outputBits without sprintf (deprecated) 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
c6f1e6410e Updated some URLs, rebranded documentation and changed default metaverse server address 2022-02-09 23:57:24 +01:00
Kalila
b7734e32d0
Merge pull request #1468 from daleglass/qt5-fix-multimap
Fix deprecated usage of multiple keys in QHash and QMap.
2021-12-02 20:28:22 -05:00
Dale Glass
d77c8bbe41 Fix warnings related to deprecated usage of multiple keys in QHash and QMap
This replaces those uses with QMultiHash and QMultiMap
2021-11-26 17:53:23 +01:00
Dale Glass
b9568e36ec Enable data channel 2021-10-18 20:55:47 +02:00
David Rowe
f264cc0548 Merge branch 'master' into dev/webapp-master-update 2021-10-08 08:34:03 +13:00
Kalila
1d8da471a2
Merge pull request #1344 from digisomni/feature/new-domain-wizard
Overhaul the Domain server's onboarding wizard.
2021-10-04 16:10:31 -04: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
Kalila
939d0958c1
Merge pull request #1367 from daleglass/fix-recursive-mutex-warnings
Replace the deprecated QMutex{ QMutex::Recursive} with QRecursiveMutex (solves approximately 1700 warnings).
2021-10-01 00:15:02 -04:00
Kalila
c87006c91b
Merge pull request #1346 from JulianGro/aarch64_gha
Add aarch64 Linux GHA builds.
2021-09-30 17:14:09 -04: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
Julian Groß
f03606ee60 Disable WebRTC on aarch64 Linux 2021-09-16 06:09:11 +02:00
Heather Anderson
ab4d70760e review and cleanup of "#include <QtCore/QSharedPointer>" 2021-09-10 21:40:54 -07:00
Kalila L
74b185f6c6 Fix Qt warning: "QString::KeepEmptyParts" -> "Qt::KeepEmptyParts" 2021-09-09 18:57:43 -04:00
David Rowe
b1050dc83a Merge branch 'master' into dev/webapp-master-update 2021-09-01 21:52:04 +12:00
Dale Glass
24b2cdfcd2 Fix QString::SplitBehavior deprecation, replace with Qt:: 2021-08-06 20:16:10 +02:00
David Rowe
6c37628468 Add WebRTC data channel 2021-05-31 12:29:48 +12:00
David Rowe
ce31b70a1d Update Windows WebRTC from version M81 to M84 2021-05-21 07:58:10 +12:00
David Rowe
adfb428796 Distinguish use of WebRTC features - audio versus data channel 2021-05-20 09:43:18 +12:00
David Rowe
4d11d1d515 Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
David Rowe
58a6ac384e Replace some QMap occurrences with QHash 2021-04-29 08:15:37 +12:00
David Rowe
d1136c2d3e Merge branch 'master' into feature/rpm-blendshapes 2021-04-27 21:32:35 +12:00
David Rowe
24ddbc0d56 Update ReadyPlayerMe default mapping 2021-04-24 09:10:32 +12:00
David Rowe
a6d8e150f0 Move and rename ReadyPlayerMe synonyms 2021-04-21 09:47:24 +12:00
David Rowe
0b536f0cae Support ReadyPlayerMe blendshapes in glTF files 2021-04-19 11:10:25 +12:00
David Rowe
71bcabfc0a Remove unused enum 2021-04-17 21:30:46 +12:00
David Rowe
7088fc9d6c Merge branch 'master' into fix/spinbox 2021-04-05 10:41:31 +12:00
Kalila L
cfac34bf7e CR. 2021-03-21 13:20:05 -04:00
Kalila L
f067feb37a Add docs for ban functionality. 2021-03-19 04:44:58 -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
Kalila
053548cd14
Merge pull request #1033 from HifiExperiments/skyboxShape
Non-uniformly scaled sphere zones and models behave like ellipsoids (and fix EntityItem::contains sphere case)
2021-03-03 16:15:47 -05:00
Phil Palmer
26369ca2a9 Fix for some spinner boxes not changing value when using their buttons or the mouse wheel.
Changed the default value of FloatPreference::_step from 0.1f to 1, because FloatPreference::_decimals defaults to 0.  Also because before this branch, all spinners used a step of 1 rather than SpinnerPreference::_step.
Spinners such as Settings > General > Desktop Tablet Scale / VR Tablet Scale work again.
2021-02-22 22:34:04 -05:00
Kalila
ba54dd755c
Merge pull request #1034 from vircadia/v2021.1.0-rc
merge V2021.1.0 rc into master
2021-02-22 00:16:36 -05:00
Julian Groß
937e0a55db Merge remote-tracking branch 'refs/remotes/HifiExperiments/fixBillboard' 2021-02-20 12:12:59 +01:00
HifiExperiments
852edec9e7 entities with billboardMode != none use local rotation so parent rotation doesn't affect them 2021-02-18 22:15:12 -08:00
HifiExperiments
f9b88c68e0 treat non-uniform spheres as ellipsoids everywhere 2021-02-15 21:13:58 -08:00
HifiExperiments
30c4779eeb name all the threads 2021-02-13 20:17:28 -08:00
HifiExperiments
f46f1b2219 Merge branch 'master' into alignment 2021-02-11 18:07:23 -08:00
HifiExperiments
b296fff197 add text alignment property 2021-02-10 21:45:53 -08:00
HifiExperiments
ae26416c59
Merge branch 'master' into billboard 2021-02-09 22:57:10 -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
HifiExperiments
4554aa338b
Update BillboardMode.cpp 2021-01-30 00:28:25 -08:00
HifiExperiments
19cd0fa6ad CR 2021-01-29 22:31:17 -08:00
Kalila
af8ce1ba3d
Merge pull request #937 from daleglass/skip_repeated_log_entries
Skip repeated log entries
2021-01-28 17:22:51 -05:00
HifiExperiments
2a27fc4de2 billboarding for model entities 2021-01-13 22:31:21 -08:00
Dale Glass
aab5b22e25 Skip duplicated log entries
This helps with log flooding. Successive repeated log messages will be skipped and counted,
the count will be output when a different message is logged.

A new option of 'keep_repeats' has been added to VIRCADIA_LOG_OPTIONS to disable this.
2021-01-09 19:39:32 +01: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
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
kasenvr
5bb0c9bffc
Merge pull request #804 from daleglass/logging_improvements
Improve logging: color, ms timestamps, PID, thread id via environment variable
2020-10-29 20:12:18 -04:00