Commit Graph
2783 Commits
Author SHA1 Message Date
Thomas Weber af265c63ca Include sprite name in debug logs 2020-08-03 22:54:05 -05:00
Thomas Weber 84fcff85d9 ast: Fix default procedure inputs 2020-08-03 22:53:55 -05:00
Thomas Weber 0b04f50eea Support compiler flags, "nocompile" 2020-08-03 22:53:36 -05:00
Thomas Weber 32df47f2e2 Compiler cleanup 2020-08-03 22:53:36 -05:00
Thomas Weber 9b95cd6992 js: Fix list.add 2020-08-03 22:53:36 -05:00
Thomas Weber f63145b3bf Fix error in procedure compiling 2020-08-03 22:53:36 -05:00
Thomas Weber 235e2a00cd Fix some smaller bugs 2020-08-03 22:53:36 -05:00
Thomas Weber 921022f33f Nuke the old compiler. 2020-08-03 22:53:36 -05:00
Thomas Weber d0278aa08e ast: Support the remaining ast nodes in jsgen 2020-08-03 22:53:36 -05:00
Thomas Weber ffbe899eaf ast: Improve procedure call codegen
- emit nothing for empty procedures
- only emit arguments if needed
2020-08-03 22:53:36 -05:00
Thomas Weber 5df9db0427 ast: Improve some variable handling 2020-08-03 22:53:36 -05:00
Thomas Weber c26a72fbfb ast: Further fix codegen 2020-08-03 22:53:36 -05:00
Thomas Weber 77e2682580 ast: Fix many codegen bugs 2020-08-03 22:53:36 -05:00
Thomas Weber 658f915e80 ast: Get some pen projects to run correctly 2020-08-03 22:53:36 -05:00
Thomas Weber fed01dda6d ast: Get more things to run 2020-08-03 22:53:36 -05:00
Thomas Weber 51057b03a0 ast: More work on new compiler 2020-08-03 22:53:36 -05:00
Thomas Weber 703e7bab9c ast: Cleanup 2020-08-03 22:53:36 -05:00
Thomas Weber 67ab60cf9e ast: Basic AST generation feature parity with old compiler 2020-08-03 22:53:20 -05:00
Thomas Weber ca2bee3c82 ast: Add a lot more things to the AST generator 2020-08-03 22:41:31 -05:00
Thomas Weber 9a53a18479 ast: Add a lot more opcodes to the AST generator 2020-08-03 22:41:23 -05:00
Thomas Weber c068c90db3 eslint fixes 2020-08-03 22:41:18 -05:00
Thomas Weber e8549beb88 ast: Sorting, cleanup 2020-08-03 22:41:13 -05:00
Thomas Weber 72cf86545c ast: Get more of the new codegen to work 2020-08-03 22:41:09 -05:00
Thomas Weber 4646934dbc ast: Get the new codegen to actually compile and sortof work 2020-08-03 22:41:02 -05:00
Thomas Weber 17e86755fc ast: Get quicksort to codegen mostly correct 2020-08-03 22:40:52 -05:00
Thomas Weber 681bbb2ae3 ast: Improve astgen, jsgen 2020-08-03 22:40:45 -05:00
Thomas Weber 9b4c45001d ast: Test to see if the AST generation concept can work at all 2020-08-03 22:39:17 -05:00
Thomas Weber 0a6046d948 Revert "Restore original clock behavior"
This reverts commit 4f1de873c0.
2020-07-27 09:16:01 -05:00
Thomas Weber 8065002e42 Procedure argument edge cases 2020-07-27 01:42:04 -05:00
Thomas Weber 4f1de873c0 Restore original clock behavior
This makes `npm run tap:unit` pass now
2020-07-27 01:13:38 -05:00
Thomas Weber a7ae8ccabc Reset cache in variable create, delete 2020-07-26 15:30:00 -05:00
Thomas Weber f9bc2137c5 Use thread blockContainer 2020-07-26 15:29:41 -05:00
Thomas Weber e97538110c Address some test failures 2020-07-26 11:57:30 -05:00
Thomas Weber a9d02937f7 Support cloud variables in compiler 2020-07-25 20:14:12 -05:00
Thomas Weber a11554dd79 Add methods for disabling and enabling compiler 2020-07-25 17:29:15 -05:00
Thomas Weber 594ab8348c Add events for changing compatibility mode 2020-07-25 16:43:12 -05:00
Thomas Weber 047883e8ad Convert sound assets to use file-loader
This reduces the size of the scratch-gui JS bundle by nearly 2 MB.

This might make the music extension take longer to load or break it
entirely in some situations (file: URI), but that's a compromise I'm
willing to take.
2020-07-25 14:10:39 -05:00
Thomas Weber 2d25c505f5 Only change warp status in warp procedures
Warp incrementing and decrementing is now only included for warp procedures.
Non-warp procedures do not touch the counter at all.
2020-07-17 22:05:32 -05:00
Thomas Weber 8b90a356eb Fix list contains, list index of 2020-07-17 18:08:24 -05:00
Thomas Weber b027b7d50c Use specialized methods for comparisons
Remove the generalized `cast` in favor of 3 specialized ones.
This is a slight optimizations for comparisons.
2020-07-16 16:38:19 -05:00
Thomas Weber 4d5a7b70f3 Remove unused runtime method toString 2020-07-16 16:35:27 -05:00
Thomas Weber 5c032876b3 Optimize operator_random for the common case of constant bounds 2020-07-16 16:05:49 -05:00
Thomas Weber 8396d9f41f Allow inputs to be marked as constant 2020-07-16 16:05:00 -05:00
Thomas Weber c79505f8ee Add type hints for InputUtil 2020-07-16 16:04:27 -05:00
Thomas Weber 4f97ba73b9 Optimize Cast.isInt
This probably belongs upstream.
2020-07-16 15:54:03 -05:00
Thomas Weber 0b4ce41f12 Cleanup 2020-07-16 13:50:55 -05:00
Thomas Weber 0ff1f0f6b6 Merge remote-tracking branch 'upstream/develop' into develop 2020-07-14 23:54:08 -05:00
Thomas Weber e0a375bfc8 compile looks_backdropnumbername 2020-07-14 19:21:13 -05:00
Thomas Weber 14bf8d88ce compile pen_setPenHueToNumber 2020-07-14 19:09:39 -05:00
Thomas Weber c141be971d createScriptFactory -> scopedEval 2020-07-14 18:55:02 -05:00