Commit graph

465 commits

Author SHA1 Message Date
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
Atlante45
1d498af76e Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-12-04 15:18:25 -08:00
Brad Hefta-Gaub
46556b7fa5 Merge pull request #6513 from huffman/fix-script-race-condition
Fix ScriptEngine setting _isFinished when it shouldn't, causing scripts to accumulate when restarting
2015-12-03 17:17:42 -08:00
Ryan Huffman
4d84362757 Fix ScriptEngine setting _isFinished when it shouldn't 2015-12-01 11:30:56 -08:00
Stephen Birarda
c3f3639374 more spacing adjustments in ScriptEngine.cpp 2015-11-30 15:57:10 -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
David Rowe
e25d4c17e8 Fix InputController (Leap Motion) not able to be created 2015-11-25 09:29:40 +13:00
Brad Hefta-Gaub
5f88d958ab CR feedback 2015-11-23 18:26:15 -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
David Rowe
c72c6a0a47 Make multiline strings from JavaScript's print() readably in log file
Addresses quoting of newline characters as "\n" which was introduced in
Qt 5.5.
2015-11-21 10:44:21 +13:00
Brad Hefta-Gaub
f80a765a29 add Assets.uploadData() and Assets.downloadData() 2015-11-19 17:28:20 -08:00
samcake
d2f3b48637 Merge branch 'master' of https://github.com/highfidelity/hifi into controllers 2015-11-17 17:36:38 -08:00
Brad Hefta-Gaub
2f142eb088 add a receiver example 2015-11-17 13:33:30 -08:00
Brad Hefta-Gaub
32bf81ef0d move MessagesClient to agent 2015-11-17 12:59:12 -08:00
Sam Gateau
5b92929833 Moving the REcordingScriptingInterface into the script-engine and wiiring up in the assignment-client 2015-11-17 09:32:22 -08:00
Eric Levin
a2abc11df1 Merge pull request #6351 from huffman/script-path-resolution
Update script engine path resolution behavior to behave consistently
2015-11-10 14:10:42 -08:00
Ryan Huffman
f6df7e298e Merge branch 'script-path-resolution' into baseball 2015-11-09 14:03:10 -08:00
Atlante45
b15054c1fb Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-09 13:41:06 -08:00
Eric Levin
7700e67734 Merge pull request #6326 from imgntn/entity_params
Add Ability to Pass Parameters When Calling Methods on Entities
2015-11-09 12:17:58 -08:00
Ryan Huffman
b835711266 Update script engine path resolution behavior
The path resolution will now be relative to the script currently
being evaluated *on its initial evaluation.* The previous behavior
was that all paths would be resolved relative to the root script
for client scripts, and inconsistent for entity scripts depending
on the order that scripts were loaded. The entity script situation
was particularly bad because including more than 1 level deep produced
inconsistent results.
2015-11-09 12:04:17 -08:00
Atlante45
55c6706f76 Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-06 13:31:39 -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
Atlante45
0508091130 Rebase fixes 2015-11-03 11:37:57 -08:00
Zach Pomerantz
6bf9a4518a Bail early from ScriptEngine::run if stopped
evaluate() bails anyway, so this will avoid the cost of init().
If run() is invoked from runInThread(), this may avoid a race
where _isRunning is set after it is checked because the check
occured during init().
2015-11-03 11:24:04 -08:00
Stephen Birarda
8cd41b9383 resolve conflicts on merge with huffman/baseball 2015-11-03 11:13:15 -08:00
Ryan Huffman
afffe7f5c6 Merge branch 'master' of github.com:Atlante45/hifi into baseball 2015-11-03 11:10:14 -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
ada32dd260 typo 2015-10-29 19:17:52 -07:00
Stephen Birarda
d03a837263 resolve conflicts on merge with upstream master 2015-10-29 14:28:50 -07:00
Brad Davis
ccbae81dad Merge branch 'master' into HEAD
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-10-29 10:24:38 -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
Atlante45
136747929e Fix typo 2015-10-28 17:11:46 -07:00
Atlante45
7695afec0a Fix ScriptEngine crash 2015-10-28 16:43: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
c0138bd189 Rename check functions and make them static 2015-10-27 12:39:40 -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
ea56f965a4 Lambda conversion fix for windows 2015-10-27 12:11:27 -07:00
Atlante45
3e43a3c345 Some more script checks 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
1c048880ee Lambda conversion fix for windows 2015-10-26 12:27:48 -07:00
Atlante45
8d72fcada5 Some more script checks 2015-10-26 11:33:13 -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
Howard Stearns
e11b0add9a Update safety trampoline with correct arguments. 2015-10-24 15:29:49 -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
734a39f962 Breaking up UserInputMapper, restoring some mappings 2015-10-18 18:58:03 -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
08babecb75 add support for mapping EntityPropertyFlags to QScriptValues and wire in desiredProps 2015-09-17 19:51:21 -07:00
Brad Hefta-Gaub
b16dfb8a9e whitespace repair 2015-09-17 17:41:54 -07:00
Brad Hefta-Gaub
81255c8379 whitespace repair 2015-09-17 17:40:41 -07:00
Brad Hefta-Gaub
6fac447b97 Merge branch 'master' of https://github.com/highfidelity/hifi into getEntityPropertiesPerformance
Conflicts:
	libraries/entities-renderer/src/EntityTreeRenderer.cpp
	libraries/entities-renderer/src/EntityTreeRenderer.h
	libraries/script-engine/src/ScriptCache.cpp
	libraries/script-engine/src/ScriptCache.h
2015-09-16 17:16:57 -07:00
Brad Hefta-Gaub
248107c468 add reload all support for entity scripts 2015-09-16 16:45:26 -07:00
Brad Hefta-Gaub
0a41ab2f41 Merge pull request #5827 from jherico/homer
fix ScriptEngine location property
2015-09-16 15:19:54 -07:00
Brad Davis
cbb8bee962 Trying to fix ScriptEngine location property 2015-09-16 15:00:24 -07:00
Stephen Birarda
5df7ce7424 fix for missing jurisdiction listener in Agent 2015-09-16 11:43:54 -07:00
Brad Hefta-Gaub
016a5e5f0a cleanup comments 2015-09-15 11:52:07 -07:00
Brad Hefta-Gaub
41caa36038 removed some debug code 2015-09-15 11:50:10 -07:00
Brad Hefta-Gaub
6521de8163 rework ScriptEngine and worker thread shutdown 2015-09-15 11:00:05 -07:00
Brad Hefta-Gaub
e92d195030 tweak 2015-09-14 21:18:36 -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
8395fb6eff normalize how ScriptCache::getScript() works relative to ResourceManager 2015-09-11 21:24:39 -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
92a5a999c6 quiet some debug 2015-09-10 19:52:44 -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
f45e182d33 fix CR feedback, add examples 2015-09-10 09:06:56 -07:00
Brad Hefta-Gaub
ede0a39b5b prevent Script.include() from including the same file multiple times 2015-09-09 17:54:09 -07:00
Seth Alves
0c8848a463 don't update _lastSendJointData if we didn't send 2015-09-03 15:41:40 -07:00
Seth Alves
36ca789d92 fix differential avatar-joint sending to work if more than 2 avatars are in the domain 2015-09-03 14:08:04 -07:00
Seth Alves
76923583ee Interface only sends joint data to avatar-mixer if they have changed enough since the last send 2015-09-01 13:31:34 -07:00
Thijs Wenker
0e255f4f3e properly exposed WebSocketClass::ReadyState to the ScriptEngine 2015-08-22 01:59:44 +02:00
Thijs Wenker
d89ecc1e42 Move WebSocketServer to be accessable from Assignment-Client:Agent only. 2015-08-21 22:43:49 +02:00
Thijs Wenker
e43dc3f9fe Completed implementation of WebSocket and WebSocketServer 2015-08-18 03:21:48 +02:00
Thijs Wenker
7c77e0e941 initial WebSocketServer 2015-08-13 18:21:50 +02:00
Thijs Wenker
d10ae4a68d Merge branch 'master' of https://github.com/worklist/hifi into 20638 2015-08-07 21:43:32 +02:00
Thijs Wenker
25266b986c added basic implementation of WebSocket class ( https://developer.mozilla.org/en-US/docs/Web/API/WebSocket ) using QWebSocket 2015-08-07 21:43:14 +02:00