Skip to content

Merge upstream #248

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 222 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
6aebf22
Text Dropdowns (vm Part) (#1)
LilyMakesThings Feb 11, 2024
398f0dc
Add BlockType.INLINE (#2)
LilyMakesThings Feb 11, 2024
fc02f89
"all at once" reimplementation (ScratchBlocks Part) (#3)
LilyMakesThings Feb 11, 2024
cd3bb5e
Fix allAtOnce in compiler.
LilyMakesThings Feb 12, 2024
1b4127d
Fix allAtOnce in compiler (again)
LilyMakesThings Feb 12, 2024
81def27
Fix allAtOnce in compiler (for the final time)
LilyMakesThings Feb 12, 2024
5b432b3
Update extension-manager.js (#4)
LilyMakesThings Feb 12, 2024
5a1d7c5
ArgumentType.VARIABLE (vm part) (#5)
LilyMakesThings Feb 12, 2024
d2c123f
Allow custom variable declaration
LilyMakesThings Feb 12, 2024
41e7ef0
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Feb 12, 2024
fdebbe0
Remove semicolon
LilyMakesThings Feb 12, 2024
44cb449
Remove variable default name
LilyMakesThings Feb 12, 2024
0e8c4f5
Make some compatibility changes for ArgumentType.VARIABLE (#6)
LilyMakesThings Feb 13, 2024
14698f8
Typo
LilyMakesThings Feb 13, 2024
7df93a0
Typo
LilyMakesThings Feb 13, 2024
f0830c5
variableTypes > variableType
LilyMakesThings Feb 13, 2024
0bbdb3e
variableTypes > variableType
LilyMakesThings Feb 13, 2024
a90754d
is TurboWarp? > is Unsandboxed? (#9)
LilyMakesThings Feb 13, 2024
175df9d
Update Unsandboxed blocks
LilyMakesThings Feb 13, 2024
5e3bcc7
Allow Interpolation to be enabled on individual targets (#10)
LilyMakesThings Feb 14, 2024
682b5e8
illegal
LilyMakesThings Feb 14, 2024
ee2bbb4
Add acceptReporters to (some) argument types (#11)
LilyMakesThings Feb 14, 2024
db687f3
add number dropdowns
LilyMakesThings Feb 14, 2024
4151c5b
fix typo
LilyMakesThings Feb 14, 2024
776515f
Fix conditions for this
LilyMakesThings Feb 14, 2024
8035d08
typo
LilyMakesThings Feb 14, 2024
8c0bc40
Remove limits and fencing by default
LilyMakesThings Feb 15, 2024
5ae81cd
Add new blocks + Overhaul palette (vm part) (#7)
LilyMakesThings Feb 15, 2024
0f45f9c
Fix new blocks (Part 1/?) (#12)
LilyMakesThings Feb 15, 2024
efefa58
Fix new blocks (Part 2/2) (#13)
LilyMakesThings Feb 15, 2024
6bcd397
Add in-built camera (part 1)
LilyMakesThings Feb 15, 2024
fb3ba9c
Update jsgen.js
LilyMakesThings Feb 15, 2024
3904b7f
Update jsgen.js
LilyMakesThings Feb 15, 2024
9e73f53
Incorporate all camera properties (#15)
LilyMakesThings Feb 16, 2024
c7f03ba
Update runtime.js
LilyMakesThings Feb 16, 2024
9265046
Update virtual-machine.js
LilyMakesThings Feb 16, 2024
61e8f5e
Camera support (#16)
LilyMakesThings Feb 16, 2024
9e98bf2
Fix typos + old transform
LilyMakesThings Feb 16, 2024
8118016
Fix mouse positions (#17)
LilyMakesThings Feb 16, 2024
e96f162
More mouse fixes
LilyMakesThings Feb 16, 2024
51e7576
fix mouse again
LilyMakesThings Feb 16, 2024
74c4dea
Create camera.js
LilyMakesThings Feb 16, 2024
5d507d7
Rename camera.js to scratch3_camera.js
LilyMakesThings Feb 16, 2024
df01214
Update compat-blocks.js
LilyMakesThings Feb 16, 2024
b4c6182
Update runtime.js
LilyMakesThings Feb 16, 2024
0e6eef3
wrong name
LilyMakesThings Feb 16, 2024
53804e0
Add camera blocks to vm (#18)
LilyMakesThings Feb 16, 2024
d89117c
Fix camera in vm
LilyMakesThings Feb 16, 2024
6bf14ab
Update compat-blocks.js
LilyMakesThings Feb 16, 2024
f880b12
Update jsgen.js
LilyMakesThings Feb 16, 2024
3a2ed58
Update irgen.js
LilyMakesThings Feb 16, 2024
98d5ac0
expose some more utils
LilyMakesThings Feb 16, 2024
2906f32
Update tw-extension-api-common.js
LilyMakesThings Feb 16, 2024
ddab02e
Add getEffect for target
LilyMakesThings Feb 17, 2024
fde332e
Update scratch3_looks.js
LilyMakesThings Feb 17, 2024
7c0bd3d
adjustment
LilyMakesThings Feb 17, 2024
f3fc285
Update jsgen.js
LilyMakesThings Feb 17, 2024
20f8f50
reset camera when runtime is disposed
LilyMakesThings Feb 17, 2024
3f80f94
Add interpolation to the camera (#19)
LilyMakesThings Feb 17, 2024
e0ddba2
define camera
LilyMakesThings Feb 17, 2024
7c0c126
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Feb 17, 2024
974b57a
Rewrite camera (#20)
LilyMakesThings Feb 17, 2024
fda9173
oops
LilyMakesThings Feb 17, 2024
4e49a06
Next batch (#21)
LilyMakesThings Feb 17, 2024
82ea6c4
call super
LilyMakesThings Feb 17, 2024
d937b28
Wrap clamp the color effect value (#22)
LilyMakesThings Feb 17, 2024
dd45612
fix typo
LilyMakesThings Feb 18, 2024
5e63628
Next batch (#23)
LilyMakesThings Feb 18, 2024
4266347
ArgumentType.LABEL (#8)
LilyMakesThings Feb 21, 2024
3617582
Hat parameters (#24)
LilyMakesThings Feb 22, 2024
c478b46
Fix hat parameters (#25)
LilyMakesThings Feb 22, 2024
8fb7255
push hat parameters after threads are set up
LilyMakesThings Feb 22, 2024
4f458eb
Handle new dropdown options (#27)
LilyMakesThings Feb 23, 2024
a63276a
Fix new rotation style
LilyMakesThings Feb 23, 2024
9c4d064
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Feb 23, 2024
8fe3835
Support all the new operator/string blocks (#28)
LilyMakesThings Feb 24, 2024
085ea53
Typo
LilyMakesThings Feb 24, 2024
a8a317d
Support new blocks in compiler (#29)
LilyMakesThings Feb 24, 2024
9678fac
Various compiler fixes (#30)
LilyMakesThings Feb 24, 2024
fb6c7b1
More fixes for the compiler (#31)
LilyMakesThings Feb 24, 2024
6dfb24e
Incorporate new Object and Array types (#32)
LilyMakesThings Feb 25, 2024
e972ebf
bare minimum compat (#33)
LilyMakesThings Feb 25, 2024
42c2cd6
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Feb 29, 2024
9ab9896
Incorporate more camera into the default blocks (#35)
LilyMakesThings Mar 1, 2024
79667d6
fix an oversight
LilyMakesThings Mar 1, 2024
6dc9e31
add _camera_ to the "distance to" menu
LilyMakesThings Mar 1, 2024
350c27e
fix a silly syntax error
LilyMakesThings Mar 1, 2024
c6991b9
Add an extra note for distance
LilyMakesThings Mar 1, 2024
8657f0d
Add extra distance calc to compiler too
LilyMakesThings Mar 1, 2024
f3612be
Boring compiler compatibility for broken blocks (#36)
LilyMakesThings Mar 4, 2024
b24fe6a
Fix minor oversight
LilyMakesThings Mar 8, 2024
64b90a5
Various changes
LilyMakesThings Mar 8, 2024
4009cfd
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Apr 17, 2024
8e9a18b
Update sb3.js
LilyMakesThings Apr 21, 2024
8ca425d
Update sb3.js
LilyMakesThings Apr 21, 2024
5555a85
Remove some unnecessary junk
LilyMakesThings Apr 21, 2024
88d053d
Update scratch3_event.js
LilyMakesThings Apr 21, 2024
c39ed7b
Update scratch3_operators.js
LilyMakesThings Apr 21, 2024
c4e7ca7
Fix some formatting and unused stuff
LilyMakesThings Apr 21, 2024
703d08c
Update compat-blocks.js
LilyMakesThings Apr 21, 2024
7a4c69b
Update irgen.js
LilyMakesThings Apr 21, 2024
aa6c005
Update irgen.js
LilyMakesThings Apr 21, 2024
9cfd091
Update jsgen.js
LilyMakesThings Apr 21, 2024
7ec34b3
Update jsgen.js
LilyMakesThings Apr 21, 2024
876c8a4
Update camera.js
LilyMakesThings Apr 21, 2024
3dbd30f
Expose more utils (#39)
LilyMakesThings Apr 27, 2024
5cc3862
Add BLE and BT to vm
LilyMakesThings Apr 27, 2024
9688278
I might be an idiot
LilyMakesThings Apr 27, 2024
af51643
Update virtual-machine.js
LilyMakesThings Apr 27, 2024
bdac43d
Update tw-scratchx-compatibility-layer.js (#40)
LilyMakesThings Apr 30, 2024
e3708b6
Update sb3.js (#41)
LilyMakesThings May 2, 2024
a827732
Reimplement MenuState (#43)
LilyMakesThings May 17, 2024
ecc638e
Update extension-manager.js (#44)
LilyMakesThings May 17, 2024
5fd6aec
API for custom context menus (#45)
LilyMakesThings May 17, 2024
abf565d
pending monitors
LilyMakesThings May 19, 2024
4636460
fix conflicts
LilyMakesThings May 19, 2024
b6fd6f0
Merge branch 'TurboWarp-develop' into develop
LilyMakesThings May 19, 2024
0e8869e
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings May 24, 2024
76f22f0
Add option to lock lists (#47)
LilyMakesThings May 27, 2024
57c70b4
Update package.json
LilyMakesThings May 27, 2024
ab72f6a
remove locking from serialization
LilyMakesThings May 27, 2024
f947c9f
Update sb3.js
LilyMakesThings May 27, 2024
f5b66e5
Fix saving (#48)
LilyMakesThings May 27, 2024
2c9059f
rebuild
LilyMakesThings May 29, 2024
30f9379
remove submodule
LilyMakesThings May 29, 2024
90241aa
something went horribly wrong here
LilyMakesThings May 29, 2024
b04cdf9
Update sb3.js
LilyMakesThings May 29, 2024
784c08b
Update tw-platform.js
LilyMakesThings May 29, 2024
da14a00
Update sb3.js
LilyMakesThings May 29, 2024
17c7a9c
random change to start workflow i know this isnt smart
LilyMakesThings May 29, 2024
0ea1165
Update package.json
LilyMakesThings May 29, 2024
2a25555
another ditch attempt
LilyMakesThings May 29, 2024
2d88620
add back camera and string to core exts
LilyMakesThings May 29, 2024
72fe25f
remove locked state from xml
LilyMakesThings May 29, 2024
714c9aa
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Jun 2, 2024
039c4e0
export value type in visual report (#49)
LilyMakesThings Jun 5, 2024
73bef55
Shut up eslint (#50)
yuri-kiss Jun 17, 2024
d240bf8
Keep args.stringNumber and args.paramater
AshimeeAlt Sep 19, 2024
d73611c
Actually delete args.stringNumber
AshimeeAlt Sep 19, 2024
75ced47
iwnafhwtb for runtime
AshimeeAlt Sep 20, 2024
97689b9
Block shape support
AshimeeAlt Sep 20, 2024
abe5f46
Export ScratchBlocksConstants
AshimeeAlt Sep 20, 2024
ba574fa
Mutator and output options
AshimeeAlt Sep 20, 2024
5a9b186
Inline support in the compiler
AshimeeAlt Sep 20, 2024
a0d43b0
branch on end support (compiler part)
AshimeeAlt Sep 20, 2024
56a43ad
USB object and array shape support
AshimeeAlt Sep 20, 2024
c63ff1f
ESLint
AshimeeAlt Sep 20, 2024
5f02467
Merge branch 'develop' into vm-update
yuri-kiss Sep 20, 2024
600b2b3
Merge pull request #38 from Unsandboxed/vm-update
yuri-kiss Sep 20, 2024
c05f1c7
Fix ESLint (final?)
AshimeeAlt Sep 20, 2024
7038579
Fix locked state not saving (2/2)
AshimeeAlt Sep 20, 2024
b94433c
Tooltips and warnings (VM part)
AshimeeAlt Sep 20, 2024
baae535
Export extensions to VM automatically
AshimeeAlt Sep 20, 2024
c9e38ce
Don't Cast objects to string (temporary fix)
yuri-kiss Sep 20, 2024
0e0f344
bro actually commited wrong branch push
AshimeeAlt Sep 20, 2024
3b64614
Merge pull request #54 from Unsandboxed/block-shapes
yuri-kiss Sep 21, 2024
18a91c9
Fix obj ser for vars
AshimeeAlt Sep 21, 2024
03be4ef
DIsable tests (for now)
yuri-kiss Sep 21, 2024
c92a97e
VM: JSON (#34)
LilyMakesThings Sep 21, 2024
1022ef0
Update deps
AshimeeAlt Sep 21, 2024
c08c433
Update jsgen.js
LilyMakesThings Sep 21, 2024
998938f
Update jsgen.js (#57)
LilyMakesThings Sep 21, 2024
cea92b7
use correct casting calls
LilyMakesThings Sep 21, 2024
837fa97
adding these for debugging
LilyMakesThings Sep 21, 2024
c465cc9
more logs
LilyMakesThings Sep 21, 2024
6c42cb1
Update jsgen.js
LilyMakesThings Sep 21, 2024
df56030
Update jsgen.js
LilyMakesThings Sep 21, 2024
9c514e8
another console log yay
LilyMakesThings Sep 21, 2024
3138c04
some more console logs :(
LilyMakesThings Sep 21, 2024
4057cbc
Update cast.js
LilyMakesThings Sep 21, 2024
a0a27e6
remove logs
LilyMakesThings Sep 21, 2024
c2dc96c
Update jsgen.js
LilyMakesThings Sep 21, 2024
fe1a242
Fix object support in the compiler
AshimeeAlt Sep 21, 2024
fe2d058
Merge branch 'develop' into json-compiler
yuri-kiss Sep 21, 2024
e4726c5
Merge pull request #58 from Unsandboxed/json-compiler
yuri-kiss Sep 21, 2024
3a679c7
remove residual console logs
LilyMakesThings Sep 21, 2024
844042f
Add a lot of optional logging and fix lilys mistake
AshimeeAlt Sep 22, 2024
95dae8d
Fix missing quotes and new pen blocks
AshimeeAlt Sep 22, 2024
96b3934
JSON: New list reporters (VM) (#60)
LilyMakesThings Sep 22, 2024
1a20823
JSON: "Set list to array" block (VM) (#62)
LilyMakesThings Sep 23, 2024
31922ee
Exportsgit add .!
AshimeeAlt Sep 23, 2024
9c9e4f1
Use depended
AshimeeAlt Sep 23, 2024
3036ebd
add camera events
LilyMakesThings Sep 23, 2024
316524f
Camera event changes (#63)
LilyMakesThings Sep 24, 2024
bdd4ac4
oops
LilyMakesThings Sep 24, 2024
e44204e
Update camera.js
LilyMakesThings Sep 24, 2024
6d4647b
Update depended
AshimeeAlt Sep 25, 2024
9a9f6f1
Merge branch 'TurboWarp:develop' into develop
LilyMakesThings Oct 4, 2024
d49d0eb
first batch (#67)
LilyMakesThings Oct 4, 2024
4a56912
Allow `refreshBlocks()` to specify extension
FurryR Oct 6, 2024
42dacc0
Add "Break" and "Continue" (#68)
LilyMakesThings Oct 7, 2024
4bba060
isUnsandboxed (part 1 / 2)
yuri-kiss Oct 7, 2024
1dc43c4
isUnsandboxed (part 2 / 2)
yuri-kiss Oct 7, 2024
b40135d
(Make this isUSB)
yuri-kiss Oct 7, 2024
4655ee1
Simple temporary storage
yuri-kiss Oct 10, 2024
bd1e2f6
Add 'isBreakable' support to stackFrame
AshimeeAlt Oct 12, 2024
9c192db
isBreakable support (compiler and changes) 1 / ?
AshimeeAlt Oct 12, 2024
1d607a7
isBreakable support (intepreter and finish compiler)
AshimeeAlt Oct 12, 2024
2cffe10
fix break
LilyMakesThings Oct 13, 2024
259417e
Insult it cuz it sucks
AshimeeAlt Oct 13, 2024
75978ea
isIterable
AshimeeAlt Oct 13, 2024
98838dc
finalize isIterable
AshimeeAlt Oct 13, 2024
4671aa7
Fix oversight in break block (allow isIterable's to be broken)
AshimeeAlt Oct 13, 2024
53ee8a9
i forgot to default to 60 here oops
LilyMakesThings Oct 17, 2024
a7bfc99
Initial preload
yuri-kiss Oct 18, 2024
6435bc7
isPremature
yuri-kiss Oct 18, 2024
cb529c3
Add the grabbing method
yuri-kiss Oct 18, 2024
58d74b7
Actually, we will make Scratch.gui be added <3
yuri-kiss Oct 18, 2024
e92c8ed
Merge pull request #70 from Unsandboxed/scratchload
yuri-kiss Oct 18, 2024
0e4692b
color4 support :party: yay
yuri-kiss Nov 1, 2024
f561db8
Merge pull request #71 from TurboWarp/develop
yuri-kiss Nov 4, 2024
da952f8
Custom Scratch like object (Unsandboxed :3)
AshimeeAlt Nov 6, 2024
23d948d
Pause support :3
AshimeeAlt Nov 6, 2024
72f43c9
Finalize setStatus and finish setPause
AshimeeAlt Nov 6, 2024
510240e
Individual target pausing support
AshimeeAlt Nov 6, 2024
17106b7
Fix pause support and add thread names + ids
AshimeeAlt Nov 6, 2024
29f1ff7
Remove them logs :sob:
AshimeeAlt Nov 6, 2024
f82d562
hasOwn & catchError utils (for extensions)
yuri-kiss Nov 12, 2024
6653000
ESLint fixesgit add .git add .
AshimeeAlt Nov 12, 2024
10ea0e0
Feat: allow refreshBlocks to refresh a specific extension
yuri-kiss Dec 11, 2024
6a11a4a
Merge branch 'develop' of https://github.com/TurboWarp/scratch-vm int…
yuri-kiss Mar 3, 2025
300e318
merge aswell
yuri-kiss Mar 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ jobs:
- run: npm ci
- run: npm run lint
- run: npm run build
- run: npm run test
113 changes: 105 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
"tap:integration": "tap ./test/integration/*.js",
"test": "npm run lint && npm run tap",
"watch": "webpack --progress --colors --watch",
"version": "json -f package.json -I -e \"this.repository.sha = '$(git log -n1 --pretty=format:%H)'\""
"version": "json -f package.json -I -e \"this.repository.sha = '$(git log -n1 --pretty=format:%H)'\"",
"update": "node scripts/updatedeps.mjs"
},
"tap": {
"branches": 60,
Expand All @@ -47,7 +48,8 @@
"format-message": "6.2.1",
"htmlparser2": "3.10.0",
"immutable": "3.8.2",
"scratch-parser": "github:TurboWarp/scratch-parser#master",
"json5": "^2.2.3",
"scratch-parser": "github:Unsandboxed/scratch-parser#master",
"scratch-sb1-converter": "0.2.7",
"scratch-translate-extension-languages": "0.0.20191118205314",
"text-encoding": "0.7.0",
Expand All @@ -65,6 +67,7 @@
"babel-loader": "8.2.2",
"callsite": "1.0.0",
"copy-webpack-plugin": "4.5.4",
"depended": "github:Unsandboxed/depended#main",
"docdash": "1.2.0",
"eslint": "8.55.0",
"eslint-config-scratch": "9.0.3",
Expand Down
4 changes: 4 additions & 0 deletions scripts/updatedeps.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { v } from 'depended';
v.updateDeps([
['scratch-parser', 'develop']
]);
85 changes: 85 additions & 0 deletions src/blocks/scratch3_camera.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
const Cast = require('../util/cast');

class Scratch3CameraBlocks {
constructor (runtime) {
/**
* The runtime instantiating this block package.
* @type {Runtime}
*/
this.runtime = runtime;
}

getMonitored () {
return {
camera_xposition: {
getId: () => 'xposition'
},
camera_yposition: {
getId: () => 'yposition'
}
};
}

/**
* Retrieve the block primitives implemented by this package.
* @return {object.<string, Function>} Mapping of opcode to Function.
*/
getPrimitives () {
return {
camera_movetoxy: this.moveToXY,
camera_changebyxy: this.changeByXY,
camera_setx: this.setX,
camera_changex: this.changeX,
camera_sety: this.setY,
camera_changey: this.changeY,
camera_xposition: this.getCameraX,
camera_yposition: this.getCameraY
};
}

moveToXY (args) {
const x = Cast.toNumber(args.X);
const y = Cast.toNumber(args.Y);
this.runtime.camera.setXY(x, y);
}

changeByXY (args) {
const x = Cast.toNumber(args.X);
const y = Cast.toNumber(args.Y);
const newX = x + this.runtime.camera.x;
const newY = y + this.runtime.camera.y;
this.runtime.camera.setXY(newX, newY);
}

setX (args) {
const x = Cast.toNumber(args.X);
this.runtime.camera.setXY(x, this.runtime.camera.y);
}

changeX (args) {
const x = Cast.toNumber(args.X);
const newX = x + this.runtime.camera.x;
this.runtime.camera.setXY(newX, this.runtime.camera.y);
}

setY (args) {
const y = Cast.toNumber(args.Y);
this.runtime.camera.setXY(this.runtime.camera.x, y);
}

changeY (args) {
const y = Cast.toNumber(args.Y);
const newY = y + this.runtime.camera.y;
this.runtime.camera.setXY(this.runtime.camera.x, newY);
}

getCameraX () {
return this.runtime.camera.x;
}

getCameraY () {
return this.runtime.camera.y;
}
}

module.exports = Scratch3CameraBlocks;
22 changes: 16 additions & 6 deletions src/blocks/scratch3_control.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ class Scratch3ControlBlocks {
control_if: this.if,
control_if_else: this.ifElse,
control_stop: this.stop,
control_break: this.break,
control_continue: this.continue,
control_create_clone_of: this.createClone,
control_delete_this_clone: this.deleteClone,
control_get_counter: this.getCounter,
Expand Down Expand Up @@ -149,6 +151,14 @@ class Scratch3ControlBlocks {
}
}

break (_, util) {
util.thread.breakCurrentLoop();
}

continue (_, util) {
util.thread.continueCurrentLoop();
}

createClone (args, util) {
this._createClone(Cast.toString(args.CLONE_OPTION), util.target);
}
Expand Down Expand Up @@ -193,13 +203,13 @@ class Scratch3ControlBlocks {
}

allAtOnce (args, util) {
// Since the "all at once" block is implemented for compatiblity with
// Scratch 2.0 projects, it behaves the same way it did in 2.0, which
// is to simply run the contained script (like "if 1 = 1").
// (In early versions of Scratch 2.0, it would work the same way as
// "run without screen refresh" custom blocks do now, but this was
// removed before the release of 2.0.)
// In Scratch 3.0 and TurboWarp, this would simply
// run the contained substack. In Unsandboxed,
// we've reimplemented the intended functionality
// of running the stack all in one frame.
util.thread.peekStackFrame().warpMode = false;
util.startBranch(1, false);
util.thread.peekStackFrame().warpMode = true;
}
}

Expand Down
Loading