Commit graph

2319 commits

Author SHA1 Message Date
Jordan Eldredge
e887733143 Avoid annoying message when running yarn commands 2019-07-19 20:58:47 -07:00
jberg
5343180181 more function and scope tests (#813)
* more function and scope tests

* hack to fix handling of wrong sign offsets

* attempting to fix async issue

* fixes captbaritone found

* add comment about recursive function
2019-07-18 15:40:00 -07:00
Jordan Eldredge
7d76a5762b Move runtime to toplevel 2019-07-16 18:48:02 -07:00
Jordan Eldredge
31a6a26bab Add messages section 2019-07-16 18:48:02 -07:00
Jordan Eldredge
fe569b8d0b Pause before the first command 2019-07-16 18:48:02 -07:00
jberg
ac31fb6801 fix button image rendering and handle layout without x/y (#812) 2019-07-16 18:47:26 -07:00
Jordan Eldredge
333bebee07 Speed up running scripts in the debugger 2019-07-15 07:30:38 -07:00
jberg
fdef7b8897 measure image if we don't have node attributes to use (#811)
* measure image if we don't have node attributes to use

* return image, allow for x/y to be specificied without w/h
2019-07-14 22:36:17 -07:00
jberg
e0036cba81 tweak 2 arg operatores and coercion (#810) 2019-07-14 17:16:56 -07:00
Jordan Eldredge
a1c49d2003 Abstract how we handle two argument operators.
Some don't work. I wonder why.
2019-07-14 15:55:04 -07:00
Jordan Eldredge
32534992ac Don't log the "done" promise 2019-07-14 15:45:20 -07:00
Jordan Eldredge
50fdc8529d Be consistent with ordering of a and b, even when it does not matter
Interestingly this changes the order of << but tests still pass
2019-07-14 15:45:04 -07:00
Jordan Eldredge
4330331082 Commands only have a single argument 2019-07-14 15:41:33 -07:00
jberg
7ba86cf584 fix tests, sprinkle more async/await (#809) 2019-07-14 15:25:40 -07:00
jberg
ea7b2d7670 remove integer checking (#808) 2019-07-13 19:00:04 -07:00
Jordan Eldredge
b73f9117dd Run prettier 2019-07-13 15:57:03 -07:00
jberg
a9fb8631c5 add simple function tests, run wa5 tests (#806)
* add simple function tests

* add simple functions to test suite

* add popTo/callGlobal definitions

* use interpret for callGlobal, pass stack to interpret

* type check and cast to int when setting variables

* need to await interpret calls

* get wa5 tests running

* add some comments
2019-07-13 15:45:32 -07:00
Jordan Eldredge
e6f67cf6f5 Reference correct skin in utils test 2019-07-13 15:37:57 -07:00
jberg
c0caa5fa60 simplify type coercion / fix destructuring related error (#807) 2019-07-12 15:29:14 -07:00
jberg
c642b183e7 More basic tests (#805)
* add more basic tests

* add/update passing test strings

* only coerce if int is on LHS
2019-07-12 14:49:57 -07:00
jberg
4e880ab130 implement more operators and coerce types (#804)
* implement more operators and coerce types

* add remaining operators
2019-07-12 09:55:49 -07:00
Jordan Eldredge
bf5c3e9078 Fix initial paused state 2019-07-11 22:31:04 -07:00
Jordan Eldredge
56547a73ba Improve debugging 2019-07-11 22:29:37 -07:00
Jordan Eldredge
9fc8d49dc7 Use a reducer to update state 2019-07-11 22:29:37 -07:00
jberg
4b3323cbca check type on modulo (#803) 2019-07-11 22:20:32 -07:00
Jordan Eldredge
549a0d7b38 Implement more operators and add debugger 2019-07-11 20:57:18 -07:00
Jordan Eldredge
25bd25fde2 Inject logger 2019-07-11 20:57:18 -07:00
Jordan Eldredge
c9fc58ea44 Reenable tests 2019-07-11 20:57:18 -07:00
Jordan Eldredge
417e22f28e Allow parser.js to run in the browserFor some reason object destructuing makes someone assume we should be using es6 exports 2019-07-11 20:57:18 -07:00
Jordan Eldredge
0be6a8e092 Compensate for the upcoming i++ 2019-07-11 20:57:18 -07:00
Jordan Eldredge
b1fdd62410 Start running basic test 2019-07-11 20:57:18 -07:00
Jordan Eldredge
28f5d0929b Add missing opcodes
the basicTest.m file, compiled by the Winamp3 compiler (and perhaps others) output these opcodes which are unknown to the decompiler. I _think_ this is what they are supposed to be.
2019-07-11 20:57:18 -07:00
Jordan Eldredge
e4ae01291c Consolidate line 2019-07-11 20:57:18 -07:00
jberg
10fa928c1e add basic maki operator tests (#802) 2019-07-09 20:36:45 -07:00
Jordan Eldredge
eae24a1263 Extract version info 2019-07-09 08:16:16 -07:00
Jordan Eldredge
2f6f1937a9 Inline calculating position 2019-07-09 08:16:16 -07:00
Jordan Eldredge
974c903715 Pull local functions into their own thing 2019-07-09 08:16:16 -07:00
Jordan Eldredge
88b67e376a Move binding logic into Variable 2019-07-08 08:24:13 -07:00
Jordan Eldredge
de1b5350b0 Improve error message for missing classes 2019-07-05 17:20:24 -07:00
Jordan Eldredge
8621ca0f41 Add commented version of interpreting maki 2019-07-05 17:20:24 -07:00
Jordan Eldredge
f49074cb3d Handle unknown objects better 2019-07-05 17:20:24 -07:00
Jordan Eldredge
5e5703b500 Split out function for formatting ids 2019-07-05 17:20:24 -07:00
Jordan Eldredge
6528d4dcb3 Use the name "data" 2019-07-05 17:20:24 -07:00
Jordan Eldredge
0d906a02d1 Don't use buffer when parsing maki 2019-07-05 17:20:24 -07:00
Jordan Eldredge
e0da85cada Move the maki-interpreter experiment into the modern experiment
We're getting to a place where it's going to be feasible to test the
Maki interpreter in the browser, so it makes sense to merge the two
experiments.
2019-07-05 17:20:24 -07:00
jberg
d89e9a0fde add simple skin (#801) 2019-07-05 17:12:33 -07:00
Jordan Eldredge
02e4db6752 Homonyms, how do they work? 2019-07-05 07:47:10 -07:00
Jordan Eldredge
8216ed3939 Get rid of props 2019-07-05 07:47:10 -07:00
Jordan Eldredge
da4f14c50f Start writing MakiFile to use a Uint8Array under the hood
For now we do both and assert that they behave the same
2019-07-05 07:47:10 -07:00
Jordan Eldredge
1a1ffc8b5f Error on invalid arg type 2019-07-05 07:47:10 -07:00