Commit graph

276 commits

Author SHA1 Message Date
Liv
e9fac38bbb Add function hasValidScriptSuffix and check if script extensions are JavaScript or JSON files 2017-05-23 13:08:50 -07:00
Brad Hefta-Gaub
ee6bed5c1c Merge pull request #10189 from Atlante45/fix/memory-leak
Set max packet per second on the agent
2017-05-16 21:03:05 -07:00
humbletim
e765d8858c update script engine to not treat about:* as a local filename; resolve debugPrint FIXME 2017-05-04 16:57:41 -04:00
Atlante45
41cd0d79b2 Set max packet per second on the agent 2017-04-24 10:56:57 -07:00
Stephen Birarda
c63a2c9cda remove requirement of ScriptEngine in ScriptEngines slots 2017-03-20 13:40:15 -07:00
humbletim
87d62ad1eb Merge branch 'master' into 21114-part3 2017-03-16 16:39:37 -04:00
humbletim
52a571558c * changes per CR feedback
* revert JSON content-type workaround
* add specific error check / advice for unanchored module ids
* update unit tests
2017-03-16 01:23:23 -04:00
Stephen Birarda
0c657a1d55 add parameter to unload to remove entityID from map 2017-03-15 10:57:12 -07:00
humbletim
40ba8185a0 * Update per 21114-part2 changes.
* Add explicit thread safety guards.
* Add Entities.queryPropertyMetdata for unit testing Entity script module support.
* Cleanup / commenting pass.
2017-03-07 16:36:07 -05:00
humbletim
9d860a8e81 merge require/module changes into clean branch 2017-03-07 16:34:24 -05:00
humbletim
654c72fb7e Add weakRef guard to detect ScriptEngine deletion during ScriptCache::getScriptContents 2017-02-27 22:58:59 -05:00
humbletim
3ac116545e * Switch trigger for deferred loads from timer to using leading entity completion
* Bring back notion of tracking "bad scripts" to fail stampeding entities as a set
* Update stampede JS tests to highlight/troubleshoot preexisting unload issue
2017-02-24 16:05:11 -05:00
humbletim
c89d203f94 Adapt from std::map locks to simple QHash for flagging busy scriptURLs 2017-02-24 12:27:33 -05:00
humbletim
b15956278c separate out supporting changes into 21114-part2 branch 2017-02-16 07:40:19 -05:00
humbletim
9b0bee92d1 add executeOnScriptThread 2017-02-11 06:21:11 -05:00
humbletim
0f7652e173 * integrate with latest master
* consolidate emit entityScriptDetailsUpdated calls
* limit maxRetries to 1 when isEntityServerScript()
2017-02-11 06:00:31 -05:00
humbletim
831bf93500 * refactor ScriptCache per FIXMEs
* include error details in BatchLoader results
* update EntityServerScript properties in edtior to reflect more granular statuses
* ScriptEngine plumbing in prep for require/module integration
2017-02-11 04:47:31 -05:00
Ryan Huffman
f75eceda65 Add entity PPS per script configuration 2017-02-08 13:11:18 -08:00
Ryan Huffman
9b1cd52fb4 Add the ability to get the context that a script is running in 2017-01-23 08:58:01 -08:00
Ryan Huffman
cbb55a06a0 Update ScriptEngine to store full running status off entity scripts 2017-01-19 13:27:44 -08:00
Brad Hefta-Gaub
4c1aaa376d remove cruft 2017-01-03 11:13:03 -08:00
Brad Hefta-Gaub
d440532cff make sure RPC is timely 2017-01-03 11:10:07 -08:00
Brad Hefta-Gaub
7c7d239e00 first cut at using wait signals to improve RPC timing 2016-12-30 09:13:21 -08:00
Brad Hefta-Gaub
0c22fcb5c4 better handling of timers 2016-12-29 16:41:14 -08:00
Brad Hefta-Gaub
6a7fa63327 classify ScriptEngine errors better, and send them as signal to JS 2016-12-20 09:00:01 -08:00
Seth Alves
576eed9941 use a mutex to avoid a smaller race 2016-11-10 17:12:06 -08:00
Ryan Huffman
dd1a23ea01 Add Script.generateUUID 2016-10-28 13:42:03 -07:00
Anthony J. Thibault
2193c5faad Integrated controller display from tutorial scripts + assets 2016-10-20 18:24:58 -07:00
Thijs Wenker
7e3073e163 fix spelling bugs 2016-09-29 22:13:27 +02:00
Anthony J. Thibault
d015c5cfb5 Merge branch 'master' into feature/hand-controller-web-entity-integration 2016-08-22 14:13:17 -07:00
Seth Alves
87dbfa7e47 add -Wsuggest-override to compile flags and deal with fallout 2016-08-18 09:51:41 -07:00
Anthony J. Thibault
1be434342b Work In Progress snapshot
* Added new PointerEvent type.
* Mouse events are still sent from Application to EntityTreeRenderer, however, EntityTreeRenderer converts them to PointerEvents
* All outgoing signals from EntityTreeRenderer use PointerEvents instead of MouseEvents
* Associated JavaScript entity methods will receive PointerEvents instead of MouseEvents
* Events from handControllerGrab.js to entities are currently broken.
2016-08-12 17:11:59 -07:00
Brad Hefta-Gaub
2d199fe3d0 rename function for better clarity 2016-07-26 08:08:44 -07:00
Brad Hefta-Gaub
83dc9ea6bb punish slow scripts and don't send updates while physics is still loading 2016-07-25 21:46:30 -07:00
Seth Alves
49769f7d29 trying again -- frantic clicking on reload no longer appears to wedge things 2016-05-25 13:39:13 -07:00
Seth Alves
b0ce65ec01 trying to mimic previous behavior more closely 2016-05-25 11:42:06 -07:00
Seth Alves
1ef0f8055b fix grammar in comment 2016-05-20 10:12:59 -07:00
Seth Alves
35065ab05e remove unused setter 2016-05-20 10:12:38 -07:00
Seth Alves
aa58cad93e code review 2016-05-20 09:54:54 -07:00
Seth Alves
9ad488ba7b fix method name to match coding standard 2016-05-19 16:08:44 -07:00
Seth Alves
4e862941cb fix a race when restarting scripts -- avoid the old not-yet-stopped script from being considered the restart script 2016-05-19 14:51:56 -07:00
Zach Pomerantz
7d4276d15f Merge branch 'master' of github.com:highfidelity/hifi into fix/script-thread-dtor 2016-05-16 10:51:23 -07:00
Zach Pomerantz
2140dc77b3 Rename wait and unload in best thread 2016-05-13 16:14:22 -07:00
Zach Pomerantz
36565598a7 Hide script stop behind accessor and fix friendship 2016-05-13 15:52:53 -07:00
Zach Pomerantz
59e4b9c356 Merge branch 'master' of github.com:highfidelity/hifi into fix/shutdown 2016-05-13 15:28:12 -07:00
Zach Pomerantz
70d0ebb91c Consolidate stoppingAllScripts to ScriptEngines::_stopped 2016-05-13 15:24:15 -07:00
Zach Pomerantz
806d06b552 Wait on old entity script engines in threadpool 2016-05-12 17:51:40 -07:00
Zach Pomerantz
7e82494a66 Add cap on entities scripting thread stop time 2016-05-12 17:51:37 -07:00
Zach Pomerantz
2cc788f98d Rename ScriptEngine::wait to match std threading 2016-05-12 17:51:35 -07:00
Zach Pomerantz
820fdf09e2 Remove unused ScriptEngine::_wantSignals 2016-05-12 12:42:29 -07:00
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