Jordan Eldredge
b44c825acb
Make it more clear that func and line get the same info
2019-07-19 21:36:17 -07:00
Jordan Eldredge
ad4c95d602
Don't leak data from constants outside of the parserEventually we will get rid of the object in constants, so we don't want others to expect this data to be here.
2019-07-19 21:34:42 -07:00
Jordan Eldredge
aaf490b143
Remove unused data about localFunctions
2019-07-19 21:28:20 -07:00
Jordan Eldredge
2c62e419a7
Inline readUInt32LE
...
This will allow us to do signed ints in some places but not all.
2019-07-19 21:07:53 -07:00
Jordan Eldredge
5cc12d4464
Prettier
2019-07-19 20:59:20 -07:00
Jordan Eldredge
8b5e0204b9
Add utility function for getting binary arrays out of zips
2019-07-19 20:59:14 -07:00
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