Commit Graph
890 Commits
Author SHA1 Message Date
GarboMuffin ab6d10f929 Remove tw-experimental-audio-optimizations
This now lives in TurboWarp/scratch-audio
2022-09-17 18:53:19 -05:00
GarboMuffin eb600cfcf8 Replace local extended JSON parser with @turbowarp/json 2022-08-14 19:45:30 -05:00
GarboMuffin 6db9599f2e Do not use md5 to generate asset IDs in packaged runtime mode
md5 unnecessary in this mode and slows project load by ~10%.
2022-08-05 00:18:09 -05:00
GarboMuffin b78dc53c8e Set runtime.isPackaged=true when convertToPackagedRuntime is called 2022-08-05 00:17:47 -05:00
GarboMuffin 9045311a98 Revert "Fix custom extension inputs with default value "" being converted to undefined"
This reverts commit 3afb16c831.
2022-08-02 13:05:17 -05:00
GarboMuffin 3afb16c831 Fix custom extension inputs with default value "" being converted to undefined 2022-07-27 16:09:39 -05:00
Thomas Weber c4fa4a84a8 Set Runtime.currentStepTime to a number by default instead of null 2022-07-09 16:28:28 -05:00
Thomas Weber 3062334108 Fix edge-activated hats that return promises
This fixes a Scratch bug affecting custom extensions.
There were two bugs in the interpreter:
 - Thread status wouldn't reset after promise resolves
 - Loop finding logic broke on hats and mangled the stack
2022-07-09 02:19:22 -05:00
Thomas Weber f8ec0084ad Add Runtime#getNumberOfCloudVariables 2022-06-27 22:57:18 -05:00
Thomas Weber 930caca9de Don't allow negative framerates 2022-06-03 16:57:06 -05:00
Thomas Weber 27291b1c1f Make sure custom stage size is a round number and at least 1 2022-05-28 18:17:59 -05:00
Thomas Weber 49dccef719 Remove special case for blocks from old default project
This hasn't done anything in a long time and was always a terrible hack.
2022-05-23 20:54:59 -05:00
Thomas Weber 9a3f131477 Fix tests broken by merge 2022-05-23 19:13:19 -05:00
Thomas Weber 4fdc089c50 Relicense TurboWarp/scratch-vm to BSD3C, same as upstream
There are two copyright holders for our modifications to upstream's VM:
 - Me, who obviously is okay with this
 - Geotale, who I spoke to privately and is okay with this
2022-05-09 16:36:37 -05:00
Thomas Weber 2bbb32d759 Do not round monitor offset when resizing stage
Reduces error after many resizes
2022-03-13 14:12:35 -05:00
Thomas Weber 25e91e735c Preserve monitor position relative to center of stage when resizing stage 2022-03-12 20:36:37 -06:00
Thomas Weber 65304b59a6 Fix storing custom stage size when only one of width or height are stored 2022-03-01 22:22:22 -06:00
Thomas Weber 96f6fa0022 Change default frame loop framerate to 30 2022-02-18 21:39:29 -06:00
Thomas Weber 24cd822aa4 Only store project settings that don't match the default 2022-02-18 21:36:50 -06:00
Thomas Weber bf1156dd3f Add convertToPackagedRuntime stub 2022-02-12 15:59:43 -06:00
Thomas Weber b208444d93 Only resize renderer if stage size changed 2022-01-22 13:28:55 -06:00
Thomas Weber f833277201 Add stage size to stored project options 2022-01-16 17:31:26 -06:00
Thomas Weber 208b0818c2 Add Runtime.setStageSize helper and STAGE_SIZE_CHANGED event 2022-01-16 17:31:25 -06:00
Thomas Weber 5907ab0103 Reset cloud variable limit to 10 for compatibility reasons
We don't want people to make a project in TW with 20 cloud variables and then have issues importing it to Scratch.
The packager, which has no limit, will convert any variable that starts with ☁ to a cloud variable, so this can be worked around.
2021-12-30 16:26:16 -06:00
Thomas Weber 77945b9a04 Convert inEditor compiler option to separate setInEditor 2021-12-29 11:32:27 -06:00
Thomas Weber e1d0a70216 Add unused compiler option inEditor 2021-12-28 17:43:46 -06:00
Thomas Weber 60e97e482b Remove tw-emit-fast
Now unused.
2021-12-25 21:15:30 -06:00
Thomas Weber 74bcfabad1 Remove thread.warp 2021-12-22 23:53:21 -06:00
Thomas Weber b896e53aeb Fix overriding runtime._step not working
Some addons (clones) do this, so this fixes those addons
2021-12-15 20:41:25 -06:00
Thomas Weber d2144e6ae5 Fix all the remaining frame loop bugs 2021-12-13 21:38:17 -06:00
Thomas Weber 87dc87c648 Fix a couple frame loop regressions 2021-12-13 20:45:49 -06:00
Thomas Weber 8df561030c Clean up some frame loop logic 2021-12-13 17:01:24 -06:00
Thomas Weber 41eceef19b Refactor frame loop logic and make "0 FPS" use requestAnimationFrame instead of setInterval 2021-12-13 16:22:16 -06:00
Thomas Weber 521e7257d3 Set renderer.offscreenTouching if fencing is disabled 2021-11-09 18:35:44 -06:00
Thomas Weber 24d0b69bff Runtime-configurable cloud variable limit 2021-11-06 16:29:32 -05:00
Thomas Weber 084540630f Add more detailed message to stored settings comment 2021-09-15 18:14:13 -05:00
Thomas Weber 1c7c85a89d Move tw-emit-fast and tw-extended-json to util 2021-08-15 12:23:23 -05:00
Thomas Weber 3342b38ef2 Increase cloud variable limit to 100 2021-08-03 16:04:49 -05:00
Thomas Weber c1387a1e36 Remove trailing whitespace 2021-08-03 15:54:01 -05:00
Thomas Weber f03d397936 Revert "Allow name of addon blocks category to be translated"
This reverts commit e2fdfc5bf5.

It may be causing crashes.
2021-07-20 13:02:18 -05:00
Thomas Weber e2fdfc5bf5 Allow name of addon blocks category to be translated 2021-07-13 22:10:27 -05:00
Thomas Weber 573ce9dc1c Addon blocks should always be the top extension 2021-07-13 22:06:39 -05:00
Thomas Weber 1450d213ac Factory function should accept thread as only argument 2021-07-11 18:50:15 -05:00
Thomas Weber dbae5fe7d6 Implement addon blocks in interpreter 2021-07-07 00:10:04 -05:00
Thomas Weber 297df0f552 Store addon block names, ids, defaults in cache 2021-07-07 00:03:09 -05:00
Thomas Weber 9e15b0f38a Don't try to enable high quality pen if there is no renderer 2021-06-19 12:55:09 -05:00
Thomas Weber 8e18fd9f66 Relicense to LGPL 3.0 2021-06-16 22:30:16 -05:00
Thomas Weber 42b4e99e98 Fix addon blocks causing errors due to missing properties 2021-06-15 14:50:55 -05:00
Thomas Weber 20a9c26a0f Just store all runtime options 2021-06-10 12:11:27 -05:00
Thomas Weber 91b9bcb6c6 Fix storing remove fencing 2021-06-10 12:10:57 -05:00