Commit graph

1419 commits

Author SHA1 Message Date
Paul Kaplan
7d0121bc44 Return lists as arrays if running for monitors.
This is a strange quirk of the way the list blocks work, they get joined into a string for interoperability within other other scratch blocks. But for monitors, we need it to stay an array.
2018-05-09 12:24:01 -04:00
Paul Kaplan
36a01cf0cb Fix clearing monitor state 2018-05-09 12:06:24 -04:00
Paul Kaplan
6793349898 Do not stringify reported monitor values.
Consulted @fsih, should be fine since formatting is being handled in the GUI anyway.
2018-05-09 11:39:14 -04:00
Paul Kaplan
cc1314d289 Clear out monitor state on vm.clear
Fixes https://github.com/LLK/scratch-gui/issues/1848
2018-05-09 11:34:01 -04:00
Paul Kaplan
f01558b74e Address comments from @kchada review 2018-05-09 11:08:49 -04:00
Paul Kaplan
9e372916a8 Add comment about sensing block id oddness 2018-05-09 10:52:00 -04:00
kchadha
cf8ad388de
Merge pull request #1122 from Kenny2github/develop
Handle random backdrop menu option
2018-05-09 10:12:05 -04:00
Kenny2github
8e9f9e0a30 Add one to index if random costume is current costume 2018-05-09 08:13:04 +08:00
DD
b9ce26918d Fix review comments 2018-05-08 18:30:52 -04:00
Paul Kaplan
13dfef553e Fix default value for monitor record 2018-05-08 17:30:39 -04:00
Paul Kaplan
26cfbfe588 Fix stage checking 2018-05-08 17:15:54 -04:00
Paul Kaplan
4713f47fb7 Import monitors from sb2 files.
Paired with @kchadha on all of this.
2018-05-08 17:06:19 -04:00
DD
928245d5c9 Fix Edge 2018-05-08 14:25:32 -04:00
DD
296af1a079 Run quirks mode fixes on costumes loaded from sb2s 2018-05-08 12:03:34 -04:00
Ray Schamp
22852aeab4
Merge pull request #1119 from mzgoddard/recycle-args
Recycle block args
2018-05-08 12:00:29 -04:00
Ray Schamp
b657d6a50f
Merge pull request #1118 from mzgoddard/recycle-stack-frame
Add Thread.StackFrame class
2018-05-08 09:04:16 -04:00
Kenny2github
3f1c4aa2d8 thought I was being smart by using inline assignment, but noooooo 2018-05-08 08:27:51 +08:00
Kenny2github
e3b7f53319 Make sure switched costume is not current costume 2018-05-08 08:21:27 +08:00
Michael "Z" Goddard
8107349bec
Comment BlockCached 2018-05-07 15:32:31 -04:00
Michael "Z" Goddard
2db2287d12
BlockCached instances are always initialized 2018-05-07 15:32:30 -04:00
Michael "Z" Goddard
5fd749918f
Reuse argValues
Block args set by fields are static and never change. Inputs that do
change are always set onto args. With these two assumptions we can
reuse the same objects for each execution of the same block instead of
constantly creating them and letting them be garbage collected.
2018-05-07 15:32:30 -04:00
Michael "Z" Goddard
9b82530f51
Use a constructor to create the execute cache objects 2018-05-07 15:32:30 -04:00
Michael "Z" Goddard
0634e962a8
Add Thread.StackFrame class
Use a private StackFrame class to help internally manage use of Stack
Frame values and memory. Create params, reported, and executionContext
on demand.
2018-05-07 11:20:26 -04:00
Kenny2github
4419014421 Handle random backdrop 2018-05-05 18:25:18 +08:00
Michael "Z" Goddard
ff7b575114
Dynamically load music extension manifest 2018-05-04 15:47:48 -04:00
kchadha
16c6868779
Merge pull request #1110 from kchadha/sprite-upload
Support for Sprite Upload
2018-05-04 14:56:31 -04:00
Karishma Chadha
3db2083294 Address PR comment. 2018-05-04 14:48:29 -04:00
Karishma Chadha
8cdc9dc2cd Updating vector should make bitmap resolution 1. 2018-05-04 14:39:20 -04:00
Karishma Chadha
0156dd139d Do not delete bitmap resolution property when vector is edited because there are other things that still rely on it. 2018-05-04 13:37:07 -04:00
Karishma Chadha
9b1aa7d7c7 Move comments 2018-05-04 11:00:45 -04:00
Karishma Chadha
55352e88b1 Tests and cleanup of addSprite3 so that .sprite3 format does not need to be nested inside an extra {targets: ...} 2018-05-04 11:00:45 -04:00
Karishma Chadha
9cc34d7406 Fix attribute of block so that it doesn't have errors if referenced target doesn't exist. 2018-05-04 11:00:45 -04:00
Karishma Chadha
adf7571851 Add API to generically validate and add sprite based on validation results. 2018-05-04 11:00:45 -04:00
Michael "Z" Goddard
8e252f2d7d
Use arraybuffer-loader in place of buffer-loader 2018-05-03 18:58:59 -04:00
Eric Rosenbaum
4cee734cde
Merge pull request #1008 from towerofnix/itemnum-vm
Implement "item # of (thing) in (list)" block
2018-05-03 18:08:31 -04:00
Eric Rosenbaum
9979391200
Merge pull request #1085 from ericrosenbaum/feature/key-droppability
Re-write keyboard IO for droppability support
2018-05-03 11:10:24 -04:00
Eric Rosenbaum
49802688dd Move key name strings to top 2018-05-02 15:34:17 -04:00
Eric Rosenbaum
23dd898daf Use obj.map (can’t use obj.values) 2018-05-02 09:52:04 -04:00
DD Liu
5e6873628e
Merge pull request #1082 from fsih/updateBitmap
Add updateBitmap function. getCostume can now serve bitmaps as well as svgs
2018-05-01 17:05:34 -04:00
kchadha
54ee628b27
Merge pull request #1099 from towerofnix/scrollcompat-vm
"Implement" scroll blocks
2018-05-01 15:52:42 -04:00
kchadha
2b6f96ae0a
Merge pull request #1096 from towerofnix/warpspeed-vm
Implement "all at once" block
2018-05-01 15:43:37 -04:00
kchadha
3161831890
Merge pull request #1102 from towerofnix/misc-noop-vm
"Implement" miscellaneous no-op obsolete blocks
2018-05-01 15:42:53 -04:00
Florrie
25bb4bc82c Remove doNothing method 2018-05-01 14:00:34 -03:00
Florrie
97a9b37843 Remove doNothing methods 2018-05-01 13:58:09 -03:00
Florrie
8d13bf3662 Add comment explaining all-at-once 2018-05-01 13:43:32 -03:00
kchadha
ae8c1e0ebf
Merge pull request #1101 from towerofnix/loud-vm
Implement "loud?" block
2018-05-01 10:19:26 -04:00
Eric Rosenbaum
85ac307261 Access key name strings from a getter 2018-05-01 09:01:36 -04:00
Mx Corey Frang
08a992f28d
Add a project to benchmark sensing_touchingobject vs other sprites (#1094) 2018-05-01 08:57:16 -04:00
Mx Corey Frang
dbdee0ca8b
Fix downloadProjectId method (#1093)
* Fix downloadProjectId method

* use .data not .data.buffer
2018-05-01 08:56:22 -04:00
Andrew Sliwinski
326d1c491a
Merge pull request #1086 from mortendybdal/feature/add-sprite-3
Included a function to add sprite 3  to vm
2018-05-01 08:38:08 -04:00
Morten Dybdal
41be65ba4d Fixing js linting issues 2018-05-01 13:23:21 +02:00
Florrie
8c2d023925 Implement set/change stretch blocks 2018-04-30 21:29:34 -03:00
Florrie
fe13f30037 Lint 2018-04-30 21:04:50 -03:00
Florrie
231402fc53 Implement 'hide all sprites' and 'user id' blocks 2018-04-30 21:03:35 -03:00
DD
bd772e5f77 Remove bitmap resolution from svgs 2018-04-30 19:58:48 -04:00
Florrie
8e271c70d0 Implementation + tests for loud? block 2018-04-30 19:50:13 -03:00
Eric Rosenbaum
fbeaec600c Detect arrow keys on Windows Edge 2018-04-30 17:06:23 -04:00
Eric Rosenbaum
64869e5a87 Check for “ “ (the space char) 2018-04-30 17:05:33 -04:00
Florrie
62b8dd93af Spec maps for scroll blocks + "implementations" 2018-04-30 17:45:35 -03:00
DD
78cd327237 Move the place where we divide rotation center by resolution into the VM. Also revert the method of putting data into storage to the one that was convoluted but working 2018-04-30 16:35:24 -04:00
Paul Kaplan
8a9818d0d4
Merge pull request #1098 from paulkaplan/fix-say-bounds
Use renderer bounds instead of stage bounds for positioning bubbles.
2018-04-30 15:14:08 -04:00
Paul Kaplan
6c59ccbe1b Use renderer bounds instead of stage bounds for positioning bubbles.
Instead of using the rendered bounds of the stage (which can be larger than the actual rendering area of the stage due to large costumes), use the `nativeSize` which is the size in scratch coords of the rendering area. Note that `nativeSize` is not the size of the canvas element or anything like that, it is the "logical size", i.e. the [width, height] in scratch coords.
2018-04-30 14:26:25 -04:00
Paul Kaplan
3f97ccc8ce Remove the "optimization" for 2018-04-30 13:40:36 -04:00
Paul Kaplan
e4c109c0c8 Merge branch 'develop' into fix-say-flickering 2018-04-30 13:25:35 -04:00
Florrie
b6cb198144 Implement all-at-once block 2018-04-30 12:18:38 -03:00
Ray Schamp
23e72525bf
Merge pull request #1065 from mzgoddard/push-reported-again
Push reported again. Now with empty boolean support!
2018-04-30 09:36:32 -04:00
kchadha
8e65b3d80f
Merge pull request #1092 from kchadha/refactor-video-io
Refactor Video IO
2018-04-30 09:27:10 -04:00
Karishma Chadha
857f77c511 Addressing PR comments. 2018-04-29 19:52:21 -04:00
DD
9f0f2fcd27 Pass a data uri 2018-04-27 17:23:30 -04:00
Eric Rosenbaum
743135beb4 Merge branch 'develop' of https://github.com/LLK/scratch-vm into feature/key-droppability 2018-04-27 14:59:35 -04:00
Paul Kaplan
ad4f5652e4
Merge pull request #1088 from paulkaplan/fix-say-timing
Track say/thinks per target so they can maintain correct timing.
2018-04-27 11:10:12 -04:00
Paul Kaplan
c2bb1e3123 Add comment to jsdoc typedef where it belongs. 2018-04-27 09:21:38 -04:00
Karishma Chadha
271a19c05d Add runtime/render related functionality back to VM. 2018-04-26 19:17:41 -04:00
DD
b2aa87da77 fix lint 2018-04-26 18:43:49 -04:00
DD
009253a8d1 Code review 2018-04-26 18:34:35 -04:00
DD
3a3d807cba switch polyfill to one that doesn't break tests 2018-04-26 15:14:51 -04:00
DD
c73b06a254 add polyfill 2018-04-26 15:14:51 -04:00
DD
f1e70c430f updateBitmap 2018-04-26 15:14:51 -04:00
Andrew Sliwinski
1ed5d57c98
Merge pull request #1087 from thisandagain/bugfix/974
Cast 'create clone' argument to string
2018-04-26 14:57:32 -04:00
DD
fc36ea5208 Rename getCostumeSvg to getCostume 2018-04-26 13:36:51 -04:00
Karishma Chadha
5f4139cbe4 Use video provider instead of making call to getUserMedia directly. 2018-04-26 13:24:31 -04:00
Paul Kaplan
3019d05181 Fix issue where say bubble flickers during conversation.
The fix for this involves something of hack where we decide whether to use the optimization that prevents "typewriter" style projects (say for 0.05s in a loop) based on the amount of time the block is going to run for. A full fix of this can only be achieved if the text bubble renders synchronously.
2018-04-26 13:03:57 -04:00
Paul Kaplan
50708c15e4 Track say/thinks per target so they can maintain correct timing. 2018-04-26 11:29:24 -04:00
Andrew Sliwinski
218725d771 Cast 'create clone' argument to string. Resolves GH-974 2018-04-26 10:29:29 -04:00
Morten Dybdal
d033271a1f Included a function to add sprite 3 to vm 2018-04-26 10:59:53 +02:00
Eric Rosenbaum
999fb10d15 Re-write keyboard IO for droppability support 2018-04-25 11:58:50 -04:00
Michael "Z" Goddard
1c68b543df
Comment execute's BlocksExecuteCache usage
Explain how BlocksExecuteCache helps speed up execute by storing values from
Blocks and one-time derived values on an object that is released when Blocks is
edited in the editor. The one time created cache object for a block then
simplifies the complexity of later javascript operations to use these stored
values.
2018-04-24 19:05:44 -04:00
Michael "Z" Goddard
02dd9a8c22
Unset justReported after reading its value
Avoid justReported values leaking to other argValues by setting back to the
default null value.
2018-04-24 19:05:20 -04:00
kchadha
cde801bc17
Merge pull request #1075 from kchadha/load-costume-no-metadata
Load costume without metadata
2018-04-23 17:52:04 -04:00
Eric Rosenbaum
2590cf53e7 wip 2018-04-23 17:49:01 -04:00
Andrew Sliwinski
eeab0695d6
Merge pull request #1079 from thisandagain/bugfix/1072
Various refinements to Video Motion extension
2018-04-23 17:04:17 -04:00
Paul Kaplan
f118e912bf
Merge pull request #1081 from paulkaplan/fix-stage-clicks
Activate stage click hats if no other sprites are clicked
2018-04-23 14:47:26 -04:00
Paul Kaplan
978906d926 Activate stage click hats if no other clicks are hit.
Also check the bounds before to make sure clicks are inside the stage bounds.
2018-04-23 14:25:58 -04:00
Andrew Sliwinski
add879ab0a Enable video layer when loading extension. Resolves GH-1072 2018-04-23 13:03:56 -04:00
Andrew Sliwinski
ced4de8995 Flip sort order of sensing object menu in video motion extension. Resolves GH-1074 2018-04-23 13:00:20 -04:00
Andrew Sliwinski
717ac46bbd Reorder video motion blocks. Resolves GH-1073 2018-04-23 12:57:14 -04:00
Karishma Chadha
af7ed61016 Fix bitmap support. In Scratch 3.0, we are defaulting to bitmapResolution = 2 for all costumes. 2018-04-22 21:22:03 -04:00
Karishma Chadha
e1d9df3b1b Undo an unnecessary change from the last commit. 2018-04-20 18:11:14 -04:00
Karishma Chadha
dfa3408add Update sound dataFormat after editing 2018-04-20 14:13:57 -04:00
Andrew Sliwinski
968643ed16
Merge pull request #1069 from thisandagain/bugfix/underscore
Replace extension delimiter with '_'
2018-04-20 11:46:25 -04:00