Commit graph

1013 commits

Author SHA1 Message Date
Paul Kaplan
a83c0808a0 Add public API for costume and sound renaming with tests 2017-07-07 08:19:32 -04:00
Chris Willis-Ford
47fc38fd9a Merge pull request #619 from cwillisf/clone-custom-state
Clone custom state
2017-06-27 22:37:30 -07:00
Paul Kaplan
b0fb4f0b55 Merge pull request #614 from marisaleung/develop_cherry-picks
Updated variables and var_fire event listener.
2017-06-23 13:05:03 -04:00
marisaleung
875ccf5b88 Updated variables and var_fire event listener. 2017-06-23 09:57:01 -07:00
Eric Rosenbaum
524d99db65 Merge pull request #621 from ericrosenbaum/feature/remove-most-audio-effects
Remove all audio effects except pitch and pan
2017-06-19 17:11:19 -04:00
Eric Rosenbaum
01f801a2a2 Remove all audio effects except pitch and pan 2017-06-19 14:56:29 -04:00
Christopher Willis-Ford
6275710e47 Add test case for pen state cloning 2017-06-16 16:29:12 -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
Christopher Willis-Ford
04871e24d6 Move RenderedTarget.runtime into Target
Some code in `Target` was already assuming a `runtime` property was
available, so this change just makes it official.
2017-06-16 13:16:13 -07:00
DD Liu
b9aefa780f Merge pull request #611 from fsih/refreshWorkspace
Add ability to refresh workspace for current editing target
2017-06-15 16:40:14 -04:00
DD Liu
2fb502fb70 add ability to refresh workspace for current editing target 2017-06-15 11:53:30 -04:00
Ray Schamp
55b4b3fca7 Merge pull request #609 from rschamp/docs/readme-install
Update README for current process
2017-06-15 11:28:24 -04:00
Ray Schamp
f9708b2046 Update README for current process
The README has gotten a bit out of date and inaccurate. Clarify how to work with scratch-vm in the current state of the project.
2017-06-15 11:26:40 -04:00
Paul Kaplan
93bac9ad85 Merge pull request #608 from paulkaplan/unshadow-variable-dropdown
Use variable field instead of input shadow
2017-06-15 10:02:08 -04:00
Chris Willis-Ford
89db8d3d23 Merge pull request #602 from cwillisf/remember-data-format
Remember data format after image or sound import
2017-06-14 14:09:40 -07:00
Ray Schamp
f3cb892df8 Merge pull request #587 from rschamp/bugfix/npm-install
Pin to `latest` for 3.0 modules
2017-06-14 17:04:38 -04:00
Ray Schamp
908c34bcf4 Merge branch 'develop' into bugfix/npm-install 2017-06-14 17:04:19 -04:00
Paul Kaplan
5df4456c4a Use variable field directly 2017-06-14 16:31:29 -04:00
Christopher Willis-Ford
884ba19aab Add support for older SB3 JSON
If the `dataFormat` field is absent, fall back on the older `assetType`
field. That can at least help us tell if something is a vector or bitmap
image, though it doesn't tell us which kind of bitmap.
2017-06-13 14:56:06 -07:00
Christopher Willis-Ford
1bf1808826 Clarify "flattening" step in SB3 roundtrip test 2017-06-13 13:58:34 -07:00
Christopher Willis-Ford
4b1aad5099 Add test for SB3 serialization round trip 2017-06-12 12:34:51 -07:00
Christopher Willis-Ford
cd1c72c7cc Convert attachTestStorage to makeTestStorage
Rather than assuming that the storage instance will be attached to a VM,
just return it. Callers may attach it to a `VM` or (in the case of
`import_sb2.js`) to a `Runtime`.
2017-06-12 12:34:20 -07:00
Christopher Willis-Ford
88e44c65eb Remember the data format when an asset is imported 2017-06-12 12:31:49 -07:00
Ray Schamp
d9704b23c3 Merge pull request #598 from cwillisf/improve-clone-cleanup
Improve cleanup on clone disposal
2017-06-12 09:45:07 -04:00
Paul Kaplan
f968edec54 Merge pull request #594 from paulkaplan/select-other-sprites-after-delete
Select the last target instead of the first after deleting
2017-06-12 08:41:20 -04:00
Paul Kaplan
9c5d43e9d3 Enhance sprite delete behavior 2017-06-12 08:35:27 -04:00
DD Liu
fb986effe6 Merge pull request #593 from fsih/fixWaitCalledEveryFrame
Change wait to use a promise instead of being called every frame
2017-06-08 15:35:48 -04:00
Christopher Willis-Ford
6320fd72c3 Add test for clone cleanup
This new test verifies that clones and their associated threads are
cleaned up properly by the `delete this clone` block. The clones run two
stacks each: one which waits and then deletes the clone, and another
which includes a `forever` loop: this is to verify that the thread
running the `forever` loop is ended when the clone itself is deleted.
The project does this with two batches of clones to ensure there are no
problems with reusing array indices previously occupied by now-removed
threads or clones.
2017-06-08 11:16:29 -07:00
Christopher Willis-Ford
454082b569 Improve cleanup on clone disposal
The `dispose()` method on `RenderedTarget` now:
- informs the runtime that it should end any threads corresponding the
  target being disposed, and
- removes the clone from its sprite.
2017-06-07 17:05:24 -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
Paul Kaplan
40345384aa Select the last target instead of the first 2017-06-07 09:06:46 -04:00
DD Liu
e237d24846 fix lint 2017-06-06 10:21:27 -04:00
DD Liu
ab0cef52eb Change wait to use a promise instead of being called every frame 2017-06-05 16:55:15 -04:00
Ray Schamp
ecf535f4c3 Merge pull request #579 from cwillisf/load-jpeg-backdrops
Specify dataFormat when loading asset for import
2017-06-02 09:06:37 -04:00
Ray Schamp
467b747283 Bump scratch-storage version
Now 0.2.0 is the lowest compatible version.
2017-06-02 08:57:21 -04:00
Ray Schamp
d3a4a7b81a Pin to latest for 3.0 modules
Reverts #551

Pinning to `^0.1.0.prerelease.0` is not equivalent to `latest`, since has the effect of not installing the latest version on `npm install`, you have to also do `npm update`. This hurts us ergonomically on `npm install`, and doesn't help us since we already are releasing breaking changes on `prerelease`.
2017-06-01 12:31:24 -04:00
Ray Schamp
adcd225598 Merge pull request #584 from rschamp/nit/no-useless-call
Fix no-useless-call todo
2017-06-01 09:48:58 -04:00
DD Liu
d3d82bae69 Merge pull request #574 from fsih/immutableState
Only send update monitor events when changes happen
2017-05-30 12:38:09 -04:00
Ray Schamp
b810b7be0a Merge pull request #583 from rschamp/bugfix/save-clones-bad
Don't serialize clones when saving
2017-05-30 10:24:52 -04:00
DD Liu
875eba568b fix file name in test 2017-05-30 10:24:09 -04:00
DD Liu
55f677702a add missing file 2017-05-30 10:05:13 -04:00
Paul Kaplan
51928bac65 Merge pull request #581 from paulkaplan/feature/variable-persistence
Add variable creation and variable serialization
2017-05-30 09:26:37 -04:00
DD Liu
809760b954 Merge branch 'develop' into immutableState 2017-05-26 13:50:50 -04:00
Paul Kaplan
3e9dfde43f Merge pull request #576 from paulkaplan/feature/monitor-labels
Send monitor opcode and block params instead of fixed label/categories
2017-05-26 11:07:58 -04:00
Paul Kaplan
77cc01a38a Add variable creation and variable serialization 2017-05-25 11:44:49 -04:00
Christopher Willis-Ford
cbfbc5d600 Convert motor duration: seconds -> milliseconds
The block takes seconds, whereas the device takes milliseconds. Turning
on a motor for 1 millisecond isn't very dramatic.
2017-05-24 16:40:55 -07:00
Christopher Willis-Ford
06fe701624 Implement WeDo 2.0 blocks 2017-05-24 16:40:55 -07:00
Christopher Willis-Ford
2625529ebe Create WeDo 2.0 device communication classes 2017-05-24 16:40:55 -07:00
Christopher Willis-Ford
eb931fd99b Specify dataFormat when loading asset for import
When importing a project we know the file extension for each asset to be
loaded. This change provides that information to the storage system so
that we can load assets which don't use the default. For example, this
allows loading JPG-format backdrops.

In support of this change, there's a new function on `StringUtil` called
`splitFirst`, which splits a string on the first instance of a separator
character. This change includes unit tests for this new function.
2017-05-24 15:35:10 -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