Jordan Eldredge
585b75ae4e
Inline readUInt32LE
...
This will allow us to do signed ints in some places but not all.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
5dab717425
Prettier
2019-11-30 13:42:53 -08:00
Jordan Eldredge
326c37d149
Add utility function for getting binary arrays out of zips
2019-11-30 13:42:53 -08:00
Jordan Eldredge
81fa6010e8
Avoid annoying message when running yarn commands
2019-11-30 13:42:53 -08:00
jberg
137e78e688
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-11-30 13:42:53 -08:00
Jordan Eldredge
3105ab1372
Move runtime to toplevel
2019-11-30 13:42:53 -08:00
Jordan Eldredge
2a9376e018
Add messages section
2019-11-30 13:42:53 -08:00
Jordan Eldredge
0690f8cf8d
Pause before the first command
2019-11-30 13:42:53 -08:00
jberg
d0ceda1520
fix button image rendering and handle layout without x/y ( #812 )
2019-11-30 13:42:53 -08:00
Jordan Eldredge
62bb17188d
Speed up running scripts in the debugger
2019-11-30 13:42:53 -08:00
jberg
a925bfc31e
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-11-30 13:42:53 -08:00
jberg
d6f9ce8351
tweak 2 arg operatores and coercion ( #810 )
2019-11-30 13:42:53 -08:00
Jordan Eldredge
005629f9e9
Abstract how we handle two argument operators.
...
Some don't work. I wonder why.
2019-11-30 13:42:53 -08:00
Jordan Eldredge
3798934615
Don't log the "done" promise
2019-11-30 13:42:53 -08:00
Jordan Eldredge
05362da4a3
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-11-30 13:42:53 -08:00
Jordan Eldredge
5a7489db4e
Commands only have a single argument
2019-11-30 13:42:53 -08:00
jberg
e015c15625
fix tests, sprinkle more async/await ( #809 )
2019-11-30 13:42:53 -08:00
jberg
f56d44cbb8
remove integer checking ( #808 )
2019-11-30 13:42:53 -08:00
Jordan Eldredge
fb14ae9a00
Run prettier
2019-11-30 13:42:53 -08:00
jberg
4c06a38d46
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-11-30 13:42:53 -08:00
Jordan Eldredge
0187838132
Reference correct skin in utils test
2019-11-30 13:42:53 -08:00
jberg
e8e49103a9
simplify type coercion / fix destructuring related error ( #807 )
2019-11-30 13:42:53 -08:00
jberg
9007b1c4ee
More basic tests ( #805 )
...
* add more basic tests
* add/update passing test strings
* only coerce if int is on LHS
2019-11-30 13:42:53 -08:00
jberg
1146ce4758
implement more operators and coerce types ( #804 )
...
* implement more operators and coerce types
* add remaining operators
2019-11-30 13:42:53 -08:00
Jordan Eldredge
8e0f50a2e6
Fix initial paused state
2019-11-30 13:42:53 -08:00
Jordan Eldredge
66c3a5c058
Improve debugging
2019-11-30 13:42:53 -08:00
Jordan Eldredge
cf2e8992af
Use a reducer to update state
2019-11-30 13:42:53 -08:00
jberg
6b1301cef9
check type on modulo ( #803 )
2019-11-30 13:42:53 -08:00
Jordan Eldredge
dcbcd20a65
Implement more operators and add debugger
2019-11-30 13:42:53 -08:00
Jordan Eldredge
c02b59219c
Inject logger
2019-11-30 13:42:53 -08:00
Jordan Eldredge
6ce7193bc0
Reenable tests
2019-11-30 13:42:53 -08:00
Jordan Eldredge
0abccdd211
Allow parser.js to run in the browserFor some reason object destructuing makes someone assume we should be using es6 exports
2019-11-30 13:42:53 -08:00
Jordan Eldredge
736a922cba
Compensate for the upcoming i++
2019-11-30 13:42:53 -08:00
Jordan Eldredge
5c4c82f4d8
Start running basic test
2019-11-30 13:42:53 -08:00
Jordan Eldredge
deb8289d6a
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-11-30 13:42:53 -08:00
Jordan Eldredge
f94fcf2579
Consolidate line
2019-11-30 13:42:53 -08:00
jberg
cf9c58c31b
add basic maki operator tests ( #802 )
2019-11-30 13:42:53 -08:00
Jordan Eldredge
ec25acfc1e
Extract version info
2019-11-30 13:42:53 -08:00
Jordan Eldredge
44fb10d776
Inline calculating position
2019-11-30 13:42:53 -08:00
Jordan Eldredge
ec754cfbce
Pull local functions into their own thing
2019-11-30 13:42:53 -08:00
Jordan Eldredge
53c06ab7c4
Move binding logic into Variable
2019-11-30 13:42:53 -08:00
Jordan Eldredge
d52129c5d9
Improve error message for missing classes
2019-11-30 13:42:53 -08:00
Jordan Eldredge
27aba0b826
Add commented version of interpreting maki
2019-11-30 13:42:53 -08:00
Jordan Eldredge
39bad700e9
Handle unknown objects better
2019-11-30 13:42:53 -08:00
Jordan Eldredge
ff26800905
Split out function for formatting ids
2019-11-30 13:42:53 -08:00
Jordan Eldredge
0711ac4bbf
Use the name "data"
2019-11-30 13:42:53 -08:00
Jordan Eldredge
8806b78c0a
Don't use buffer when parsing maki
2019-11-30 13:42:53 -08:00
Jordan Eldredge
256e24d83d
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-11-30 13:42:53 -08:00
jberg
7db826ffba
add simple skin ( #801 )
2019-11-30 13:42:53 -08:00
Jordan Eldredge
2337fa93e7
Homonyms, how do they work?
2019-11-30 13:42:53 -08:00