Commit graph

35410 commits

Author SHA1 Message Date
Dale Glass
e03768ddc5 Document PluginManager 2023-11-12 13:39:37 +01:00
478a0bbeaa
Merge pull request #708 from HifiExperiments/renderUpdate
Call somethingChangedNotification() from setLocalJointXXXX
2023-11-07 17:51:47 +01:00
665d21210a
Merge pull request #697 from overte-org/fix/script_require
Fixed incorrect Script.require behavior
2023-11-06 20:18:19 +01:00
HifiExperiments
0a08f11d7e fix #650: call something somethingChangedNotification() from setLocalJointXXXX 2023-11-06 00:36:34 -08:00
3abd98b642
Merge pull request #706 from overte-org/fix/graphics_settings
Fix for custom graphics setting
2023-11-06 00:17:11 +01:00
8f416ef505 Fix for custom graphics setting 2023-11-05 23:58:26 +01:00
e08aa2f1a0
Merge pull request #700 from overte-org/fix/oculus_plugin
Disable Oculus plugin by default and add a setting to enable it
2023-11-05 22:41:29 +01:00
9d5da27101 Added logging to Oculus Plugin setting 2023-11-05 21:04:45 +01:00
Dale Glass
bb1331c0cb Fix memory debugging.
* Disables WebRTC (build fails)
* Recommends disabling optimization
* Recommends enabling debugging
* Remove forced optimization from plugins
2023-11-05 19:05:09 +01:00
Dale Glass
d23a17daa5 Add a test for bug #587
This will fail against the current master, since the current behavior is not correct.
2023-11-05 14:02:46 +01:00
ed58d6f34e Disable Oculus plugin by default and add a setting to enable it 2023-11-05 10:49:49 +01:00
209f1d59f0 Fixed incorrect Script.require behavior 2023-11-04 20:45:33 +01:00
8b1b40273b
Merge pull request #686 from JulianGro/discord-rpc
Discord rich presence support
2023-11-02 08:54:12 +01:00
bf8ad07b60 Moved archive download interface files and converted documetnation to doxygen 2023-11-01 19:51:21 +01:00
8332e41989 Remove File API and limit audio recording file location 2023-11-01 00:29:15 +01:00
6645763117 Replaced mutex locking with lock guard 2023-10-31 18:37:05 +01:00
7481130e61 Add a mutex to entity server script engine 2023-10-30 20:41:08 +01:00
7930bd86cc Place names with underscores are used and should be considered valid. 2023-10-30 19:02:15 +01:00
33bdd841c1 Fix entity server memory leak and improve performance 2023-10-30 18:40:04 +01:00
79cf24d30f
Merge pull request #645 from keeshii/feature/qml_entities
Added support for QML inside web-entities.
2023-10-19 22:46:07 +02:00
f04c3b5840
Make comment more coherent 2023-10-16 21:24:26 +02:00
8b648408fd Added distance-based LOD 2023-10-13 19:28:05 +02:00
keeshii
d3f652686e Added support for QML inside web-entities. 2023-10-10 18:48:39 +02:00
Dale Glass
babed47b6d Rewrite Dropbox URLs to force downloads, even if the user uses a preview URL 2023-09-18 23:21:38 +02:00
Dale Glass
0fb11f1dcb Fix loading avatars from Dropbox due to URLs containing parameters 2023-09-18 20:22:58 +02:00
9d6f08b908
Merge pull request #607 from rampa3/feature/mouse_look
Add mouse look script - continuation
2023-09-10 15:15:13 +02:00
87cb04d79e Added debug message for uncomressed texture on GLES 2023-09-04 23:16:11 +02:00
0f59059490 Initial support for HDR lightmaps 2023-09-03 17:03:20 +02:00
c49c947984 Fixed llack of precision in mouse look mode 2023-09-01 23:43:22 +02:00
1c71825953
Merge pull request #604 from overte-org/fix/flow
Fix issues with flow bones
2023-08-30 22:21:23 +02:00
6dc9c1a3f2
Merge pull request #574 from overte-org/fix/script_reload2
Fix most of the crash causes on script engine reload/shutdown
2023-08-29 23:48:32 +02:00
1ab46f68e3 Fixed entity script reloads 2023-08-28 23:34:19 +02:00
38d44d079c Fixed flow assignment operators 2023-08-27 23:06:53 +02:00
0c2fe4c81f Fixed flow on curved bones 2023-08-27 22:48:39 +02:00
8c87d6f835 Fixed flow bone scaling issue 2023-08-27 20:41:48 +02:00
e88ddc31aa Fix typos in MyAvatar set and get skeleton offset 2023-08-25 14:06:12 -03:00
13242611ea Fix jsDoc references to Vircadia platform/CDN 2023-08-25 13:58:45 -03:00
98282d1255 Add mouse look preference setting 2023-08-22 19:05:09 +02:00
Dale Glass
1efd8d27b9 Put require() in the global scope 2023-08-21 01:08:37 +02:00
9c78c8fb3a
Merge pull request #520 from overte-org/fix/script_crash
Added null pointer check for asQuickItem()
2023-08-18 20:50:47 +02:00
ae36233ff9 Fix QQuickItem pointers 2023-08-18 16:49:14 +02:00
166f7223d1 Fix most of the crash causes on script engine reload/shutdown 2023-08-18 12:12:17 +02:00
db1680c1ca Change profiling output file extension to CSV 2023-08-12 16:48:05 +02:00
a84c68f4ff Add JS profiling API 2023-08-12 16:18:40 +02:00
Dale Glass
7a91b74c94
Merge pull request #540 from overte-org/fix/entity_script_deadlock
Fixed deadlock when entity script engines are being reset.
2023-08-05 22:19:24 +02:00
74c5b6038f Lower inertia for more precise controls 2023-08-02 22:00:12 +02:00
4091557388 Fixed deadlock when entity script engines are being reset.
Co-authored-by: Julian Groß julian.g@posteo.de
2023-08-01 16:33:41 +02:00
790a55d093 Fixed interface scripts failing to shutdown and removed deprecated API signal 2023-07-20 00:15:00 +02:00
1e8d032ea3 Added null pointer check for asQuickItem() 2023-07-17 20:23:06 +02:00
Dale Glass
72137f52f7
Merge pull request #519 from overte-org/fix/script_debug
Fix script error logging
2023-07-16 23:21:26 +02:00
8dc776a73c Fix script error logging 2023-07-16 23:09:45 +02:00
Dale Glass
273d4a35a9 Store annotations before the crash handler initializes
The crash handler only accepts annotations after it's initializes, but
we may do that late and lose some possibly valuable information, or need
to structure things in an awkward manner.

Add a simple system to store annotations in memory until the crash handler
is running.
2023-07-16 21:51:36 +02:00
Dale Glass
c05fde3db4
Merge pull request #482 from daleglass-overte/crash-handler-on-server
Crash handler on server
2023-07-09 21:50:43 +02:00
2860650859 Truncate logs read by FileLogger 2023-07-09 21:01:23 +02:00
Dale Glass
441413020e Move crash handler to networking library.
Turns out dependencies just don't work out well otherwise.
2023-07-02 22:10:27 +02:00
Dale Glass
25755f9c88 Many improvements:
* Get crash settings in assignment clients
* Allow custom crash reporting URL and token
* Fix setting system -- the client's one doesn't belong in the server
* Lots more documentation

Commit just before moving things around.
2023-07-02 21:18:09 +02:00
ebedfa5a5a
Merge pull request #481 from overte-org/fix/thumbsticks
Fix thumbstick press issue
2023-06-27 21:16:20 +02:00
Dale Glass
4dcc2882fd Crash reporter moved to separate library
UAL moved back to networking
2023-06-26 23:12:32 +02:00
Dale Glass
6ec276c818 Initial reorganization 2023-06-26 23:12:32 +02:00
4e3bba047e
Merge pull request #463 from JulianGro/fbx_279
FBX: Fall back to old Metallic behaviour on files created with Blender 2.79 or older
2023-06-26 20:14:23 +02:00
284587913a FBX: Fallback to old behaviour on files created with Blender 2.79 or older 2023-06-25 23:35:08 +02:00
474f52a4f3 Fix thumbstick press issue for translation (not rotation yet) 2023-06-25 22:23:49 +02:00
Dale Glass
de706ab458 Rework crash reporting UI
* Encourage users running dev code to submit reports
* Change from "Disable" to "Enable"
* Always initialize Crashpad and just prevent uploads if disabled
* Fix menu not being in sync
* Add documentation
* Keep track of whether Crashpad initialized successfully
2023-06-25 20:14:13 +02:00
326b00cc09 Fix wrong syntax for JSDoc comments.
For reference, this is an internal syntax defined in tools/jsdoc/plugins/hifi.js
2023-06-09 13:59:49 +02:00
Dale Glass
0f158977fe
Merge pull request #443 from shocktail39/fix/drop-qtscript-from-cmake
remove qtscript from cmake dependencies
2023-06-04 11:42:30 -07:00
Dale Glass
ab7eebae31
Merge pull request #445 from daleglass-overte/fix-settings-reset
Fix resetting the settings
2023-06-04 11:41:22 -07:00
Dale Glass
32b9cc123c Fix resetting the settings
Also minor documentation improvements
2023-06-04 14:50:03 +02:00
da9b9f76af Hide QObject signals from script engine and switch off script memory reporting 2023-06-04 01:07:26 +02:00
8c9a88b2d9 Hide private methods from script engine 2023-06-04 00:29:14 +02:00
steve hocktail
e71f3c7990
remove qtscript from cmake dependencies 2023-06-03 15:44:53 -04:00
Dale Glass
dba38acb9f
Merge pull request #381 from JulianGro/pr/drop-wallet
Drop all dependencies on marketplace and wallet
2023-06-03 21:27:13 +02:00
514c63ed90 Fix prtotocol incompatilibility after removing wallet 2023-06-03 12:27:24 +02:00
e256599a15
Merge pull request #431 from overte-org/feature/IME
Japanese language support (and other IME probably)
2023-05-30 12:53:24 +02:00
Heather Anderson
60b8d41c16 stripping wallet/marketplace out 2023-05-28 15:12:21 +02:00
0f3dc71128 Comment on future IME improvements 2023-05-28 12:39:51 +02:00
6192416dce V8 related cleanup 2023-05-27 22:06:57 +02:00
b3997bff54
Merge pull request #409 from JulianGro/aarch64_node
Add Linux aarch64 node package
2023-05-27 18:49:50 +02:00
f783a80f34 Temporary IME position for QML GL widgets 2023-05-27 16:40:48 +02:00
db15ed2f13 Fixed contexts for V8 callbacks 2023-05-27 13:32:02 +02:00
17dc2decf6 Initial IME support 2023-05-27 00:08:24 +02:00
b79d31fd6c Include QQueue in ScriptEngineV8.h 2023-05-22 20:41:54 +02:00
ab21945a54 Fixed crashes that happened when clearing cache 2023-05-22 00:15:54 +02:00
f72e8948b0 Fixed entity script whitelist and a bug in makeError 2023-05-19 00:17:41 +02:00
8de1331fa5 V8 related cleanup 2023-05-19 00:17:41 +02:00
fe9babf02d Scripting-related cleanup 2023-05-19 00:17:41 +02:00
ba0e705b5a Fixed Script.resolvePath issue in modules 2023-05-19 00:17:41 +02:00
4107f40c7c Fixed XMLHttpRequest crash 2023-05-19 00:17:41 +02:00
48a3368b69 Minor fixes and XMLHTTPRequest debugging 2023-05-19 00:17:41 +02:00
d74089d7d8 Fixed parabola pointers, code cleanup 2023-05-19 00:17:41 +02:00
f79ec0f293 Work on script engine exceptions, cleanup 2023-05-19 00:17:41 +02:00
833bffc285 Added makeError and script value prototype getter 2023-05-19 00:17:41 +02:00
Dale Glass
13e22d4931 Fix override warnings 2023-05-19 00:17:41 +02:00
3c80411bf1 V8-related cleanup 2023-05-19 00:17:41 +02:00
30f4608c25 Removed script engine lambda 2023-05-19 00:17:41 +02:00
5050cc9a4e Code cleanup 2023-05-19 00:17:41 +02:00
a7229e9249 Scripting API cleanup and type conversion fixes 2023-05-19 00:17:41 +02:00
82e6cb9391 Added missing metatype registration 2023-05-19 00:17:41 +02:00
782c84b873 V8 memory leak fix and optimizations 2023-05-19 00:17:41 +02:00
eabc727bb7 V8 optimizations 2023-05-19 00:17:41 +02:00
a57c7a5e5b V8 heap object statistics 2023-05-19 00:17:41 +02:00
6466d39c05 V8 memory leak fixes 2023-05-19 00:17:41 +02:00
cd11066aa5 Added script value and script value proxy counters 2023-05-19 00:17:41 +02:00
42704ea4bc Work on fixing V8 memory leaks, memory leak test 2023-05-19 00:17:40 +02:00
56c3bad002 V8 memory usage statistics 2023-05-19 00:17:40 +02:00
fdd8cb290c Optimized getEntityProperties 2023-05-19 00:17:40 +02:00
c18fd9092e Fixed assert on ScriptValueV8Wrapper::construct 2023-05-19 00:17:40 +02:00
8b9cd84df7 vec3ToScriptValue optimizations 2023-05-19 00:17:40 +02:00
43939290b2 Revert "vec3FromScriptValue replacement attempt"
This reverts commit 584e4be0082c07c62b6ad1f17d4258878ce3223c.
2023-05-19 00:17:40 +02:00
dba0925a1c vec3FromScriptValue replacement attempt 2023-05-19 00:17:40 +02:00
3a207507bf Optimized EntityItemProperties::copyFromScriptValue 2023-05-19 00:17:40 +02:00
ec3e87da5c Added ScriptValue::getPropertyNames 2023-05-19 00:17:40 +02:00
e114d86871 Optimization of conversion of vec3 to/from script value 2023-05-19 00:17:40 +02:00
4062d80445 Added hash maps for faster property search on V8 callbacks 2023-05-19 00:17:40 +02:00
2a2cf3898b Work on porting laser pointers to local entities, removal of LaserPointer JS API 2023-05-19 00:17:40 +02:00
589ca2a399 Converted overlay getProperty calls to Entities.getEntityProperties 2023-05-19 00:17:40 +02:00
6c1fd88fb1 Fixed crash with asset scripting crash 2023-05-19 00:17:40 +02:00
e14ae4a96a Partial fix for asset scripting crash 2023-05-19 00:17:40 +02:00
e75c671a70 Fixed crash with Cameras app 2023-05-19 00:17:39 +02:00
8a2c055adc Removed 3D overlays functionality entirely 2023-05-19 00:17:39 +02:00
b52fe9a7d5 Fixed crash on starting in VR mode with V8 2023-05-19 00:17:39 +02:00
ceeac40ea8 Re-enabled WebRTC 2023-05-19 00:17:39 +02:00
819ebc9e49 Fixed events on V8 2023-05-19 00:17:39 +02:00
de75aa1794 Uncommented code that got commented out by accident 2023-05-19 00:17:39 +02:00
f241ede316 Initial fixes for building on Windows 2023-05-19 00:17:39 +02:00
Dale Glass
4d8a20aed7 Use logging categories everywhere in the base scripting engine code 2023-05-19 00:17:39 +02:00
Dale Glass
0fc2ab870a Add V8 logging category
Rename logging category to overte
Make all V8 code use logging categories
2023-05-19 00:17:39 +02:00
41760ee3ac Changed variable in ScriptObjectV8Proxy because it has to be stored as aligned pointer 2023-05-19 00:17:39 +02:00
Dale Glass
6ac2596293 Capture exceptions that happen in signals in ScriptEngine, add test 2023-05-19 00:17:39 +02:00
Dale Glass
acd19f7c40 Review fix: add flag to choose whether to abort script on exception 2023-05-19 00:17:39 +02:00
Dale Glass
aec756b0b9 Register metatypes, fixes warnings
Remove executeOnScriptThread from Script JS API -- seems unused, is marked deprecated, and for some reason
registration didn't resolve the warnings.
2023-05-19 00:17:39 +02:00
Dale Glass
8f82750f2a Initial implementation of raiseException and test 2023-05-19 00:17:39 +02:00
Dale Glass
cd02b22bd7 Don't crash in uncaughtException() if there isn't an exception 2023-05-19 00:17:39 +02:00
Dale Glass
cb0c62024d Throw the right exception class, and add the thrown value to it 2023-05-19 00:17:39 +02:00
Dale Glass
bb74c2ecc9 Allow accessing engine exceptions from ScriptManager 2023-05-19 00:17:39 +02:00
Dale Glass
de02da5fda Register more metatypes -- more work needed 2023-05-19 00:17:39 +02:00
Dale Glass
b1e2a94d71 Deduplicate QDebug output 2023-05-19 00:17:39 +02:00
Dale Glass
8d6270392d Make ScriptEngine a QObject instead of the derived class
Fix signal -- only needs to be in ScriptEngine
2023-05-19 00:17:39 +02:00
Dale Glass
67e7a7375a Further exception work on V8
* Get rid of maybeEmitUncaughtException
* Mostly get rid of makeError
* Introduce exception hierarchy, change exceptions to shared_ptr
* Simplify exception throwing code
2023-05-19 00:17:39 +02:00
Dale Glass
c0e62c5cc2 Initial exception handling
Make exception handling use the new ScriptException class.
Add exception signal
Throw exceptions in script evaluation
Remove references to ScriptManager from ScriptEngine
2023-05-19 00:17:39 +02:00
2bcd1106d1 Fixed ScriptObjectV8Proxy access after delete 2023-05-19 00:17:39 +02:00
27554da415 Addeed V8 getters/setters to ScriptVariantV8Proxy, fixed animation scripting 2023-05-19 00:17:39 +02:00
4e91765a3f Reverted change that broke AnimationObjec scripting interface 2023-05-19 00:17:38 +02:00
3be4fdc33d Fixed deadlock in updating animation state handlers 2023-05-19 00:17:38 +02:00
cae1e1195d V8 QObject pointer handling changes 2023-05-19 00:17:38 +02:00
5e5003ff03 Fixed crash on standing up from sit script 2023-05-19 00:17:38 +02:00
8e718262bd Fixed object containing UniquePersistent 2023-05-19 00:17:38 +02:00
acc658ee80 Fixed deadlock in Create App 2023-05-19 00:17:38 +02:00
ae7d229d0e Fix copyright headers 2023-05-19 00:17:38 +02:00
Dale Glass
02a0e33e95 Add NETWORKLESS_TEST_SCRIPT type to NetworkManager.
This is a slightly hacky way to make ScriptManager work without any
networking, and minimize the number of dependencies needed to run
a test.
2023-05-19 00:17:38 +02:00
12f239b18c Fix V8 memory leak and persistend handle problems 2023-05-19 00:17:38 +02:00