Commit graph

164 commits

Author SHA1 Message Date
Christopher Willis-Ford
d43749d675 WIP for demo 2017-09-06 00:57:03 -06:00
Christopher Willis-Ford
aaa7784d39 Add methods to fetch scratch-blocks XML and JSON 2017-09-06 00:57:03 -06:00
Christopher Willis-Ford
403adb743c Track extension blocks in the Runtime 2017-09-06 00:57:03 -06:00
Andrew Sliwinski
d1af3ef808 Merge pull request #562 from bigeyex/feature/fix-deleted-clone-sequence-order
Fix the next thread is skipped after clone deleted
2017-08-23 09:51:38 -04:00
DD Liu
a48efe681e tests 2017-07-31 17:57:51 -04:00
DD Liu
cc1678fa9e Also run monitor blocks every frame 2017-07-28 14:38:26 -04:00
DD Liu
3722aefb17 fix greater than hat block click activation, and also event activation which was only on half the time 2017-07-12 15:46:23 -04:00
Paul Kaplan
6fa49b1e7a Merge pull request #629 from marisaleung/develop
ChangeBlock uses id's of variable instead of name.
2017-06-30 08:10:55 -04:00
marisaleung
22f87e32f8 ChangeBlock uses id's of variable instead of name. 2017-06-27 16:28:37 -07:00
Christopher Willis-Ford
06d5994a32 Use targetWasCreated event to clone pen state
Remove explicit cloning of `_customState` in favor of smarter,
state-specific cloning.
2017-06-16 14:22:51 -07:00
Chris Willis-Ford
d41997b58b Merge pull request #556 from cwillisf/wedo2-blocks
Add WeDo 2.0 blocks
2017-06-07 09:57:36 -07:00
DD Liu
809760b954 Merge branch 'develop' into immutableState 2017-05-26 13:50:50 -04:00
Christopher Willis-Ford
2625529ebe Create WeDo 2.0 device communication classes 2017-05-24 16:40:55 -07:00
Chris Willis-Ford
3970883e45 Merge pull request #549 from cwillisf/device-manager-client
Device manager client
2017-05-24 14:43:28 -07:00
DD Liu
18282fc1d0 remove get for records 2017-05-24 16:33:22 -04:00
DD Liu
1902848ea4 Switch to ordered maps of monitor records for monitor state 2017-05-24 15:42:29 -04:00
DD Liu
acdc783f27 emit immutable 2017-05-22 17:31:53 -04:00
DD Liu
48c51ab2ec switch to nested immutables state 2017-05-19 17:28:00 -04:00
DD Liu
9645a513b1 Only send monitor update on change 2017-05-19 12:28:05 -04:00
DD Liu
adc60001ee Merge branch 'develop' into updateMonitorsAction 2017-05-18 16:50:34 -04:00
Paul Kaplan
2c4361b830 Fix refreshTargets race condition 2017-05-16 09:20:52 -04:00
DD Liu
f1208720f6 restore things lost in bad merge 2017-05-15 16:25:34 -04:00
DD Liu
65d998f473 attach issue to todo 2017-05-15 10:47:36 -04:00
DD Liu
dcdb806b57 fix merge more 2017-05-15 10:45:20 -04:00
DD Liu
4cfedc8d9d fix merge conflicts 2017-05-15 10:18:48 -04:00
DD Liu
9060a35350 Merge branch 'develop' into updateMonitorsAction 2017-05-15 10:16:12 -04:00
DD Liu
6ee1e6614c Remove leftover instances of MONITORS_ADDED and MONITORS_REMOVED, change updateMonitor to requestUpdateMonitor, update some todos with tracking numbers. 2017-05-15 10:12:25 -04:00
Ray Schamp
20337b53f2 Stop emitting SPRITE_INFO_REPORT
Instead, set the `_refreshTargets` flag, and emit a full target list at the end of the step.
2017-05-12 11:42:22 -04:00
Wang Yu
6ec231db9d Fix the next thread is skipped after clone deleted
Problem:
When a clone is deleted, its thread is removed from the thread
list; but the index "i" in the execution for-loop will still +1,
making the next thread skipped.

Changes:
Added a flag "isKilled" on a thread;
Set the flag when a thread is removed from the thread list;
reduce the "i" counter if the thread of the current loop is removed.
2017-05-12 14:01:37 +08:00
DD Liu
7a1b3eccd0 fix Object.values is not a function test 2017-05-11 17:28:48 -04:00
DD Liu
2a7f3edda6 Fix some issues: 1. Monitors not running anymore if you change categories 2. Visual reports not showing 3. threads acquiring properties of old thread when restarting thread 2017-05-11 17:12:19 -04:00
DD Liu
6b774c58f5 Update some comments 2017-05-11 15:23:11 -04:00
DD Liu
1ea69dd504 Rename functions to be less wordy 2017-05-11 10:20:33 -04:00
DD Liu
b2e0a632e3 add add monitor action 2017-05-10 17:00:08 -04:00
DD Liu
b1355c6b0b Fire remove monitors VM event 2017-05-10 15:47:06 -04:00
DD Liu
4687fe41fe don't show green flag when monitor running 2017-05-10 14:06:02 -04:00
DD Liu
4ae1321252 indicate show visual report or update monitor on the thread 2017-05-09 17:34:13 -04:00
DD Liu
35a208d1d3 make it possible for VM to emit update monitors action 2017-05-09 12:10:11 -04:00
DD Liu
26a5098347 don't show visual report when monitor is running 2017-05-08 16:51:45 -04:00
DD Liu
706e112082 Add a block container for monitors that will run in the sequencer 2017-05-08 15:45:55 -04:00
Christopher Willis-Ford
f3c6be2881 Add an I/O device to represent the Device Manager 2017-04-28 13:40:13 -07:00
Ray Schamp
a4f095db5e Use ES6 style classes 2017-04-17 19:42:48 -04:00
Ray Schamp
e01c4ae108 Pass with --fix 2017-04-17 15:10:04 -04:00
Chris Willis-Ford
a4aa3810ae Merge pull request #462 from griffpatch/optimise/reduceGetBlockCalls
Optimise reducegetblockcalls
2017-04-03 13:00:05 -04:00
griffpatch
220d854f28 Merge remote-tracking branch 'refs/remotes/LLK/develop' into optimise/reduceGetBlockCalls
# Conflicts:
#	src/engine/execute.js
2017-03-22 08:58:01 +00:00
griffpatch
a5ce0f60cf Merge remote-tracking branch 'refs/remotes/LLK/develop' into optimise/reduceGetBlockCalls 2017-03-22 07:56:04 +00:00
Christopher Willis-Ford
c23e9c6bf8 Load projects & costumes through scratch-storage
This also sets up the framework to load sounds through scratch-storage,
to be finished in a later change.
2017-03-09 11:25:55 -08:00
Ray Schamp
d0cd9cd897 Add methods for dragging and dropping sprites
* Add `getTargetIdForDrawableId` to translate between renderer picks and VM targets
* Add `startDrag` to stop sprite motion while dragging
* Add `stopDrag` to return sprite motion after dragging
2017-03-03 09:43:31 -05:00
Chris Willis-Ford
a56db95aba Merge pull request #446 from magmaboat/hasownproperty
Perform hasOwnProperty validation
2017-02-22 13:55:54 -08:00
Christopher Willis-Ford
18107cde7b Reverse target iteration in allScriptsDo
The `allStacksAndOwnersDo` function in Scratch 2.0 runtime iterates
targets in reverse and projects sometimes rely on that for correct
initialization. If, for example, each sprite runs a "go back 999 layers"
or "go to front" block as its first action, the order of execution will
determine the ordering of the layers.

This change makes Scratch 3.0 match the Scratch 2.0 execution order.
2017-02-13 14:45:29 -08:00