Corey Frang
c087cf326a
soundbank tests
2018-06-21 17:00:03 -04:00
Ray Schamp
f5234c777a
Merge pull request #1211 from mzgoddard/broadcast-and-wait-promise
...
yield a tick if broadcastandwait is waiting on threads waiting for a future tick
2018-06-13 15:58:37 -04:00
Michael "Z" Goddard
d161251a9b
yield a thread loop or tick in event_broadcastandwait
...
- yield a thread loop or tick in looks_switchbackdroptoandwait
If all threads broadcastAndWait is watching are "waiting" for a future
frame, yield until the next tick so event_broadcastandwait also defers
to a future frame.
2018-06-12 10:02:28 -04:00
Paul Kaplan
418c3837c6
Merge pull request #1209 from technoboy10/bugfix/gh-1135-bubble-edge
...
Check that bubble bounds do not extend past stage boundaries
2018-06-11 12:14:53 -04:00
Eric Rosenbaum
db7c56e08b
Change function name and comment for clarity
2018-06-07 14:12:23 -04:00
Eric Rosenbaum
1a72512a62
Moving touchingObject into rendered target
2018-06-06 16:34:58 -04:00
Eric Rosenbaum
431d4bd66b
Add when touching hat
2018-06-06 13:39:23 -04:00
Michael "Z" Goddard
84705fc463
replace new Promise(r => r()) with Promise.resolve
...
Promise.resolve is a Promise convenience method that creates a promise
resolved to a given argument like creating a promise with a function
that immediately calls the resolve function with the given value.
2018-06-06 09:53:45 -04:00
Connor Hudson
25290e7f6a
Check that bubble bounds do not extend past stage boundaries
...
For when you can't flip the bubble, but need it to remain on-stage
2018-06-05 15:58:03 -04:00
Eric Rosenbaum
2348d55f14
Use promises to yield
2018-05-31 17:09:47 -04:00
Eric Rosenbaum
46f885fc03
Sound effect and volume blocks request redraw
2018-05-31 16:47:40 -04:00
kchadha
a85f641d25
Merge pull request #1148 from kchadha/stage-layering
...
Layer group ordering.
2018-05-25 09:10:05 -04:00
Paul Kaplan
02041c8218
Merge pull request #1163 from paulkaplan/username-stub
...
Add logged out version of username block
2018-05-24 13:29:47 -04:00
Paul Kaplan
c5cc129821
Add logged out version of username block
2018-05-23 11:30:12 -04:00
Eric Rosenbaum
508ac91b82
Runtime emits key pressed event
2018-05-22 17:24:22 -04:00
Karishma Chadha
38875bc65c
Bubbles should be in the same layer as sprites. Other cleanup.
2018-05-20 19:49:42 -04:00
Karishma Chadha
67b114b9c9
Layer group ordering.
2018-05-15 22:22:44 -04:00
Paul Kaplan
c18d5faafb
Make sure to set the bubble to blank when hiding
2018-05-15 14:38:42 -04:00
Paul Kaplan
b7f3a06fa0
Merge pull request #1133 from paulkaplan/show-hide-vars
...
Add implementations for hiding and showing variables and lists.
2018-05-10 15:34:21 -04:00
Paul Kaplan
47e2264eba
Add opcodes for hiding and showing variables and lists.
...
Note: to get them back into the toolbox, we need to change that in blocks.
2018-05-09 14:25:15 -04:00
Paul Kaplan
f3404f4275
Merge pull request #1128 from paulkaplan/sb2-monitors
...
Import monitors from sb2 files.
2018-05-09 13:52:29 -04:00
Paul Kaplan
6c9ecd9065
Return a new copy of the list for monitors when changes occur
2018-05-09 13:42:53 -04:00
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
9e372916a8
Add comment about sensing block id oddness
2018-05-09 10:52:00 -04:00
Kenny2github
8e9f9e0a30
Add one to index if random costume is current costume
2018-05-09 08:13:04 +08:00
Paul Kaplan
4713f47fb7
Import monitors from sb2 files.
...
Paired with @kchadha on all of this.
2018-05-08 17:06:19 -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
Kenny2github
4419014421
Handle random backdrop
2018-05-05 18:25:18 +08: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
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
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
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
Florrie
8e271c70d0
Implementation + tests for loud? block
2018-04-30 19:50:13 -03:00
Florrie
62b8dd93af
Spec maps for scroll blocks + "implementations"
2018-04-30 17:45:35 -03: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
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
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
Paul Kaplan
393b5d54df
Handle positioning bubbles for empty costumes
2018-04-20 10:45:54 -04:00
Paul Kaplan
54d5be8bba
Do not bother repositioning bubbles for invisible sprites
2018-04-20 10:45:34 -04:00
Paul Kaplan
9782c137bb
Use the new general target visual change for updating bubbles.
2018-04-20 10:44:55 -04:00
kchadha
8739a524eb
Merge pull request #1031 from kchadha/block_serialization_compression
...
Block serialization compression
2018-04-11 19:17:42 -04:00
Paul Kaplan
f29482957c
Change getSkinSize to getCurrentSkinSize for renderer update.
2018-04-10 09:50:18 -04:00
kchadha
d177f4cd0c
Merge pull request #1033 from towerofnix/counter-vm
...
Implement counter blocks
2018-04-09 13:55:35 -04:00
Florrie
797d16be26
Implement counter blocks
2018-04-07 16:02:49 -03:00
Florrie
c57d0c94eb
Add implementation for while
2018-04-07 14:04:00 -03:00
Karishma Chadha
44b1a2f798
List limit should apply to insert block as well.
2018-04-06 15:31:10 -04:00
Karishma Chadha
b436b5fd82
Add a limit to the number of items a list can have. No-op on 'addToList' block if trying to add to a list that is already at the limit.
2018-04-06 11:33:44 -04:00
Florrie
b861c78086
Implement 'get item # of (thing) in (list)'
2018-03-31 13:25:50 -03:00
Paul Kaplan
2d9bd92140
Merge pull request #930 from ericrosenbaum/bugfix/loudness-performance
...
Only measure loudness once per step
2018-03-29 16:27:10 -04:00
kchadha
51306e3492
Merge pull request #963 from towerofnix/foreach-vm
...
Implement for-each block
2018-03-28 10:52:14 -04:00
Paul Kaplan
13641297fd
Merge pull request #996 from paulkaplan/fix-bubble-bounds
...
Position the speech bubble more tightly.
2018-03-23 14:36:52 -04:00
Paul Kaplan
ea534b35ea
Position the speech bubble more tightly.
2018-03-23 10:51:19 -04:00
Florrie
1db4a2c7a7
Compatibility implementation
2018-03-22 18:55:36 -03:00
Paul Kaplan
140094a7ad
Make "when clicked" blocks target dependent.
...
This involves adding a new opcode, event_whenstageclicked, and adding a
method to the blocks container to update the opcode pair depending on
whether the target is the stage. This method is then called in two
places: first after the sb2 import parses the blocks (not done in the
sb2 parsing itself because no other blocks are target specific) and then
again when blocks are shared between targets.
Also added tests for the block container method, and a fixture project
that tests the opcode splitting on sb2 import.
2018-03-20 10:41:50 -04:00
Eric Rosenbaum
2b985fa083
Merge pull request #975 from ericrosenbaum/bugfix/move-volume-to-rendered-target
...
Move volume to rendered target
2018-03-19 16:45:25 -04:00
Chris Willis-Ford
4c0e968bec
Merge pull request #978 from cwillisf/fix-saythink-and-wait
...
Fix say/think and wait
2018-03-19 10:36:01 -07:00
Christopher Willis-Ford
b61c6a8f76
Don't render say/think bubbles during tests
...
This change makes say & think commands work during headless tests.
2018-03-14 16:07:05 -07:00
Eric Rosenbaum
a652156032
Sensing-of block gets target volume
2018-03-13 11:45:11 -04:00
Eric Rosenbaum
f8c2771776
Use target volume, not custom state
2018-03-13 11:43:53 -04:00
Jake Bartles
11e12cca4f
fixed issue 960
2018-03-05 20:15:49 -05:00
Florrie
928df260ff
Fix lint errors
2018-03-05 15:46:54 -04:00
Florrie
defcc45419
Implement foreach block
2018-03-05 15:36:26 -04:00
DD
729fc3d303
Make sprite.costumes private so that I can enforce that when you add costumes, they get assigned a unique ID
2018-02-21 19:59:35 -05:00
Paul Kaplan
8d42db7df8
Merge pull request #925 from LukeSchlangen/fix/rounding-numbers
...
round numbers but break tests
2018-02-08 08:59:54 -05:00
Luke Schlangen
45cf1f685d
add passing unit test
2018-02-07 17:49:18 -06:00
Eric Rosenbaum
33966ba582
Check for runtime.currentStepTime is null
2018-02-06 12:25:44 -05:00
Eric Rosenbaum
0a239005a9
Rename and initialize vars
2018-02-06 11:06:48 -05:00
Eric Rosenbaum
c661ac7cce
Only measure loudness once per step
2018-02-01 19:53:41 -05:00
Eric Rosenbaum
f78ddb2072
Change pitch effect range to -360 to 360
2018-01-31 16:44:54 -05:00
Luke Schlangen
f8dced53dc
round numbers but break tests
2018-01-31 08:23:08 -06:00
Eric Rosenbaum
115184a2a3
Merge pull request #891 from ericrosenbaum/bugfix/audioplayer-clone-state
...
Audio effects state for clones
2018-01-23 11:55:39 -05:00
Eric Rosenbaum
275b0c7944
Get customState but don’t create it
2018-01-22 16:38:45 -05:00
Paul Kaplan
90e9e1c0b0
Merge pull request #889 from paulkaplan/fix-mouse-positions
...
Fix mouse positions for different stage zoom levels
2018-01-17 13:49:23 -05:00
DD
323aafd165
Update VM's model of monitored blocks
2018-01-10 17:57:04 -05:00
Eric Rosenbaum
eca66e9dde
Check for runtime
2018-01-09 19:22:33 -05:00
Eric Rosenbaum
7c0117e9ed
Clones get synced to parent’s sound state
2018-01-09 15:56:58 -05:00
Paul Kaplan
327d1179d9
Update the mouse io to give scratch coordinates and client coordinates
...
Fixes GUI #642 https://github.com/LLK/scratch-gui/issues/642
Fixes GUI #179 https://github.com/LLK/scratch-gui/issues/179
2018-01-09 10:37:16 -05:00
Paul Kaplan
bbcb6bd5b7
Differentiate clamped from non clamped mouse io data (GUI#179)
2018-01-09 09:42:16 -05:00
Paul Kaplan
d6f1c48c08
Add opcodes for new looks reporters with menu for costume number/name
2018-01-04 10:04:54 -05:00
Paul Kaplan
6d90a34ff1
Add setDragMode primitive and unit test
2017-12-29 09:38:21 -05:00
Paul Kaplan
fe51bd6450
Update layering blocks
2017-12-28 14:40:08 -05:00
Paul Kaplan
d001a85571
Add setDragMode primitive and unit test
2017-12-28 12:31:23 -05:00
Eric Rosenbaum
a6d17fcba3
Stop all sounds for all targets
2017-12-20 14:00:23 -05:00
Eric Rosenbaum
8e554245c8
Check for runtime
2017-12-20 10:56:44 -05:00