Muffin
1decd331ad
Alow LOOP and CONDITION blocks to use startBranch in interpreter and remove rounding
2023-08-23 14:50:42 -05:00
Muffin
8b43eae4de
Make addBuiltinExtension per-VM, not global
2023-08-23 13:37:04 -05:00
GarboMuffin
1cb2549c6b
Merge pull request #158 from TurboWarp/loops-2
...
Implement LOOP and CONDITION blocks in interpreter and compiler
2023-08-22 17:07:45 -05:00
Muffin
7fd9495703
Update snapshots
2023-08-22 16:54:21 -05:00
Muffin
9acb696d5a
Implement LOOP blocks in compiler
2023-08-22 16:34:47 -05:00
Muffin
e9f0a3686c
Implement LOOP blocks in interpreter
2023-08-22 16:34:47 -05:00
Muffin
87119eadb7
Implement CONDITIONAL blocks in interpreter
2023-08-22 16:34:47 -05:00
Muffin
db0776711f
Implement CONDITIONAL blocks in compiler
2023-08-22 16:34:47 -05:00
Muffin
2027b9288f
Update snapshot
2023-08-22 16:34:34 -05:00
Muffin
d25389aaf2
Remove unused code
2023-08-22 16:26:38 -05:00
Muffin
14ed3a9b99
Fix custom reporters when used inside of "repeat ( )" block in interpreter
2023-08-22 16:25:47 -05:00
Muffin
6399562b90
Revert running unsandboxed extensions with fetch() and new AsyncFunction instead of <script>
...
It causes other issues:
- It *will* break projects
- Stack traces from errors in extensions are unusable
- We do not even get some of the originally intended benefits like parallel loading
2023-08-22 11:24:20 -05:00
GarboMuffin
9caca1c510
Merge pull request #157 from TurboWarp/modernize-loading
...
Use fetch() and AsyncFunction instead of `<script>` for unsandboxed extensions
2023-08-22 10:48:54 -05:00
Muffin
683620994f
Fix tests
2023-08-22 10:43:04 -05:00
Muffin
55cda8242c
Run unsandboxed extensions with fetch() and new AsyncFunction instead of <script>
...
Benefits:
- IIFE no longer needed
- Extensions can await
- Better error messages
Downsides:
- CORS now required to load extensions
2023-08-22 10:00:36 -05:00
Muffin
b23fb1e8be
Refactor ScratchX compatibility layer
2023-08-16 16:39:09 -05:00
GarboMuffin
c787bcc44c
Merge pull request #156 from TurboWarp/fonts
...
Custom fonts - VM part
2023-08-16 10:45:57 -05:00
Muffin
b9e84b7db2
Implement custom font manager
2023-08-16 10:34:06 -05:00
Muffin
efa7e9d639
Refactor asset serialization
2023-08-14 11:27:32 -05:00
GarboMuffin
0690b9b84d
Merge pull request #155 from TurboWarp/hats-revisit
...
Significantly improve hat blocks and event blocks
2023-08-13 16:58:42 -05:00
Muffin
186ad43b5b
Add extensive event and hat test
2023-08-13 16:53:25 -05:00
Muffin
afb04f83d8
Run existing hat tests in both interpreter and compiler
2023-08-13 16:53:25 -05:00
Muffin
391c3dc979
Do not ignore compilation errors related to edge-activated hats
...
They can now be compiled, so this code is dead.
2023-08-13 16:53:25 -05:00
Muffin
49d1785496
Improve interpreter's hat block implementation
...
Improve handling of promises and stackClick with predicate-based hats
2023-08-13 16:53:25 -05:00
Muffin
ff41d1dcf8
Fix compiler's hat implementation
...
Now supports edge-activated and predicate-based hats
2023-08-13 16:53:25 -05:00
Muffin
843b4c3839
Add API to add a new "builtin" extension at runtime
...
This will be used by tests
2023-08-13 16:53:25 -05:00
Muffin
c549569651
Comment out test entirely to clean up logs
2023-08-08 22:56:17 -05:00
GarboMuffin
461ef267da
Merge pull request #144 from TurboWarp/xml-blocktype
...
BlockType.XML
2023-08-06 22:08:30 -05:00
Muffin
c32c66679f
Add test
2023-08-06 21:48:18 -05:00
GarboMuffin
7115abb56d
BlockType.XML
2023-08-06 21:46:59 -05:00
Muffin
a1d2cd108a
Modify saveProjectSb3DontZip asset order to match saveProjectSb3
2023-07-31 22:37:16 -05:00
Muffin
4631dfc6a7
Add Turboloader AudioStream to default extension URLs
2023-07-29 23:15:55 -05:00
Muffin
2bd4d4201a
Include compile errors in snapshot tests
2023-07-29 10:50:52 -05:00
Muffin
791189b7b9
Fix incorrect command in snapshot test error
2023-07-29 10:50:37 -05:00
Muffin
9cded93814
Fix return value of non-existent procedure in compiler
2023-07-29 10:45:28 -05:00
GarboMuffin
fbc62badf6
Merge pull request #150 from TurboWarp/return
...
Allow custom blocks to return values - VM part
2023-07-29 09:56:57 -05:00
GarboMuffin
edae502def
Merge pull request #154 from TurboWarp/serialize-block-fixes
...
Add API to export blocks with extension metadata
2023-07-28 23:33:09 -05:00
Muffin
2158aef763
Refactor default extension URL handling
2023-07-28 23:27:14 -05:00
Muffin
1d314182a7
Remove unnecessary helper function
2023-07-28 23:02:07 -05:00
Muffin
67afd7e8e3
Add API to export blocks with extension metadata
...
Will be used to make backpack work properly with custom extensions
2023-07-28 22:59:06 -05:00
Muffin
8453a47848
Update addon block tests
2023-07-26 20:39:34 -05:00
Muffin
d3d3cfe6e3
Allow controlling addon block return shape
2023-07-26 20:39:23 -05:00
Muffin
8cd117ce45
Implement reporter-shaped addon blocks in compiler
2023-07-26 20:33:04 -05:00
Muffin
0d857e4019
Make arguments optional in addAddonBlock
2023-07-26 20:12:13 -05:00
GarboMuffin
a56307f3f8
Merge pull request #151 from TurboWarp/serialize-fixes
2023-07-25 23:58:11 -05:00
Muffin
6681b22349
Include extension list in exported .sprite3 files
...
closes https://github.com/TurboWarp/extensions/issues/767
2023-07-25 23:53:31 -05:00
Muffin
88b49da0d9
Serialize costumes before sounds
...
If file saving breaks and we write a truncated file, this order matters.
Sounds tend to be large (so few will be recoverable) and generally
aren't even original, so recovery is often meaningless. Costumes
are much more likely to be original, and they're much smaller
so more will be recovered.
2023-07-25 23:53:31 -05:00
Muffin
b8892efba6
Disable tests that are now intentionally broken
2023-07-23 15:17:44 -05:00
Muffin
f0bb852f10
Revert "Update behavior of non-existant procedures in compiler to match interpreter"
...
This reverts commit b04df3eda7 .
There are still subtle issues related to execution order (JS is left-to-right while
Scratch is depth-first). As there will inherently be some issues, we may as well
do what runs faster.
2023-07-23 15:06:29 -05:00
GarboMuffin
efd2ac0bf9
Revert "Merge pull request #148 from TurboWarp/trampoline-tts"
...
This reverts commit 102946bbf5 , reversing
changes made to 9ee3974242 .
Turns out there's a lot more of these than anticipated. Cloudflare might
not be a big fan of us putting audio files through their CDN, so turning
this off for now.
2023-07-16 21:47:41 -05:00