Commit graph

245 commits

Author SHA1 Message Date
dependabot[bot]
22b18786b0 Bump mixin-deep from 1.3.1 to 1.3.2 in /experiments/skin-database (#895)
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-05 06:39:39 -07:00
dependabot[bot]
6a1a6628ec Bump mixin-deep from 1.3.1 to 1.3.2 in /experiments/skinArchiveTools (#896)
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-05 06:39:32 -07:00
Jordan Eldredge
83d9443328 Fix lints 2019-08-24 22:30:48 -07:00
dependabot[bot]
828c8e6d83 Bump lodash from 4.17.11 to 4.17.15 in /experiments/skin-database (#838)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.15.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.15)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-05 19:34:50 -07:00
dependabot[bot]
da1ad125e5 Bump lodash from 4.17.11 to 4.17.13 in /experiments/skinArchiveTools (#835)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.13)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-05 19:34:21 -07:00
Jordan Eldredge
dfdffb390b Fix lint errors in skin-database 2019-08-05 19:26:54 -07:00
Jordan Eldredge
aedd8e4745
Modern integration (#833)
* Make modern part of the code base

`yarn modern` will now start a dev server with the modern app running.

The debugger is not yet setup

`yarn test` will run all the tests, both Webamp and "modern".

* Let debug work

* Prettier

* Ignore lint errors for now

* Point test at the now skin location
2019-08-05 19:17:12 -07:00
Jordan Eldredge
42a409f339 Fix debugger variables
I broke this in b2267d569b

This fix is gross, but I'm just trying to move forward.
2019-08-05 18:59:55 -07:00
jberg
931ba4d8ca Fix getclassname typo (#832) 2019-08-05 18:54:58 -07:00
jberg
596af530fa add events on GuiObjects (#830)
* add events on GuiObjects

* switch to mouse enter/leave instead of out/over
2019-08-05 17:52:12 -07:00
Jordan Eldredge
7cb1e45a1a Migrate to ES6 modules 2019-08-05 08:11:57 -07:00
Jordan Eldredge
b2267d569b Use getclassname to avoid dependency cyle 2019-08-05 08:04:00 -07:00
jberg
c401f81721 remove registry, use tree lookups (#828)
* remove images from registry, use tree lookups

* dont need registry for images anymore

* remove registry

* remove registry, apply groupdefs using lookups

* change function name

* simplify direct descendants

* remove prev siblings methods, just check inside loop for node

* comment on search

* handle groupdefs we dont find

* handle not finding specific id in first <elements> we find

* abstract out findInLexicalScope

* Add Js prefix for non-Maki objects
2019-08-04 14:14:22 -07:00
jberg
23e783c12e fix variable unboxing issue, move all unboxing to single method (#827) 2019-08-02 22:56:51 -07:00
jberg
cc386e05ae
add more maki objects and functions for corner amp to work (#826)
* add more maki objects and functions for corner amp to work

* fix functions to lower case / add unimplemented warning
2019-08-02 15:29:16 -07:00
jberg
6454952812 Handle MAKI functions being case insensitive (#825) 2019-08-02 06:58:57 -07:00
jberg
c93daf8e1b remove checking current hooks for event handling (#824) 2019-08-01 19:47:06 -07:00
jberg
6304537326 Initialize maki object tree (#823)
* make initialize tree out of maki objects

* pass global flag to variables, only need hooks for global variables

* implement new opcode

* start using non generic makiobject

* run scripts

* fix running scripts

* skip standardframe for now

* switch to simple example for now

* make WAL a group

* move xml/init functions to be in GuiObject

* handle creating backing XML nodes for objects created (new) in scripts

* simpler null check

* add js_ prefixes

* only bind event handlers for hooks if they are present

* uppercase for Classes

* make null checking explicit

* need to check undefined, not null

* implement init for adding nodes to state tree

* dont render groupdefs, dont execute scripts in groupdefs

* implement getContainer

* move find descendants to utils
2019-08-01 17:25:03 -07:00
Jordan Eldredge
2cd0897c3c Fix a few variable names I forgot to update 2019-07-31 17:50:39 -07:00
Jordan Eldredge
9a50a92466 Clean up and document the generator approach 2019-07-31 17:44:59 -07:00
jberg
0d16df9c27 working on initialize and linking groupdefs (#820)
* move images to initialize

* return nodes from initialize, lookup groupdefs

* fix attributes when copying groupdefs

* position groups with x/y

* more parsers for classic modern skin

* if img doesn't exist just return the node without adding to registry

* dont need nested node

* simplify ids

* simplify splitValues

* new variable with name
2019-07-31 16:44:07 -07:00
Jordan Eldredge
cf09ea75d7
Start sketching out initialization (#815) 2019-07-31 15:13:55 -07:00
Jordan Eldredge
18e198a13f Clean up and document the generator approach 2019-07-23 23:49:20 -07:00
Jordan Eldredge
7b3026e5fb Unwrap program 2019-07-23 20:23:46 -07:00
Jordan Eldredge
d30e0a6f5f Get the first set of internal state right away 2019-07-23 20:00:54 -07:00
Jordan Eldredge
19781e334a Move paused into the reducer 2019-07-23 19:58:11 -07:00
Jordan Eldredge
3d876c57f2 Don't resume on removing a breakpoint 2019-07-23 19:55:01 -07:00
Jordan Eldredge
f58f994a99 Rewrite the debugger to use the generator approach to pausing code 2019-07-23 19:54:01 -07:00
Jordan Eldredge
c03783eb39 Add the ability to inject a command handler into the interpreter 2019-07-23 19:53:29 -07:00
Jordan Eldredge
1c240e927e Make the VM a generator 2019-07-23 17:02:02 -07:00
Jordan Eldredge
41553c5a85 Make the VM sync 2019-07-23 16:53:20 -07:00
Jordan Eldredge
0e1f94b245 Consolidate maki and mordern skin reference files 2019-07-20 21:28:35 -07:00
Jordan Eldredge
cd2f8e71f6 Improve parser tests
Ensure we can parse all scripts and move the parser tests to a parser test file for clarity
2019-07-20 18:39:43 -07:00
Jordan Eldredge
028858e7a3
Inline includes (#819)
* Inline includes

Rather than making the content of the included file the _contents_ of
the `<include />` node, we replace the `<include />` node with the
children of the included file.

* Use asyncTreeFlatMap instead of asyncTreeMap

FlatMap is more powerful than map. More importantly, I only want to maintain one tree map function if I can help it.
2019-07-20 18:33:21 -07:00
Jordan Eldredge
d4634d7df6 Move offset mapping entirely into the parser 2019-07-20 18:18:19 -07:00
Jordan Eldredge
d99f8c1f9d Assert which files get read from the zip 2019-07-20 17:01:27 -07:00
Jordan Eldredge
76e472acac Introduce asyncDepthFirstFlatMap 2019-07-20 17:01:27 -07:00
Jordan Eldredge
d12bbcadd1 Prettier 2019-07-20 17:01:27 -07:00
jberg
06f3a473ed Add runtime version and remove version check hacks (#818)
* add runtime version and remove version check hacks

* move jump logic into a shared function
2019-07-20 16:39:19 -07:00
jberg
3cfd9278c8 lookup command opcodes in debugger (#817) 2019-07-20 16:26:17 -07:00
Jordan Eldredge
386d46bcd7 Add comments in places where we await because of #814 2019-07-19 22:03:59 -07:00
Jordan Eldredge
9f04b71609 Clean up test format 2019-07-19 21:59:24 -07:00
Jordan Eldredge
3debd3704e Remove try/catch blocks
There were only here so that we could check in the tests before the code actually worked
2019-07-19 21:49:16 -07:00
Jordan Eldredge
ea3a7b4736 Use signed ints for function offsets 2019-07-19 21:46:38 -07:00
Jordan Eldredge
2cd23e7b14 Consolidate cases that get a variable offset 2019-07-19 21:38:25 -07:00
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