Eric Rosenbaum
76a475c31c
cast args to numbers
2017-01-10 18:00:33 -05:00
Eric Rosenbaum
3344c92f7e
change ‘drumtype’ to ‘drum’ in specmap
2017-01-10 18:00:02 -05:00
Eric Rosenbaum
f034564603
Merge branch 'develop' of https://github.com/LLK/scratch-vm into sound
2017-01-09 15:51:47 -05:00
Eric Rosenbaum
4d7ff97011
instrument number is zero-indexed inside audio engine
2017-01-09 15:48:31 -05:00
Eric Rosenbaum
ce8b069140
include volume reporter
2017-01-09 15:48:02 -05:00
Eric Rosenbaum
2d7cfd128a
use a single global tempo owned by audioengine
2017-01-09 15:47:29 -05:00
Eric Rosenbaum
dc9126e067
Merge pull request #373 from ericrosenbaum/sound
...
Integrate audio engine
2017-01-06 16:28:09 -05:00
Eric Rosenbaum
bd8fdad1d4
add check for audioengine
2017-01-06 16:24:16 -05:00
Eric Rosenbaum
18c88c8ee0
fix stop for audio
2017-01-06 16:14:41 -05:00
Eric Rosenbaum
b88c6c96e2
initialize audio player once per sprite (not for clones)
2017-01-06 16:14:27 -05:00
Eric Rosenbaum
9980f4da3f
lint
2017-01-06 16:13:43 -05:00
Eric Rosenbaum
fec9e5b91a
add audio to playground
2017-01-06 11:49:25 -05:00
Eric Rosenbaum
9350baef3b
add current volume block
2017-01-06 10:31:11 -05:00
Eric Rosenbaum
dbe2cef93c
move promise into audio engine
...
changes to play note, play drum and rest blocks so their promises to wait are returned by the audio engine
2017-01-06 10:31:01 -05:00
Eric Rosenbaum
c0d57b4b6b
separate out main audioengine from audioplayer for each clone
2017-01-04 18:37:55 -05:00
Eric Rosenbaum
5a1386f727
remove redundant type check
2017-01-04 14:42:00 -05:00
Eric Rosenbaum
3bf9238e0c
treat numeric input to sound name as 1-indexed
2017-01-04 14:41:14 -05:00
Eric Rosenbaum
7a49a3ae43
lint
2017-01-03 23:41:49 -05:00
Andrew Sliwinski
5daaaa4438
Merge pull request #362 from thisandagain/bugfix/coverage
...
Add integration test coverage
2017-01-03 09:38:14 -05:00
Andrew Sliwinski
6d83931341
WIP clean-up
2016-12-30 10:19:58 -05:00
Andrew Sliwinski
04d9620631
Merge branch 'patch-24' of https://github.com/TheBrokenRail/scratch-vm into feature/194
2016-12-24 08:46:50 -05:00
Andrew Sliwinski
4709cae4b7
Basic integration (end-to-end) testing for default project
2016-12-23 10:39:19 -05:00
Andrew Sliwinski
48721dd336
If not hat fields are not found, check inputs before continuing. Resolves GH-360
2016-12-23 09:38:18 -05:00
Eric Rosenbaum
f0e01d3e87
fix name of sounds menu
2016-12-22 14:12:20 -05:00
Eric Rosenbaum
f90807e8a4
add get sound index by name
2016-12-21 16:42:19 -05:00
Eric Rosenbaum
f2793a1d59
Merge branch 'develop' of https://github.com/LLK/scratch-vm into sound
...
# Conflicts:
# package.json
# src/engine/runtime.js
# src/sprites/clone.js
2016-12-21 15:29:57 -05:00
TheBrokenRail
2ffb17458d
Update index.js
2016-12-11 12:45:35 -05:00
TheBrokenRail
838608af86
Update sprite.js
2016-12-11 12:42:39 -05:00
TheBrokenRail
04fc32b294
Update rendered-target.js
2016-12-11 12:40:06 -05:00
TheBrokenRail
b304cecefb
Add Testing Pt. 1
2016-12-11 12:33:02 -05:00
Ray Schamp
e9da046969
Report full sprite info in targetsUpdate
...
We need more than just the name for the initial render, so send everything consistent with sprite info reports.
2016-12-07 17:11:08 -05:00
TheBrokenRail
06e5124a3c
Update index.js
2016-12-04 08:42:28 -05:00
TheBrokenRail
a58bcb93e6
Update index.js
2016-12-04 08:39:22 -05:00
TheBrokenRail
c4750d64b6
Fix Drawable Properties Not Getting Updated
2016-12-03 16:50:06 -05:00
TheBrokenRail
7fe597c9f9
Now Actually loads Rendered Target Properties
2016-12-03 16:29:56 -05:00
TheBrokenRail
05a827c0ea
Update index.js
2016-12-02 16:30:34 -05:00
TheBrokenRail
f2a08b466d
Update Names
2016-12-02 16:03:52 -05:00
TheBrokenRail
34d2676db3
Update index.js
2016-12-02 15:57:56 -05:00
TheBrokenRail
424b41ac31
Pretty Print
2016-12-02 15:41:55 -05:00
TheBrokenRail
a520990a80
Update index.js
2016-12-02 15:37:35 -05:00
TheBrokenRail
0707c4bcc8
Update index.js
2016-12-02 15:35:35 -05:00
TheBrokenRail
dd86759915
Update rendered-target.js
2016-12-02 15:34:01 -05:00
Ray Schamp
adaf2df743
Emit sprite info report for all sprites
...
This allows costume data to reach listeners even when the sprite isn't the editing target.
Filter out non-editing target reports in the playground to match previous behavior.
2016-11-30 13:21:00 -05:00
Ray Schamp
ce17fdbd30
Include costume data in sprite info reports
...
Also emit the report on all costume changes
2016-11-30 13:19:49 -05:00
TheBrokenRail
72b44b3ec7
Update rendered-target.js
2016-11-29 18:57:35 -05:00
TheBrokenRail
74b8378a7c
Update sprite.js
2016-11-29 18:55:38 -05:00
TheBrokenRail
1980fbc98d
Update rendered-target.js
2016-11-29 18:53:38 -05:00
TheBrokenRail
f4959305ab
Update index.js
2016-11-29 18:14:12 -05:00
TheBrokenRail
1777ab6a21
Update index.js
2016-11-29 18:09:28 -05:00
TheBrokenRail
51d829786c
Update index.js
2016-11-29 18:07:50 -05:00
TheBrokenRail
16449ae73d
Add Loading And Exporting
2016-11-29 17:50:31 -05:00
TheBrokenRail
0f4e80cbfc
Add Export To Sprite
2016-11-29 17:23:28 -05:00
TheBrokenRail
cac52020a4
Add Export To Rendered Target
2016-11-29 17:18:20 -05:00
Ray Schamp
d00cdd6b2c
Account for done threads on threadCount update
...
Also rename inactiveThreads -> doneThreads, since this describes them better. They are the threads that have completed in the step.
2016-11-28 10:49:05 -05:00
Ray Schamp
0003b294cb
Lint
2016-11-24 10:36:30 -05:00
Ray Schamp
55ac7e269c
Add PROJECT_RUN_START/STOP events
...
These events signal when any threads are running or when all threads have stopped running. This maps to whether the green flag or the stop button should be illuminated in the GUI.
2016-11-23 15:47:49 -05:00
Ray Schamp
2ff719f2ba
Fix consistency of existing emits
2016-11-23 15:43:05 -05:00
Tim Mickel
a767c5ec79
Keep min and max scale in relative bounds as in Scratch 2.0
2016-11-14 12:20:29 -05:00
Tim Mickel
4deee071b2
Don't copy threads in step; stable restartThread ( #331 )
2016-11-10 15:05:49 -05:00
Ray Schamp
2c3e4536eb
Merge pull request #316 from tmickel/feature/remove-empty-project
...
Remove empty project
2016-11-10 12:56:31 -05:00
Tim Mickel
b99f089ae7
Fix #327 , "switch costume to [next/previous]" ( #330 )
2016-11-09 11:22:17 -05:00
Tim Mickel
f235cb47e6
Merge remote-tracking branch 'LLK/develop' into feature/remove-empty-project
...
# Conflicts:
# src/index.js
2016-10-31 10:39:36 -04:00
Eric Rosenbaum
6dadaba117
onStopAll function for stop button
2016-10-27 16:28:39 -04:00
Eric Rosenbaum
1e5555e96d
add volume and tempo blocks
2016-10-27 11:31:22 -04:00
Tim Mickel
0ede7e6ca1
Rename and delete sprites ( #319 )
...
* Add function to rename sprites
* Add delete sprite function
* Add `isSprite` helper and duplicate check for rename
2016-10-26 13:27:24 -04:00
Tim Mickel
56ef01745f
Implement sprite info emitting and posting ( #320 )
2016-10-26 13:27:12 -04:00
Tim Mickel
1dc4aaa2d7
Remove rAF usage and inline into _step ( #318 )
2016-10-26 11:32:15 -04:00
Tim Mickel
2f0ce7137c
Rename Clone -> RenderedTarget ( #317 )
2016-10-26 11:19:43 -04:00
Tim Mickel
6e9b3f262c
Divide rotation center by bitmap resolution ( #309 )
2016-10-26 10:38:24 -04:00
Tim Mickel
d75f1c5965
Remove empty project
2016-10-26 10:30:16 -04:00
Tim Mickel
cf20ca1add
Fix #313 (block specs in shadow) ( #315 )
2016-10-26 10:26:56 -04:00
Tim Mickel
28a0831e8d
Fix 1-1 in daysSince2000
2016-10-26 10:26:03 -04:00
Tim Mickel
5103cfb853
Address #299 and #300 ( #314 )
...
* Place clones behind sprite
* Disallow stage from cloning itself
2016-10-26 10:06:58 -04:00
Liam
f75577bcbe
Implement '(attribute) of' sensing block ( #311 )
...
* Implement '(attribute) of' sensing block
* Remove unused util parameter
2016-10-24 20:37:27 -04:00
Eric Rosenbaum
90867cd14e
convert string to number for sound index
2016-10-24 17:00:51 -04:00
Andrew Sliwinski
1b4a1ca1bc
Resolve merge conflicts
2016-10-24 15:53:42 -04:00
Andrew Sliwinski
153df22918
Address feedback from PR review
2016-10-24 15:16:06 -04:00
Ray Schamp
659014b45f
Fix typo
2016-10-24 14:07:38 -04:00
Ray Schamp
d2a0e6fa2d
Disable no-useless-call in case of behavior change
2016-10-24 13:01:57 -04:00
Ray Schamp
22bf947ddb
Revert no-lonely-if
2016-10-24 13:01:41 -04:00
Andrew Sliwinski
279a9560af
Resolve JSDoc lint errors
2016-10-24 12:04:06 -04:00
Andrew Sliwinski
336bc65e2d
Add minimal test coverage and docs for mouse module
2016-10-24 11:56:52 -04:00
Ray Schamp
04d7f4f019
Use consistent function declaration style
2016-10-24 11:49:34 -04:00
Andrew Sliwinski
2de58050dd
Conform JSdoc for keyboard module to format used elsewhere
2016-10-24 11:40:07 -04:00
Ray Schamp
9f0c4eb098
Update to eslint-config-scratch 2.0
...
We are on a fast release cycle here.
2016-10-24 11:39:39 -04:00
Ray Schamp
63cfa4229a
Fix space-infix-ops
...
http://eslint.org/docs/rules/space-infix-ops
2016-10-24 11:19:07 -04:00
Ray Schamp
7712b2902f
Fix quote-props
2016-10-24 11:02:19 -04:00
Ray Schamp
14a2dbc50f
Revert no-lonely-if
2016-10-24 10:28:31 -04:00
Ray Schamp
73edb65c4d
Replace console with minilog
2016-10-23 22:20:30 -04:00
Ray Schamp
f6c0064235
All linting other than console statements
2016-10-23 22:20:29 -04:00
Ray Schamp
68ed110b49
Pass with eslint --fix
...
Resolved whitespace issues, e.g., space-before-function-paren and key-spacing
2016-10-23 12:41:45 -04:00
Andrew Sliwinski
faf8a898a0
Add minimal test coverage and docs for keyboard module.
2016-10-21 18:31:07 -04:00
Tim Mickel
84bd42d734
Functions to add Sprite2/costumes/backdrops ( #291 )
...
* Functions to add Sprite2/costumes/backdrops
* Have sb2import return the top-level target
2016-10-20 11:44:01 -04:00
Tim Mickel
3d57c2e74c
Drop single-stepping and pause modes ( #294 )
2016-10-20 11:42:16 -04:00
Tim Mickel
9af9a87cb6
Pass rotation center and bitmap resolution to renderer ( #288 )
2016-10-19 17:01:48 -04:00
Eric Rosenbaum
0858a22ffb
adding theremin block and set instrument
2016-10-19 15:44:30 -04:00
Tim Mickel
e49f076fa1
Interpreter fixes, enhancements, features ( #280 )
...
* Thread stepping rework; interp.redraw equivalent
* Add turbo mode and pause mode
* Yielding behavior to match Scratch 2.0
* Implement warp-mode procedure threads
* Add check for recursive call
* Inline wait block timer
* Revert to setInterval and always drawing
* Restore yielding in glide
* 30TPS compatibility mode
* 5-call count recursion limit
* Removing dead primitive code
* To simplify, access runtime.threads inline in `stepThreads`.
* Warp mode/timer fixes; recursive check fixes; clean-up
* Add basic single-stepping
* Add single-stepping speed slider
* Allow yielding threads to run in single-stepping
* Restore inactive threads tracking for block glows
* Add clock pausing during pause mode
* Documentation and clean-up throughout
* Don't look for block glows in `thread.topBlock`.
* Add null check for block glows; rename `_updateScriptGlows` to reflect block glowing
* Use the current executed block for glow, instead of stack
* Add more comments to `stepToProcedure`, and re-arrange to match 2.0
* Tweak to Blocks.prototype.getTopLevelScript
* Revert previous
* Fix threads array to be resilient to changes during `stepThreads`
* Restore inactive threads filtering
* Fix typo in "procedure"
* !! instead of == true
2016-10-17 23:23:16 -04:00
Tim Mickel
060d1ab2a5
Updated blocks for new renderer features ( #257 )
...
* Add "touching" block, layers blocks
* Keep in fence, if on edge bounce, fix to touching edge
* Fix degtoRad in "if on edge, bounce"
* Fixes from review
2016-10-17 23:17:55 -04:00
Eric Rosenbaum
6d9f889aa7
fixed sound loading
2016-10-17 17:16:55 -04:00
Eric Rosenbaum
ba84b6e34b
move audioengine to its own module
2016-10-17 17:16:13 -04:00
Eric Rosenbaum
7bd0142deb
Merge branch 'develop' of https://github.com/LLK/scratch-vm into sound
...
# Conflicts:
# playground/index.html
2016-10-17 17:13:43 -04:00
Tim Mickel
352c6516d3
Fix parent setting in sb2 importer ( #283 )
2016-10-17 16:44:33 -04:00
Cosmic Web Services
454eb904a3
Add days since 2000 block ( #272 )
...
* Add days since 2000 block
* Empty line addition
* Add semicolin
* Empty line addition
* Tabed
* Remove extra line
* Make it exactly like scratch 2 was
* Fixed spacing
2016-10-17 13:57:25 -04:00
Ray Schamp
2904152318
Merge pull request #282 from rschamp/feature/vm.clear
...
Add VM.clear method
2016-10-17 13:56:37 -04:00
Ray Schamp
5615583fb2
Lint
2016-10-17 13:54:27 -04:00
Ray Schamp
bd95c1461d
Add VM.clear method
...
Use it before loading projects so targets don't accumulate when multiple projects are loaded on the same instance.
Move check to see if the clone is the original clone onto the block implementation so all clones can be removed.
Fixes #274
2016-10-17 13:43:38 -04:00
Andrew Sliwinski
ace9a96fc2
Fix degToRad function definition. Resolves GH-229
2016-10-17 11:52:02 -04:00
Tim Mickel
3bfd755e60
Complete implementation of stop block ( #271 )
...
* "Other scripts in stage" sb2
* Complete implementation of "stop" block
2016-10-13 23:00:46 -04:00
Tim Mickel
c45b420115
Fix check for existing hat threads ( #269 )
2016-10-13 22:14:19 -04:00
Tim Mickel
1e86d48a31
Clicking blocks in the toolbox ( #267 )
2016-10-13 17:15:49 -04:00
Tim Mickel
8c654bbe60
Procedure blocks ( #264 )
2016-10-13 13:11:26 -04:00
Eric Rosenbaum
31d680a229
lint
2016-10-13 11:54:00 -04:00
Eric Rosenbaum
d808a83f79
lint
2016-10-13 11:48:31 -04:00
Eric Rosenbaum
e084a76485
lint
2016-10-13 11:35:52 -04:00
dekrain
91037a261e
Fix relative localization for assets
2016-10-13 16:19:42 +02:00
Eric Rosenbaum
80764f053d
lint
2016-10-12 17:22:50 -04:00
dekrain
49d6bd3b67
Fix new project creation ( #256 )
...
* Fix new project creation
* Fix new project creation
* const -> var
2016-10-12 13:56:31 -04:00
Eric Rosenbaum
7b179546ed
new setup for use with scratch-gui
2016-10-12 13:17:51 -04:00
Tim Mickel
a7522c7734
Fix data_listcontents block name ( #254 )
2016-10-11 17:12:19 -04:00
Eric Rosenbaum
0024b209bd
Merge remote-tracking branch 'LLK/develop' into develop
2016-10-11 13:47:24 -04:00
Eric Rosenbaum
ed650ba487
Merge remote-tracking branch 'LLK/develop' into develop
2016-10-05 17:16:13 -04:00
Liam
30535d8e6e
Implement "distance to" block ( #239 )
...
* Implement "distance-to" block
* distance-to in stage should always be 10000
2016-10-04 21:26:59 -04:00
TheBrokenRail
9b07889b3f
Fix Stage PNG ( #241 )
...
* Fix Stage PNG
* Add New Stage PNG
* Remove Old Stage PNG
* Delete backdrop1.png
* Rename New Stage PNG
* Delete stage.png
* Fix Stage Resolution
2016-10-04 20:38:11 -04:00
Liam
5871672551
Implement "go to" block ( #238 )
...
* Implement "go to" block
* Add a missing semicolon
My text editor doesn't automatically insert them and I'm not used to using
semicolons so much. :(
* Implement go-to-random
* Clean up the go-to-random code a bit
* Add rounding to _random_ picks
2016-10-04 18:19:52 -04:00
Liam
886bcbe3c1
Implement the point-towards block ( #235 )
...
* Implement the point-towards block
* Pointing towards a nonexistent sprite should do nothing, not throw an error
2016-10-04 15:20:53 -04:00
Eric Rosenbaum
0db0783fe8
working on sound font player
2016-10-04 14:19:04 -04:00
Tim Mickel
0a66c62f6a
Mutations in block representation; an unfeatured procedure call ( #212 )
...
* Add scratch3_procedures and no-op for defnoreturn
* Add mutation adapter to parse mutations in CREATE/CHANGE events
* Add mutation-to-XML
* Update spec map for Blockly procedure names
* Placeholder for procedure special cases
* Basic stepping to procedures
* Remove extra case
* Validation for changeBlock
2016-10-03 17:43:24 -04:00
Tim Mickel
5728d648b1
Ensure clone.effects is defined on each instance ( #225 )
...
* Ensure clone.effects is defined on each instance
* Add regression test for GH-224
2016-10-03 10:16:43 -04:00
Eric Rosenbaum
e1df4b3aaf
fixed dictionary of loaded sounds
2016-10-01 17:27:28 -04:00
Tim Mickel
2226fda19e
Implement rotation style ( #223 )
2016-09-28 17:09:04 -04:00
Tim Mickel
d10ba11c8f
Round costume values ( #221 )
2016-09-28 16:43:12 -04:00
Tim Mickel
a585a08a93
Remove extra calls to updateAllDrawableProperties
( #222 )
2016-09-28 16:43:04 -04:00
Eric Rosenbaum
6988cfc0d3
starting to load sounds from project files
2016-09-28 16:42:25 -04:00
Eric Rosenbaum
7c91565408
Merge branch 'develop' of https://github.com/LLK/scratch-vm into develop
2016-09-27 18:12:20 -04:00
Eric Rosenbaum
39c8e76bdf
adding sound blocks
2016-09-27 17:09:53 -04:00
Tim Mickel
2357d63243
Drop useRound
option from Cast.toListIndex
( #213 )
...
* Drop `useRound` option from `Cast.toListIndex`
* Param fix
2016-09-26 12:01:21 -04:00
Tim Mickel
2d736f2b87
"Wait until" implementation ( #210 )
2016-09-22 17:00:38 -04:00
Tim Mickel
a118d50056
Variables and lists ( #187 )
...
* Import lists and variables from SB2
* Switch to Variable and List objects
* Add Clone.lookupOrCreateVariable, Clone.getVariable, Clone.setVariable
* Add (get, set, change) variable blocks.
* Copy variables and lists on clone instantiation
* Move variable options closer to blocks
* Add list primitives
* Move variable and lists storage to `Target` instead of `Clone`
* Move _computeIndex to a Cast function
* Rename `getList` -> `getListAsString`
* Renames renames
* Remove extra check in Cast.isNaN
2016-09-21 16:38:33 -04:00
Tim Mickel
a687184c3c
Fix and improve playground threads display ( #198 )
2016-09-21 16:31:23 -04:00
Tim Mickel
aa5e8d2648
Clear graphic effects on green flag ( #199 )
2016-09-21 16:31:07 -04:00
Ray Schamp
4e547556a8
Use attachRenderer rather than the constructor
...
This makes the renderer optional as well as making the order of instantiation flexible.
2016-09-20 15:09:21 -04:00
Ray Schamp
fa10a2279a
Only expose VirtualMachine to window for bundles
2016-09-20 10:29:47 -04:00
Ray Schamp
499ba5235c
Scope renderer to instance
...
This allows usage without global scope to attach a renderer to the VM. It also provides the ability to have multiple VMs/renderers to be used at once.
2016-09-20 02:52:33 -04:00
Tim Mickel
c02ee88d02
Add some more info/links to sb2specmap ( #197 )
2016-09-19 15:24:46 -04:00
Tim Mickel
13f287e871
Fix up property imports from SB2 ( #196 )
...
* Update target's drawable properties after SB2 import
* Always use `hasOwnProperty` parsing SB2 JSON
2016-09-19 14:40:01 -04:00
Tim Mickel
9744bcbb70
Clones ( #150 )
...
* Provide property to Clone to distinguish "original" clones
* Provide method to clone a clone's properties
* Don't report clones in the UI target list
* Add target info to Thread
* Allow hats to skip clones (for green flag)
* Green flag skips clones
* Implement "create clone" and hat
* Pass the runtime to sprites and clones (for start hats)
* Clone disposal; trigger hats after drawable initializes.
* Separate stop threads for target; fix handling of stop button
* Remove extraneous `skipClones` property
* Add global clone limit
* Don't allow a non-clone to delete itself.
* Rename `cloneClone` -> `makeClone`
* Variable updates in runtime.js
* Synchronous drawable initialization (until we put it back to promises)
2016-09-15 19:37:12 -04:00
Tim Mickel
542899949e
Update for RenderWebGLLocal -> RenderWebGL ( #181 )
...
* Update for RenderWebGLLocal -> RenderWebGL
* Move button under title
2016-09-15 19:02:03 -04:00
Tim Mickel
6b3f0d3d8a
Playground update; update SB2 spec map for list, _ of _ blocks ( #184 )
...
* Playground update
* Update SB2 spec map for list, _ of _ blocks
2016-09-15 17:10:32 -04:00
Eric Rosenbaum
8872f663a4
Merge remote-tracking branch 'LLK/develop' into develop
...
# Conflicts:
# playground/index.html
# playground/playground.js
# src/engine/execute.js
# src/engine/runtime.js
# src/index.js
# src/sprites/clone.js
2016-09-15 16:58:41 -04:00
Eric Rosenbaum
47c0f18e85
adding more sound blocks
2016-09-15 16:51:24 -04:00
Eric Rosenbaum
aa812aa6b7
worker less audio engine, can meow
2016-09-15 15:59:29 -04:00
Tim Mickel
8987330853
Cleanly handle deleting running scripts ( #162 )
...
* Cleanly handle deleting running scripts
* Turn off glow request on retire thread; add null check
2016-09-15 13:51:40 -04:00
Tim Mickel
1ebee14eb0
Update sb2specmap.js for droppable broadcast ( #182 )
2016-09-14 16:43:21 -04:00
Eric Rosenbaum
e19c1942c3
Merge remote-tracking branch 'LLK/develop' into develop
...
# Conflicts:
# src/index.js
# src/sprites/clone.js
# src/worker.js
2016-09-13 18:09:43 -04:00
Tim Mickel
dec5d054c8
Better handling of float values ( fix #172 ) ( #176 )
...
* Better handling of float values (fix #172 )
* Stricter equality in Cast.isInt
2016-09-13 17:53:17 -04:00
Eric Rosenbaum
d9a703b4ad
play sound and play note block
2016-09-13 17:52:54 -04:00
Tim Mickel
6b08b95b97
Escape field values for XML-unsafe characters ( #177 )
...
* Escape field values for XML-unsafe characters
* String equality check ===
2016-09-13 17:51:17 -04:00
Tim Mickel
08b40b4d1d
Drop worker support ( #175 )
...
* Take out worker code
* Fix Blockly event listening (minus worker)
* Recompile Sept. 13
2016-09-13 17:49:45 -04:00
Tim Mickel
833c5ed313
When clicked hats ( #156 )
2016-09-12 17:16:10 -04:00
Tim Mickel
c357a62005
Key repeats, with OS delay ( #168 )
2016-09-12 13:52:44 -04:00
Tim Mickel
91cdec1547
Implement glide ( #154 )
2016-09-12 13:26:10 -04:00
Tim Mickel
bbea1af5a3
Better shadow evaluation ( #160 )
...
* Better shadow evaluation
* Audit and improve casting for all primitives
* Force repeat times to int
* Remove colorPicker shadow menu
2016-09-12 13:14:16 -04:00
Tim Mickel
ebbfe881db
Augment Timer with documentation and self.performance.now
( #163 )
...
* Augment Timer with documentation and `self.performance.now`
* Add undefined check for `self`.
2016-09-12 13:09:01 -04:00
Tim Mickel
79346c0925
Fixes for #138 ( #166 )
...
* Markup/CSS adjustments
* Move assets to folder
* Strip extra font-family
* More robust handling of project-load fail state
* Move empty project creation to its own function
* Move green flag/stop back out of the tab
* Restore default id
2016-09-12 12:03:24 -04:00
TheBrokenRail
40b530fa7e
Offline Support [READY TO MERGE?] [ALONG WITH THE SCRATCH-RENDER PR] ( #138 )
...
* Remove Fallback Project
* Added A Newline and Removed Fallback Project
* Made The SB2 Project Import Field Fit In More With All Other Textboxes
* Better Description Of SB2 Import Field
* Oops!
* The XML Import Area Doses Not Need To Be Resizable!
* That Didn't Work As Planned
* Now it won't rezize
* Added SB3New
* Add Code For SB3New
* Better 404
* Indentation
* NodeJS complains about quotes
* Moved And Renamed SB3New
* Renamed Refrences
* Prefix With ./
* Typo
* Newline Fix
* Scratch Cat By Default!
* Single Quotes And Max Legth Fixed
* Better Comment Above loadProject
* Move newProject to index.js
* Added Dependincies to index.js
* Deleted newProject.js
* Removed Unneeeded Semicolon
* @param {?string}
* Added SVG For Scxratch Cat
* Now Uses Scratch Cat Offline (REQUIRES PULL REQUEST MADE TO SCRATCH-RENDER TO BE MERGED OR IT WILL NOT WORK)
* Added Stage PNG
* Added Stage Creation
* Fix Sizing Issues
* Import And Compatibility With Less Hacky Image Import (Scratch-Render)
* Import And Compatibility With Less Hacky Image Import (Scratch-Render)
* Fixed Line Length
* Added Navigation Bar
* Added CSS For Drop Down Menus
* Nicer Scale
* Nicer Dropdowns
* Remobved Dropdown CSS (It Didn't Work)
* Add Scratch Player Bar CSS
* Add Scratch Player Bar HTML
2016-09-12 11:05:16 -04:00
Tim Mickel
d93eeed05d
More color utilities, touching color, color touching color ( #155 )
...
* Fill out color utilities
* Amend Color.decimalToHex name
* Add `Cast.toScaledRgbColor`
* Add touching color, color touching color blocks
* Fix scale of Cast.toRgbColor
* Fix format of colors to use renderer-style lists
* Update `Color.decimalToRgb`
* Lint self
2016-09-12 10:58:50 -04:00
Tim Mickel
5df0acc895
Better glows ( #152 )
...
* Strip out old script glowing in thread management
* Add new tracking mechanism for glowing scripts
* Track parents and use them to determine script glows
* Use top-block for a thread if there's nothing on the stack
* Remove `console.log`
2016-09-08 09:40:53 -04:00
Tim Mickel
797f844de3
Stage, costumes, backdrops ( #149 )
...
* Add `Clone.prototype.getCostumeIndexByName`, keep in range
* Add basic costume primitives from Scratch 2.0
* Add costume getter block
* Add properties and methods for distinguishing stage and sprites-vs-clones
* Add backdrop-related looks blocks
* Fix up "switch to backdrop" to be working
* Costume/backdrop reporters are 1-indexed
* Fire "when backdrop switched" hats
* Cut cloning helpers for a separate PR
* Disable many blocks on the stage
* Refactor into _setCostumeOrBackdrop; implement switch backdrop and wait
* Fire hats even when backdrop unchanged
2016-09-08 09:40:27 -04:00
Tim Mickel
14feb64005
Create a new input if one doesn't exist ( #148 )
...
* Create a new input if one doesn't exist
* Add regression tests for move-into-empty and obscuring shadows via move
2016-09-08 09:40:01 -04:00
Eric Rosenbaum
7709a4095e
first working audio engine using audioworker
2016-09-07 16:55:38 -04:00
Tim Mickel
f7e339f7c2
Remove uppercase from keyboard hat activators
2016-09-07 16:00:22 -04:00
Tim Mickel
3fcd70a802
KEY_OPTIONS -> KEY_OPTION
2016-09-07 15:57:53 -04:00
Eric Rosenbaum
6d21890338
Merge remote-tracking branch 'LLK/develop' into develop
2016-09-06 12:55:19 -04:00
Eric Rosenbaum
8bf2949eea
play note block uses scale degree input
2016-09-06 12:54:58 -04:00
Tim Mickel
3dbfc3fdb6
Tweaks from SB2 importer audit ( #137 )
...
* Fix SB2 variable imports!
* Fix expectedArg field types
* motion_pointindirection uses math_angle
* Fix "think for secs" expected input
* Add handling for empty input case (empty if-else, for example)
* Fix opcodes for if_else, repeat_until, set tempo
* Specialized number fields for SB2 import
* Convert color picker numbers to hex in SB2 import
* KEY_OPTIONS -> KEY_OPTION
* Backdrop blocks get BACKDROP
* Update toolbox XML to match naming changes
* Merge in math_angle case
* Move color converter to its own utility
* Fix merge conflicts
* Add negative color check.
* Fix keyoptions naming
* Pen JSON tweak post-scratch-blocks update
2016-09-06 11:46:10 -04:00
Tim Mickel
9a8b68643a
Shadow improvements ( #135 )
...
* Always add `next` to block representation
* Add `shadow` property to inputs, to maintain obscured shadows
* Create obscured shadows in SB2 import
* Add XML import of obscured shadows
* Alias SB2 shadow inputs to block inputs
* Add shadow to inputs on "delete inputs" test
* Add a small test to ensure obscured shadows are preserved
* Add more obscured shadow tests
2016-09-06 10:55:52 -04:00
dekrain
7caf8e588a
More hats ( #143 )
...
* Key pressed hat
* Tabs -> Spaces
* Oops
* Edge activate
* Fix hat
Phew...
* I forgot to change it also here
:/ :/ :\
* Minor fixes for TravisCi
* Minor docs
* Line length
2016-09-03 16:33:45 -04:00
Tim Mickel
e831866789
Keyboard events, "key is down" reporter ( #117 )
...
* Keyboard events, "key is down" reporter
* Update comment about inputs
* Simplify/generalize keyMap into a keys-pressed list
* Cast values passed to scratchKeyToKeyCode appropriately.
* Cut unspaced key values
* Fix lint from merge commit
2016-09-02 11:23:09 -04:00
Tim Mickel
86f136dd10
Merge pull request #115 from tmickel/feature/2.0-loader
...
Start of a 2.0 project loader
2016-09-02 11:16:35 -04:00
Tim Mickel
77d0376b15
Merge pull request #107 from tmickel/feature/hats
...
Hat blocks
2016-09-02 11:12:07 -04:00
Tim Mickel
ae89cfbb6b
Comment nit
2016-09-02 09:47:27 -04:00
liam4
1437a358e1
getDay is zero-based where Sunday = 0; Sunday should be 1
2016-09-02 10:20:54 -03:00
liam4
602cb47a1e
Remove unused util variable
2016-09-02 01:01:17 -03:00
liam4
f981e8747f
Implement 'current' block
2016-09-02 00:48:14 -03:00
Tim Mickel
c70e9759a9
Add initial SB2 importer and spec map
2016-08-31 13:56:05 -04:00
Tim Mickel
3e749fb9f1
Add loadProject, setEditingTarget, and UI emits
2016-08-31 12:28:09 -04:00
Tim Mickel
23d9999a9f
Add runtime.getTargetById
helper
2016-08-31 12:18:24 -04:00
Tim Mickel
d4a43639f3
Add editingTarget
and map block events to that target
2016-08-31 12:08:54 -04:00
Tim Mickel
08f48c5b30
Always start runtime with an empty target list.
2016-08-31 12:03:41 -04:00
Tim Mickel
ba0cc0dcfc
Pass along newCoordinate of Blockly MOVE events
2016-08-31 11:50:29 -04:00
Tim Mickel
ad82a5cb74
Add naming mechanism for targets/clones
2016-08-31 11:50:10 -04:00
Tim Mickel
2c6722b958
Add unique ID for Targets
2016-08-31 11:39:57 -04:00
Tim Mickel
b1a3026ea1
Blockly XML encoding for Blocks
object
...
Provide two functions, `toXML` and `blockToXML`, which can be used to generate workspaces based on the VM representation of the blocks.
2016-08-31 11:38:45 -04:00
Tim Mickel
c58bda1839
Record coordinate changes in block representation
2016-08-31 11:34:29 -04:00
Tim Mickel
05a5369d7b
Switch Blockly listener to normal function (not closure/generated)
2016-08-31 11:34:17 -04:00
Tim Mickel
aa70c1bc3b
Add shadow, x, y properties to block adapter
2016-08-31 11:32:59 -04:00
Tim Mickel
8339e2769f
Clean up and add documentation to sprite/clone
2016-08-31 11:30:09 -04:00
Tim Mickel
2da121d019
Add UID utility
2016-08-31 11:21:42 -04:00
Tim Mickel
be06078df1
Update sprite and clones to have basic costume support
2016-08-31 11:21:32 -04:00
Tim Mickel
bdc95cffc0
Rename trigger->activate/start
2016-08-29 10:26:26 -04:00
Tim Mickel
1098a06985
Various renames for hat opcodes/top blocks, allScriptsDo
2016-08-29 10:18:49 -04:00
Tim Mickel
3ccfdf3df0
Use hasOwnProperty
in getIsHat
/getIsEdgeTriggeredHat
2016-08-29 10:03:21 -04:00
Tim Mickel
40c90bbcc7
Add isActiveThread
and simplify broadcast-and-wait accordingly
2016-08-29 10:01:31 -04:00
Tim Mickel
64b82f4dc2
Switch back j->i
2016-08-29 09:52:34 -04:00
Tim Mickel
29887e24c9
Simplify execute
hat check.
...
In case a reporter has side-effects, we'd probably like to run hat predicates even if there is no next block.
2016-08-24 11:04:23 -04:00
Tim Mickel
4f81033762
Remove extra Thread require
2016-08-23 18:46:54 -04:00
Tim Mickel
4f2cccf279
Fix issue when broadcasting in a when-broadcast
2016-08-23 18:37:03 -04:00
Tim Mickel
fe2ba2a536
Implementation of timer > _, broadcast, broadcast and wait
2016-08-23 18:14:05 -04:00
Tim Mickel
b4cf64009f
General-purpose hat implementation
2016-08-23 18:12:32 -04:00
Tim Mickel
39fdbaf983
Add atStackTop helper to Thread
2016-08-23 18:12:19 -04:00
Tim Mickel
43f3b59f7c
Add retireThread
to seqeuencer
2016-08-23 15:53:34 -04:00
Tim Mickel
94e389c8fb
Refactor script glowing into its own runtime function
2016-08-23 15:47:21 -04:00
Eric Rosenbaum
5e268d57d3
scale to midi note reporter
2016-08-17 16:45:01 -04:00
Eric Rosenbaum
f8e460f1b4
fixing quantize unit again
2016-08-17 12:45:06 -04:00
Eric Rosenbaum
911a8fa02e
fixing quantize unit (oops)
2016-08-17 11:45:58 -04:00
Eric Rosenbaum
fee8f61079
removing attempted quantization
2016-08-17 11:38:01 -04:00
Eric Rosenbaum
d121a4c6fa
Merge remote-tracking branch 'LLK/develop' into develop
...
# Conflicts:
# src/engine/runtime.js
2016-08-16 16:41:36 -04:00
Eric Rosenbaum
d5e46535e8
playing with quantization
2016-08-16 16:32:35 -04:00
Eric Rosenbaum
27184762bd
fixed panner
2016-08-16 12:04:24 -04:00
Tim Mickel
aebcfde492
Add VM "I/O devices", clock, mouse as demo
2016-08-15 21:37:36 -04:00
Tim Mickel
349cb14c5a
Removing extra cast in join implementation
2016-08-11 19:00:11 -04:00
Tim Mickel
bfe007e29f
Add casting utilities and apply them to operator blocks
2016-08-11 18:47:55 -04:00
Tim Mickel
07e965261d
Implementation of remaining operators
2016-08-11 18:47:55 -04:00
Eric Rosenbaum
8c40e9c383
play sound, play drum and audio effects experiments
2016-08-11 16:47:01 -04:00
Tim Mickel
4faaf1b685
Rename stacks
to scripts
...
Further pushing toward removing ambiguity of what "stack" means in the codebase.
2016-08-11 11:11:27 -04:00
Tim Mickel
7780b25c46
Project wide rename substack -> branch
2016-08-10 11:43:49 -04:00
Eric Rosenbaum
951d7771f3
tonejs synth for play note blocks
2016-08-09 15:40:50 -04:00
Andrew Sliwinski
32c691d404
Merge branch 'develop' of github.com:LLK/scratch-vm into bugfix/2
2016-08-09 09:26:31 -04:00
Tim Mickel
2c031d87f6
Make renderer/self nullable in the Clone
...
Fixes a test issue where renderer is not necessarily defined.
2016-08-08 18:29:44 -04:00
Andrew Sliwinski
32b1d4ec61
Remove memoizee dependency and usage in adapter. Resolves GH-2
2016-08-08 17:07:50 -04:00
Tim Mickel
67c3ceff86
Update clone's scale to match renderer update
2016-08-08 16:47:52 -04:00
Tim Mickel
a6ad34f002
Add primitive for math_angle
, fixing point in direction
2016-08-08 16:44:48 -04:00
Tim Mickel
0b826c0dc9
Remove unused Promise in scratch3_operators
2016-08-08 15:44:55 -04:00
Tim Mickel
c47a061edb
Updates for newly released scratch-render repo
2016-08-08 15:43:52 -04:00
Tim Mickel
c650de8520
Real version of Clone.prototype.setVisible
2016-07-13 16:52:46 -04:00
Tim Mickel
1f19d7a209
Only visually report when an actual value was returned
2016-07-07 19:44:26 -04:00
Tim Mickel
9c6dca8131
Add visual reporting of top-level reporter execution
2016-07-07 19:42:38 -04:00
Tim Mickel
d4353458ff
Don't quit loop when a thread is yielding
2016-07-06 14:16:44 -04:00
Tim Mickel
30dc285a37
Add implementations for math_positive_number and math_whole_number
2016-07-06 14:13:03 -04:00
Tim Mickel
7c24bdc612
More documentation in sprite, clone
2016-07-06 14:09:06 -04:00
Tim Mickel
2e01caa8a6
Add documentation for math-util functions.
2016-07-06 14:04:36 -04:00
Tim Mickel
798368b6c5
Add documentation in src/sprites/clone.js
2016-07-06 13:57:58 -04:00
Tim Mickel
460760bd06
Stub "say" and "think" blocks with console.log
2016-07-06 13:47:32 -04:00
Tim Mickel
0ae0ea5f22
Run threads for 60fps
2016-07-01 16:30:33 -04:00
Tim Mickel
ce941c6fd8
Add show/hide blocks using ghost effect as backend
2016-07-01 12:56:59 -04:00
Tim Mickel
6891a3a5dd
Add direction reporter
2016-07-01 12:56:45 -04:00
Tim Mickel
660029010d
Feed in requestAnimationFrame events to VM
...
Not sure exactly how to use these yet, but it seems helpful to have them in there.
2016-07-01 11:52:43 -04:00
Tim Mickel
bb68fcab25
Additional fix for repeat's executedInFrame
2016-07-01 11:41:52 -04:00
Tim Mickel
57217f0044
Rename executed
in repeat, ifElse
2016-07-01 11:29:32 -04:00
Tim Mickel
ad30fa8059
Temporarily remove per-block glow
2016-07-01 11:27:01 -04:00
Tim Mickel
e4f6c9e90c
"Repeat until" implementation
2016-07-01 11:25:26 -04:00
Tim Mickel
dda4fc8332
Yield frame on an empty substack
2016-07-01 11:24:06 -04:00
Tim Mickel
39c71b559d
Update repeat implementation to execute once per frame
2016-07-01 10:50:31 -04:00
Tim Mickel
de6ba08866
Add single-frame yield mode
2016-07-01 10:44:43 -04:00
Tim Mickel
5876681bc7
Version of random that truncates ints
2016-07-01 10:28:47 -04:00
Tim Mickel
bb5acd1ef4
Fix merge issue in execute.js
2016-06-30 19:01:19 -04:00
Tim Mickel
1eaed6fff3
Implement graphic effects and size blocks
2016-06-30 18:59:47 -04:00
Tim Mickel
7db2981ddc
Add additional motion block implementations
2016-06-30 18:59:47 -04:00
Tim Mickel
42f0f66acd
Implement move steps, turn right, turn left, point in direction
2016-06-30 18:59:47 -04:00
Tim Mickel
727d2c0d23
Clamp clone direction like Scratch 2.0
2016-06-30 18:59:47 -04:00
Tim Mickel
7db38e8422
Implement a few math utilities
2016-06-30 18:59:47 -04:00
Tim Mickel
19da0b0032
Add renderer demo using scratch-render-webgl
2016-06-30 18:59:47 -04:00
Tim Mickel
809528abdc
Straw-man implementation of targets/sprites/clones
2016-06-30 18:59:17 -04:00
Tim Mickel
1c24770f8c
Remove debug calls from execute
2016-06-30 18:56:31 -04:00
Tim Mickel
ec4567aa8a
Simplify logic for Thread status
2016-06-30 18:56:31 -04:00
Tim Mickel
ab6e0d3839
Remove YieldTimers, unused WeDo blocks
2016-06-30 18:56:31 -04:00
Tim Mickel
6daee9a70e
Remove VM-locking yield mode per discussion
2016-06-30 18:56:23 -04:00
Tim Mickel
9a7ab57f6f
Always yield thread when a promise is returned.
2016-06-30 18:56:23 -04:00
Tim Mickel
9881ee76b9
Deal with promise rejection also.
2016-06-30 18:56:23 -04:00
Tim Mickel
57057bfffc
Remove unused require to fix build
2016-06-30 18:56:23 -04:00
Tim Mickel
d72cc55c11
Example that uses promises instead of util.report
2016-06-30 18:56:23 -04:00
Tim Mickel
8f6a88c095
Ensure predicates always return booleans
2016-06-30 18:56:23 -04:00
Tim Mickel
09b9c506a9
Check for blocking case in stepToReporter
2016-06-30 18:56:23 -04:00
Tim Mickel
405ad1044e
getBlockingThread_ returns null when none available.
2016-06-30 18:56:23 -04:00
Tim Mickel
d44b806b4f
Add blocking yield mode
2016-06-30 18:56:23 -04:00
Tim Mickel
c63747e61b
Move stepping logic for reporters to sequencer
2016-06-30 18:56:23 -04:00
Tim Mickel
f802faa461
operator_not in primitive table
2016-06-30 18:56:23 -04:00
Tim Mickel
f210c12d4d
Add more operators for testing
2016-06-30 18:56:23 -04:00
Tim Mickel
e56c6e6980
Rename primitiveReturnValue
-> primitiveReportedValue
2016-06-30 18:56:23 -04:00
Tim Mickel
e83cfa6049
Add comment and clear currentStackFrame.reported
2016-06-30 18:56:23 -04:00
Tim Mickel
9d9749681b
Comment and else
for reporter finishes right away
2016-06-30 18:56:23 -04:00
Tim Mickel
b21c9edf04
Commenting improvements
2016-06-30 18:56:23 -04:00
Tim Mickel
173f0615d3
Refactor: always push reports to the stack frame
2016-06-30 18:56:23 -04:00
Tim Mickel
6181bcd5cb
Refactor Thread.peekParentStackFrame
2016-06-30 18:56:23 -04:00
Tim Mickel
bed3e28c02
Simplifications of execute
ordering
...
and always cache returned reporter values in currentStackFrame.reported.
2016-06-30 18:56:23 -04:00
Tim Mickel
d15c93af05
Keep "waiting reporter name" on the stack frame.
...
Also add highlighting for inputs.
2016-06-30 18:56:23 -04:00
Tim Mickel
7ef3807b18
Example of a yielding reporter (returns random number after 1s)
2016-06-30 18:56:23 -04:00
Tim Mickel
97f7571c6f
Prototype implementation of yielding reporters
2016-06-30 18:56:23 -04:00
Tim Mickel
190208b620
Clean up yield-timers: support multiple, move logic to Threads.
2016-06-30 18:56:23 -04:00
Tim Mickel
b97974e2ac
Implement WebWorker interface
2016-06-21 15:30:27 -04:00
Tim Mickel
783a3688aa
Update index.js to support worker environment
2016-06-21 14:48:54 -04:00
Tim Mickel
652cc8a31c
Fix references to window
2016-06-21 14:29:40 -04:00
Tim Mickel
28432b6f01
Merge pull request #81 from tmickel/feature/update-playground-june-14
...
Update playground and block implementations to match scratch-blocks
2016-06-17 11:55:44 -04:00
Tim Mickel
695d0bd7fd
Merge pull request #80 from tmickel/bugfix/empty-fields
...
Handling empty fields
2016-06-17 11:46:36 -04:00
Tim Mickel
7427fe4ff3
Add fix for adapter
to deal with empty fields
2016-06-14 18:14:04 -04:00
Tim Mickel
a1be1d6566
Update playground and block implementations to match scratch-blocks
2016-06-14 18:08:41 -04:00
Tim Mickel
056fb76492
Remove try/catch in execution - fix #75
2016-06-13 11:23:39 -04:00
Tim Mickel
a58fa43572
Add reset to numYieldingThreads
and comment about YieldTimers
2016-06-10 13:38:35 -04:00
Tim Mickel
e9eb7c6e57
Remove leftover console.groupEnd
s in execute
2016-06-10 13:34:07 -04:00
Tim Mickel
0bf9ab59a1
Add implementation for ifElse
2016-06-10 10:40:15 -04:00