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