Commit graph

276 commits

Author SHA1 Message Date
Brad Davis
40316498a4 Enable script debugging 2016-05-09 17:02:40 -07:00
Zach Pomerantz
173d2a590c Use sleep_until for ScriptEngine 2016-05-06 19:30:37 -07:00
Zach Pomerantz
1a0a623d5f Report ScriptableResource memory cost to engine 2016-04-20 20:18:22 -07:00
Zach Pomerantz
7d9790ecb5 Add request for garbage collection
Add garbage collection request in prod
2016-04-20 20:14:15 -07:00
Brad Hefta-Gaub
0d20f2468e CR feedback 2016-04-18 12:13:21 -07:00
Brad Hefta-Gaub
47900df3e7 cleanup 2016-04-18 10:43:08 -07:00
Brad Hefta-Gaub
0520363da8 cleanup 2016-04-18 10:37:15 -07:00
Brad Hefta-Gaub
9db0fe0d11 switch to using QSharedPointer for _entitiesScriptEngine 2016-04-18 09:46:04 -07:00
howard-stearns
7b7ec5a174 Prohibit entity script file includes from outside the original entity
script's directory (unless its in our resources).
2016-04-04 16:41:21 -07:00
Stephen Birarda
5ad4645b47 Merge branch 'master' of https://github.com/highfidelity/hifi into atp 2016-03-10 13:28:59 -08:00
Stephen Birarda
181b20f673 move the AssetScriptInterface to script-engine 2016-03-08 14:49:26 -08:00
Anthony J. Thibault
0d62b10a8f Added Mat4 support to script
Also, hooked up MyAvatar.sensorToWorldMatrix access to script.
2016-03-07 16:16:14 -08:00
Howard Stearns
05943ed353 Entity scripts keep of the which entity they are executing for. When the entity goes away, any created timers do, too. Also, loading interface scripts is not allowed from entity scripts. 2016-03-01 16:50:58 -08:00
Brad Davis
d28f80aa07 Moving running scripts functionality to scripting library 2016-01-11 12:44:03 -08:00
Ryan Huffman
5f60aeef22 Update ScriptEngine::_isUserLoaded to be atomic 2015-12-09 14:50:48 -08:00
Ryan Huffman
e7a1550b64 Update ScriptEngine::finished to include 2015-12-09 14:50:09 -08:00
Ryan Huffman
4dbfd3bfd9 Fix concurrency issues for bools in ScriptEngine
Several member variables were unsafely being accessed from multiple threads. Making these variables std::atomic makes this safe.
2015-12-08 11:13:27 -08:00
Stephen Birarda
b1a69bb2cf cleanup spacing in ScriptEngine 2015-11-30 15:52:10 -08:00
Stephen Birarda
4573e5c59e resolve conflicts on merge with upstream/master 2015-11-30 13:32:38 -08:00
Stephen Birarda
762709748d Merge pull request #6473 from ZappoMan/waitForScriptThreads
change the ScriptEngine::waitTillDoneRunning() to wait for the script thread to complete
2015-11-24 10:39:22 -06:00
samcake
a1668cdc73 Let the AssertClient JS interface use global vars 2015-11-23 22:28:59 -08:00
Brad Hefta-Gaub
ce46c30647 change the ScriptEngine::waitTillDoneRunning() to wait for the script thread to complete 2015-11-23 16:27:06 -08:00
Brad Hefta-Gaub
f80a765a29 add Assets.uploadData() and Assets.downloadData() 2015-11-19 17:28:20 -08:00
Atlante45
b15054c1fb Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-09 13:41:06 -08:00
James B. Pollack
e928c8278b overload a single function and cleanup, add examples 2015-11-06 11:48:51 -08:00
James B. Pollack
3cee569bae pass parameters to entities 2015-11-05 16:57:39 -08:00
James Pollack
751d51ee72 entity call params 2015-11-05 14:19:11 -08:00
Stephen Birarda
ed610d69e0 resolve conflicts merging with huffman/baseball 2015-11-02 14:18:39 -08:00
Stephen Birarda
bbf5991f9a resolve conflicts on merge with huffman/baseball 2015-11-02 14:14:36 -08:00
Ryan Huffman
8eded438db Remove _controllerScriptingInterface from ScriptEngine.h 2015-11-02 14:09:24 -08:00
Ryan Huffman
7f4a8e9d7d Merge branch 'master' of github.com:Atlante45/hifi into baseball 2015-11-02 12:25:51 -08:00
Brad Hefta-Gaub
8839458d54 Merge pull request #6242 from highfidelity/controllers
New Controller interfaces/api
2015-10-30 12:47:51 -07:00
Howard Stearns
d79d0bc5c5 Merge branch 'master' of https://github.com/highfidelity/hifi into expose-anim-vars 2015-10-29 08:25:41 -07:00
Stephen Birarda
cee029f752 resolve conflicts on merge with upstream/master 2015-10-28 15:19:10 -07:00
Brad Davis
3c1a0930da Merge remote-tracking branch 'upstream/master' into HEAD
Conflicts:
	interface/src/avatar/MyAvatar.h
	libraries/script-engine/src/ScriptEngine.cpp
	libraries/script-engine/src/ScriptEngine.h
2015-10-28 13:38:22 -07:00
Atlante45
ffe73348fb Move check functions to cpp only 2015-10-27 12:11:27 -07:00
Atlante45
a53a576aa3 checkExceptions after testing entity scripts in the sandbox 2015-10-27 12:11:27 -07:00
Atlante45
13b7fa6b5d Typo 2015-10-27 12:11:27 -07:00
Atlante45
c8c9118d4d Improve script engine error logging + some cleanup 2015-10-27 12:11:27 -07:00
Atlante45
3742c169b5 Make handler generators more readable 2015-10-27 12:11:27 -07:00
Atlante45
380139364c checkExceptions after testing entity scripts in the sandbox 2015-10-26 12:41:49 -07:00
Atlante45
9771361840 Typo 2015-10-26 10:49:41 -07:00
Howard Stearns
4b4907c9ef Allow multiple scripts to register, and allow them to specify the specific anim vars they are interested in. 2015-10-26 10:04:55 -07:00
Atlante45
421d967e49 Improve script engine error logging + some cleanup 2015-10-23 15:41:31 -07:00
Atlante45
4e33aa84e8 Make handler generators more readable 2015-10-23 15:41:31 -07:00
Howard Stearns
2b7ceffd64 Get rid of globalObject().property("MyAvatar").property("animationStateHandlerResult"). 2015-10-22 16:23:09 -07:00
Howard Stearns
1d0464ede5 Name change and thread checks per comments. 2015-10-22 15:15:10 -07:00
Howard Stearns
9fd61907f5 Call back to Javascript asynchronously, so that we don't block and the script's engine doesn't have thread conflicts. 2015-10-21 20:50:07 -07:00
Brad Davis
bea6fdd890 Working on JSON parsing and cleanup
Conflicts:
	libraries/controllers/src/controllers/Route.cpp
	libraries/controllers/src/controllers/ScriptingInterface.cpp
	libraries/controllers/src/controllers/StandardController.cpp
	libraries/controllers/src/controllers/impl/RouteBuilderProxy.h
2015-10-20 10:20:28 -07:00
Brad Davis
57be59935d Move controller test to app 2015-10-17 19:13:38 -07:00
Brad Davis
e39219c2b5 Fixes and PR comments 2015-10-14 16:51:52 -07:00
Brad Davis
0063f9ae1d Merging old and new controller interfaces 2015-10-14 15:16:54 -07:00
Brad Hefta-Gaub
d3ee9b0f39 more work on exposing device inputs as JavaScript named constants 2015-10-09 20:58:23 -07:00
Brad Davis
99d1e17ae8 Support reload-on-change for local scripts 2015-10-07 19:18:59 -07:00
Brad Hefta-Gaub
0d37511071 add support for scripts to call methods on entity scripts 2015-09-18 14:06:38 -07:00
Brad Hefta-Gaub
54a45f3173 Merge branch 'master' of https://github.com/highfidelity/hifi into scriptEngineCleanup
Conflicts:
	libraries/entities-renderer/src/EntityTreeRenderer.cpp
	libraries/script-engine/src/ScriptEngine.cpp
	libraries/script-engine/src/ScriptEngine.h
2015-09-14 21:13:08 -07:00
Brad Hefta-Gaub
94b273a029 more work on script engine 2015-09-14 20:59:10 -07:00
Brad Hefta-Gaub
a3c0288eae more work on proper threading of ScriptEngine 2015-09-14 20:26:04 -07:00
Brad Hefta-Gaub
18fbf896f1 first cut at moving entity scripts into ScriptEngine 2015-09-14 15:13:43 -07:00
Seth Alves
49ee251238 quiet compiler 2015-09-12 09:59:25 -07:00
Brad Hefta-Gaub
56118e4204 migrate Agent to use standard APIs of ScriptEngine 2015-09-11 22:12:42 -07:00
Brad Hefta-Gaub
54c56a92f1 move agent specific code out of ScriptEngine 2015-09-11 21:56:00 -07:00
Brad Hefta-Gaub
f85cb2c888 first cut at cleaning up ScriptEngine class 2015-09-11 19:12:09 -07:00
Brad Hefta-Gaub
5c6d8da97b Revert "Make sure all entity script callbacks happen on the Entities script engine thread" 2015-09-11 11:55:36 -07:00
Brad Hefta-Gaub
b9d5412aad prevent sending signals in the entities script engine 2015-09-11 09:48:42 -07:00
Brad Hefta-Gaub
8eacdbf1c4 first cut at making sure entity scripts are called on the entities script engine thread 2015-09-10 13:02:02 -07:00
Brad Hefta-Gaub
ede0a39b5b prevent Script.include() from including the same file multiple times 2015-09-09 17:54:09 -07:00
Stephen Birarda
5a2d59c530 fix ScriptEngine cleanup for Agent 2015-07-15 15:07:34 -07:00
David Rowe
1898c6bd55 Merge branch 'master' into 20547
Conflicts:
	libraries/networking/src/PacketHeaders.cpp
	libraries/networking/src/PacketHeaders.h
2015-06-26 13:05:51 -07:00
David Rowe
67206332e6 Make individual reload buttons reload scripts 2015-06-17 16:11:30 -07:00
Seth Alves
508ae276c6 enable -Wdouble-promotion 2015-06-16 18:23:10 -07:00
Seth Alves
981ac2ce7d quiet-compiler -- remove unused prototype for cleanupMenuItems 2015-06-02 13:17:15 -07:00
Howard Stearns
4266a99d78 Put the javascript methods on Script, not Entities, and other minimum-diff cleanup. 2015-05-25 11:28:33 -07:00
Howard Stearns
a0d09c0a6d Mulitple independent handlers for same entity/event. 2015-05-24 11:48:11 -07:00
Howard Stearns
b884d3cf90 Handle all the signals. 2015-05-24 09:57:12 -07:00
Howard Stearns
1dd2b7275e Simpler and more uniform version that handles all the standard entity-script events. 2015-05-23 18:11:05 -07:00
Howard Stearns
277f5ef3a4 Working experimental first version. 2015-05-23 13:35:35 -07:00
ZappoMan
e2d8d82096 more script caching cleanup 2015-03-30 16:34:04 -07:00
ZappoMan
36657c9473 first cut at script caching 2015-03-30 14:36:48 -07:00
Ryan Huffman
b370e025c9 Move EntityScriptingInterface instance to DependencyManager 2015-03-02 15:05:31 -08:00
Ryan Huffman
a443157dd7 Update ScriptEngine::entityScriptingInterface to be static pointer
Statically allocating the EntityScriptingInterface means we can't make
sure it is initialized AFTER NodeList has been initialized
2015-03-02 10:40:46 -08:00
ZappoMan
310654831c clean up comments remove dead code 2015-02-24 17:34:19 -08:00
ZappoMan
fd93b99f03 more hacking on script shutdown behavior 2015-02-24 14:02:46 -08:00
ZappoMan
6be8f4c0ec more work on improving shutdown behavior 2015-02-23 17:32:31 -08:00
ZappoMan
7e2d355b56 first cut at properly shutting down timers while shutting down scripts 2015-02-23 11:40:30 -08:00
ZappoMan
a8d48e592f removing debug messages 2015-02-23 09:44:18 -08:00
ZappoMan
8c4474b2d0 more hacking 2015-02-20 17:55:04 -08:00
ZappoMan
0b607fa390 first cut at shutting down scripts ahead of other cleanup 2015-02-20 15:28:25 -08:00
Andrew Meadows
d896f3a811 Merge pull request #4252 from thoys/20224
CR for Job #20224 - Make virtualKeyboard.js go to locations and support gamepads
2015-02-17 09:03:17 -08:00
Thijs Wenker
062c2cbcee HUD LookAt positions could be NULL now if whenever they're out of range
HMD.HUDLookAtPosition2D -> HMD.getHUDLookAtPosition2D()
HMD.HUDLookAtPosition3D -> HMD.getHUDLookAtPosition3D()
2015-02-12 22:55:44 +01:00
Stephen Birarda
7b485829c4 cleanup AudioInjector memory management 2015-02-11 15:52:00 -08:00
Ryan Huffman
ce9e8910e4 Add callback to QScriptEngine::include(QString) 2015-01-29 09:04:57 -08:00
Ryan Huffman
38b38eb063 Update ScriptEngine to use BatchLoader 2015-01-22 14:14:21 -08:00
ZappoMan
4ea9bbc309 first major pass at voxelEctomy 2014-12-30 18:08:58 -08:00
ZappoMan
cfa5e5c61b Merge branch 'master' of https://github.com/highfidelity/hifi into entityScriptsAndEvents
Conflicts:
	libraries/entities-renderer/src/EntityTreeRenderer.cpp
	libraries/entities-renderer/src/EntityTreeRenderer.h
2014-12-19 10:35:18 -08:00
ZappoMan
660bf2720e convert AnimationCache to DependencyManager 2014-12-15 19:48:15 -08:00
Stephen Birarda
98f56aaa0c fix URL/filename discrepancy for local scripts 2014-12-03 09:55:55 -08:00
Stephen Birarda
d7f168999d don't block main thread for a script load 2014-12-02 10:30:23 -08:00
Stephen Birarda
36f716cd61 have script loading be separate from ScriptEngine constructor 2014-12-02 10:13:43 -08:00
ZappoMan
cd0ee0ff1d better support for includes in entity scripts 2014-11-23 14:58:29 -08:00
Ryan Huffman
bedd9c76f2 Merge branch 'master' of github.com:highfidelity/hifi into entity-grid-tool
Conflicts:
	examples/newEditEntities.js
2014-11-11 10:48:49 -08:00
Ryan Huffman
b04fd89e4f Update grid tool html location 2014-11-11 09:55:30 -08:00
Ryan Huffman
feaf5678bb Add grid tools to entity edit tools 2014-11-06 15:00:39 -08:00
Stephen Birarda
2e8118300f fix for two member variable declarations on same line 2014-11-05 11:11:37 -08:00
Stephen Birarda
2c667d209d make the AudioInjectorScriptingInterface a singleton 2014-11-05 10:10:05 -08:00
ZappoMan
4c85e9f581 removing particles 2014-10-13 14:10:57 -07:00
David Rowe
5ebe6962a4 Make scripts loaded with Script.load() not persist 2014-09-06 09:59:47 -07:00
ZappoMan
3a8c5018ee Merge branch 'master' of https://github.com/highfidelity/hifi into virtualEntities
Conflicts:
	interface/src/Application.h
	libraries/entities/src/EntityTreeElement.h
	libraries/models/src/ModelItem.cpp
	libraries/models/src/ModelItem.h
	libraries/models/src/ModelTree.cpp
	libraries/models/src/ModelTree.h
	libraries/models/src/ModelTreeElement.cpp
	libraries/networking/src/PacketHeaders.h
	libraries/octree/src/OctreeEditPacketSender.cpp
	libraries/octree/src/OctreeEditPacketSender.h
2014-08-04 12:01:23 -07:00
David Rowe
f3b4f708a5 Add Script.load() JavaScript method 2014-07-31 21:50:07 -07:00
ZappoMan
77e1867b11 Merge branch 'master' of https://github.com/highfidelity/hifi into virtualEntities
Conflicts:
	assignment-client/src/Agent.cpp
	assignment-client/src/Agent.h
	examples/editModels.js
	interface/src/Application.h
2014-07-31 10:34:23 -07:00
ZappoMan
805a88b73b Merge branch 'master' of https://github.com/highfidelity/hifi into virtualEntities
Conflicts:
	examples/editModels.js
	interface/src/entities/EntityTreeRenderer.h
	libraries/models/src/ModelsScriptingInterface.cpp
	libraries/script-engine/src/ScriptEngine.cpp
2014-07-28 13:39:35 -07:00
Atlante45
844e5d7e47 Merge branch 'master' of https://github.com/highfidelity/hifi into add_start_stop_animation_for_scripted_avatar
Conflicts:
	assignment-client/src/Agent.cpp
	examples/editModels.js
2014-07-28 10:11:39 -07:00
Atlante45
95c98203a9 Replaced the Avatar in Agent by a scriptable avatar. 2014-07-23 14:00:49 -07:00
Atlante45
17a6a72bdd ScriptEngine now inherit from QScriptEngine 2014-07-22 11:39:49 -07:00
ZappoMan
1eb472c43a Merge branch 'master' of https://github.com/highfidelity/hifi into virtualEntities 2014-07-15 10:05:06 -07:00
Atlante45
30fd4e27d0 pre-CR cleanup 2014-07-14 10:43:01 -07:00
Atlante45
b2b1701965 - Bunch of fixes to typed arrays
- First working prototype for Int8Array
- Base classes for all other typed arrays
2014-07-09 17:47:09 -07:00
ZappoMan
865566414c Merge branch 'master' of https://github.com/worklist/hifi into renameModelsToEntities
Conflicts:
	interface/src/entities/EntityTreeRenderer.cpp
	libraries/entities/src/EntityItem.h
	libraries/models/src/ModelItem.cpp
	libraries/models/src/ModelTree.cpp
	libraries/models/src/ModelTreeElement.cpp
	libraries/models/src/ModelsScriptingInterface.cpp
	tests/octree/CMakeLists.txt
	tests/octree/src/ModelTests.cpp
2014-07-01 16:32:47 -07:00
wangyix
4587828a3a removed debug prints 2014-06-27 16:48:21 -07:00
wangyix
ff438a2434 added seq stats for Agent,
fixed  AudioInjector to do << (quint16)0 instead of
skipRawData(sizeof(quint16) to correctly allocate space for seq number;
added debug prints;
2014-06-27 11:23:50 -07:00
wangyix
cb48825561 added seq number to all Audio types, untested 2014-06-26 16:52:23 -07:00
ZappoMan
ccc9eabd33 first cut at renaming Models to Entities 2014-06-26 16:39:52 -07:00
Ryan Huffman
099777ef8c Merge branch 'master' of git://github.com/highfidelity/hifi into 19648
Conflicts:
	interface/src/Application.cpp
	interface/src/Application.h
2014-05-26 10:01:44 -07:00
Ryan Huffman
8aa9cea30e Add custom evaluation of commands in ScriptEngine 2014-05-26 09:59:02 -07:00
ZappoMan
106c8bffd8 first cut at animations in models 2014-05-09 16:08:06 -07:00
AndrewMeadows
05e5277084 Merge pull request #2764 from ZappoMan/modelserver
Model Server, Renderer, Scripting, etc
2014-05-01 15:39:12 -07:00
Ryan Huffman
9e684a0bc8 Add registerGetterSetter to remove need for getEngine() 2014-04-30 11:17:36 -07:00
Ryan Huffman
0477706cb9 Add ScriptEngine::getEngine() to get internal QScriptEngine 2014-04-30 09:40:32 -07:00
ZappoMan
aac42058ac first cut at modelserver 2014-04-30 09:25:52 -07:00
Thijs Wenker
c016d6557e - few Adjustments in Application class for Script editor
- Shortkey for script editor (Alt+S)
- highlighter: bold true/false , single line comments
- Run scripts from the editor works
- More icons from Maximillian, Thanks
- Run on the fly checkbox, works if the script is running.
- Load/save features
2014-04-21 05:25:28 +02:00
Stephen Birarda
75f35c5858 optionally add an AvatarHashMap instance to the ScriptEngine 2014-04-17 17:55:16 -07:00
Andrzej Kapolka
38c0e99cbe More work on animation loading. 2014-04-14 18:12:32 -07:00
Andrew Meadows
22d2f84cff merge upstream/master into andrew/scripting 2014-04-09 15:38:56 -07:00
Stephen Birarda
c208af2246 Merge branch 'master' of https://github.com/highfidelity/hifi 2014-04-09 15:10:48 -07:00
Andrew Meadows
f8e66b4e0d remove cruft 2014-04-09 13:05:26 -07:00
Stephen Birarda
ae4b8348a2 fix header include guards via regex 2014-04-09 12:03:17 -07:00
Stephen Birarda
6a51df9e38 initial regex replacement of headers 2014-04-08 17:30:36 -07:00
Andrew Meadows
23c6873d99 Add Uuid object to ScriptEngine 2014-04-07 14:12:29 -07:00
Atlante45
5acc8313ba Manual merge 2014-04-02 18:07:55 -07:00
ZappoMan
c34b64e296 add load script from URL support 2014-03-25 00:17:19 -07:00
ZappoMan
a613da8032 add Script.include() 2014-03-24 21:25:59 -07:00
Stephen Birarda
8c4fad443f allow Agents to microphone audio from Sound objects 2014-03-19 16:14:58 -07:00
Stephen Birarda
54d73d4a64 use floor since round is missing on windows 2014-03-12 17:50:58 -07:00
Stephen Birarda
bd6c42a685 define roundf for use on Win from ScriptEngine 2014-03-12 17:32:52 -07:00
Stephen Birarda
3b653ca542 add a sendAvatarAudioStream option to Agent for mixer load testing, closes #2291 2014-03-12 17:00:12 -07:00
ZappoMan
cfa618d694 cleanup constructors 2014-03-08 23:31:23 -08:00
ZappoMan
374af9eeb5 first cut at flocking birds, change willEmitVisualCallback to update 2014-03-04 14:40:49 -08:00
ZappoMan
d765e250d5 removed AbstractMenuInterface.h 2014-02-25 20:42:59 -08:00
ZappoMan
42ddc82ac4 possible fix to windows assert 2014-02-25 20:23:38 -08:00
Stephen Birarda
ee70c93a3e have scripted avatars send billboard, if they have one 2014-02-25 13:42:07 -08:00