Paul Kaplan
3b203a2a9b
Merge pull request #1995 from paulkaplan/is-discrete
...
Support isDiscrete flag on monitors
2019-02-13 11:19:51 -05:00
Karishma Chadha
59f58b0284
Merge pull request #1933 from ErikMejerHansen/feature/field_type_support
...
Feature/field type support
2019-02-12 09:59:22 -05:00
Paul Kaplan
6754fa9334
Add isDiscrete to monitor record, update sb2,3 and conversion tests
2019-02-11 11:09:01 -05:00
picklesrus
b904f19c1d
Fix loading broadcast messages with special characters for projects that were converted from 2.0.
2019-02-06 16:58:46 -05:00
Karishma Chadha
4e924bf4b5
Merge pull request #1973 from kchadha/fix-variable-characters
...
Fix variable characters
2019-02-05 17:01:43 -05:00
Karishma Chadha
c796a8b1cc
Merge pull request #1962 from LLK/project-dirty-state-fixes
...
Project dirty state fixes
2019-02-05 16:38:30 -05:00
Karishma Chadha
d91c19434f
Rename util function to be more descriptive. Refactor parameters to remove unused code.
2019-02-04 19:05:28 -05:00
Karishma Chadha
7faddb6c8f
Replace xml-unsafe chars in sb3 variables.
2019-02-04 15:32:01 -05:00
Karishma Chadha
166bc37f6f
Merge pull request #1945 from yokobond/fix-message-variable-name-destruction
...
Escape variable name in XML
2019-02-04 10:10:13 -05:00
Karishma Chadha
13e69bad7b
Code cleanup -- move out duplicate .then
statements after the next .then
(at the higher level)
2019-01-30 16:45:38 -05:00
Karishma Chadha
94cc7e66b6
Remove superfluous runtime not optional warnings.
2019-01-30 15:57:56 -05:00
Karishma Chadha
dfcd09fedc
Stop emitting project changes within 'runtime._step()'. Emit project changes in scenarios that were previously taking advantage of runtime._step()
2019-01-30 10:59:25 -05:00
Karishma Chadha
e276bcc9fd
Emit project changes when actually editing blocks instead of whenever scratch-blocks events are fired.
2019-01-30 10:59:25 -05:00
Karishma Chadha
a9cf509a55
Merge pull request #1941 from kchadha/add-runtime-to-blocks
...
Add reference for `runtime` to blocks container
2019-01-30 10:57:45 -05:00
yokobond
8eee92d41a
Escape variable name in XML
2019-01-25 10:31:33 +09:00
Erik Mejer Hansen
c750957465
Convert lint breakage
2019-01-24 13:21:46 +01:00
Karishma Chadha
e5723e299a
Add runtime to blocks container since it was getting passed in everywhere where it was being referenced. Update calls to blocks constructor.
2019-01-23 18:18:38 -05:00
Karishma Chadha
98b92be2d7
Merge pull request #1928 from kchadha/timer-perf
...
Improve the performance of the timer utilitiy
2019-01-23 11:41:41 -05:00
Karishma Chadha
7588f08f3b
Use sequencer runtime directly instead of doing an extra lookup
2019-01-23 11:33:36 -05:00
Erik Mejer Hansen
ceaa3c7857
Add support extensions to define custom field types.
...
This is done by adding a new element "customFieldTypes" to the extension info structure. Ex:
```
customFieldTypes: {
angleField: {
implementation: { fromJson: options => new AngleField(options) },
output: 'number',
outputShape: 2,
}
}
```
Field types are defined by an implementation that has to match what is expected by ScratchBlocks.Field.register and its output and shape.
src/engine/runtime.js has been updated to handle the new "customFieldTypes"-field:
- Existing (global) field types cannot be overridden
- New fields are "namespaced" to the extension in the same way as opcodes are.
Once the custom field type has been picked up by scratch-vm a "EXTENSION_FIELD_ADDED" event is emitted.
It is then up to the hosting app to call ScratchBlocks.Field.register to register the field type with ScratchBlocks. Ex:
```
vm.addListener('EXTENSION_FIELD_ADDED', fieldInfo => {
this.ScratchBlocks.Field.register(fieldInfo.name, fieldInfo.implementation);
});
```
2019-01-20 21:24:32 +01:00
Eric Rosenbaum
0b251adace
Merge pull request #1763 from evhan55/extensions/disconnect-errors
...
Various fixes to extension disconnect errors
2019-01-18 16:58:45 -05:00
Evelyn Eastmond
7831256044
Change event names to be more descriptive. Fix some typos.
2019-01-16 20:17:19 -05:00
Evelyn Eastmond
7ec9494804
Making corrections based on discussion with ericr.
2019-01-16 15:54:38 -05:00
Evelyn Eastmond
156b1bc21a
Adding new runtime event for intentional peripheral disconnects.
2019-01-16 15:22:58 -05:00
Karishma Chadha
0fa5e9181a
Merge pull request #1839 from mzgoddard/fix-missing-no-param
...
fix: initialize stack frame params for all procedures
2019-01-16 14:06:38 -05:00
Karishma Chadha
325372233d
Improve the performance of the timer utilitiy so that it does not garbage collect multiple times per frame.
2019-01-16 10:09:19 -05:00
Katie Broida
8256b3d5c5
Add early exit for non-existent block
2019-01-15 11:15:23 -05:00
Karishma Chadha
59a865ef47
Create a new addTarget
function on the runtime which populates the targets list as well as the executable targets list.
2019-01-14 11:48:11 -05:00
Karishma Chadha
fbee37e915
Populate executable targets when runtime.targets is populated so that scripts don't run before they are supposed to (e.g. before targets are done getting installed).
2019-01-11 14:52:34 -05:00
Karishma Chadha
85843e5d6f
Fix cloud variable limit
2019-01-07 11:12:47 -05:00
picklesrus
178bdbd81b
Fix typo in comment
2018-12-18 11:01:53 -05:00
Michael "Z" Goddard
bdebfaf823
always pop the stack when the promised value is from the last op
2018-12-17 15:25:26 -05:00
Michael "Z" Goddard
20ff75b776
fix: initialize stack frame params for all procedures
...
A previous change fixed compatibility with Scratch 2 removing 3's
unintentional scope leaking. This furthers that change so that
procedures with no parameters will also not accidentally use values in
other procedure stacks.
2018-12-13 10:51:44 -05:00
Karishma Chadha
e5b00dfd95
Fix issues uncovered where clones were triggering automatically on create.
2018-12-12 13:25:19 -05:00
Karishma Chadha
6c4fb29523
Move tracking of edge activated hat values into target.
2018-12-12 12:05:55 -05:00
Karishma Chadha
19737d4e39
Fix issue where edge-activated hats only run on one sprite when sprite is duplicated or cloned.
2018-12-11 12:28:37 -05:00
picklesrus
ebe06a97d9
Merge pull request #1818 from picklesrus/monitor-vars-project-load
...
Clear out the blocks in dispose. Fixes #1758 where old monitored vari…
2018-12-07 15:08:09 -05:00
picklesrus
3f3c34b43a
Given the bug found with the old approach, fix this by going and deleting all of the monitor blocks for each sprite and the global variables.
2018-12-06 18:59:58 -05:00
Paul Kaplan
23d9c21a0e
Merge pull request #1822 from paulkaplan/fix-list-clones
...
Make duplicateVariable deep copy the array instead of keeping reference.
2018-12-06 09:21:41 -05:00
Paul Kaplan
9e57404222
Merge pull request #1821 from paulkaplan/fix-variable-monitor-switching
...
Fix an issue where the targetId of a monitor could be reassigned
2018-12-06 05:32:11 -05:00
Paul Kaplan
d50504e339
Make duplicateVariable deep copy the array instead of keeping reference.
2018-12-05 16:27:10 -05:00
Paul Kaplan
e0b314d3fb
Fix an issue where the targetId of a monitor could be reassigned
...
This caused a local variable monitor to try running its thread on a different sprite, causing a new local variable to be created with the same monitor id.
2018-12-05 15:02:27 -05:00
Paul Kaplan
ff3391718d
Merge pull request #1815 from paulkaplan/clear-pen-on-dispose
...
Clear the pen layer when runtime dispose happens.
2018-12-05 12:30:24 -05:00
picklesrus
cddcea652b
Clear out the blocks in dispose. Fixes #1758 where old monitored variables were getting kept across project loads
2018-12-05 12:09:12 -05:00
Paul Kaplan
6bd2307c99
Clear the pen layer when runtime dispose happens.
2018-12-04 16:43:31 -05:00
Katie Broida
967cab8f20
Make the wait block's logic and behavior more consistent with Scratch 2 ( #1759 )
2018-12-04 10:35:42 -05:00
Eric Rosenbaum
536305af1b
Remove vestigial device manager ( #1793 )
2018-12-03 15:52:23 -05:00
Karishma Chadha
5917ea571d
Serialize variable isCloud flag to xml.
2018-11-29 22:59:55 -05:00
DD Liu
122443a75f
Merge pull request #1754 from bocoup/handle-infinity
...
Make Scratch 3 comparisons with +/-Infinity match Scratch 2
2018-11-29 14:31:10 -05:00
Karishma Chadha
ff2566fec4
Merge pull request #1778 from kchadha/emit-cloud-data-update
...
Emit cloud data update
2018-11-28 17:23:29 -05:00