Commit graph

2386 commits

Author SHA1 Message Date
Jordan Eldredge
2ccfba5d6d Start adopting react-redux hooks 2019-08-09 07:57:49 -07:00
Jordan Eldredge
f636c873dc Upgrade react-redux types 2019-08-09 07:57:49 -07:00
Jordan Eldredge
7ffee3ff3f Upgrade react-redux 2019-08-09 07:57:49 -07:00
jberg
54c6dc626c Fix hook variable passing and initial stack setup (#844) 2019-08-08 21:56:08 -07:00
jberg
adce725c52
Fix event x/y and add a few more methods (#842)
* Fix event x/y and add a few more methods

* ensure attributes exist and simplify

* simplify with ternary
2019-08-08 13:11:55 -07:00
Jordan Eldredge
9731c75ac8 Fix monkey patching in the debugger 2019-08-08 08:00:53 -07:00
Jordan Eldredge
f2f13e360e Fix debugger alignment 2019-08-08 07:53:36 -07:00
Jordan Eldredge
1169b259d4 Avoid setting minWidth to NaN 2019-08-08 07:30:22 -07:00
Jordan Eldredge
2382c2008c Decompose lexical scope walking 2019-08-08 07:30:20 -07:00
Jordan Eldredge
c2160e3ffb I like destructuring 2019-08-08 07:27:26 -07:00
Jordan Eldredge
bc17786674 Letters are cheap, lets use more of them 2019-08-08 07:26:56 -07:00
Jordan Eldredge
6cca873346 Upgrade eslint-plugin-prettier 2019-08-08 07:26:56 -07:00
jberg
6433def06b
Remove xmlNode from MAKI objects (#829)
* Remove xmlNode from MAKI objects

* fix missed in rebase
2019-08-07 18:34:02 -07:00
Jordan Eldredge
3d9e539206 Fix auto-fixable lint errors in modern (#840) 2019-08-05 23:41:10 -07:00
dependabot[bot]
1d7e7abc99 Bump handlebars from 4.1.0 to 4.1.2 (#839)
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.0 to 4.1.2.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.0...v4.1.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-05 19:35:03 -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]
9656a1e1d4 Bump lodash.template from 4.4.0 to 4.5.0 (#837)
Bumps [lodash.template](https://github.com/lodash/lodash) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.4.0...4.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-05 19:34:41 -07:00
dependabot[bot]
cf16cbbca7 Bump stringstream from 0.0.5 to 0.0.6 (#834)
Bumps [stringstream](https://github.com/mhart/StringStream) from 0.0.5 to 0.0.6.
- [Release notes](https://github.com/mhart/StringStream/releases)
- [Commits](https://github.com/mhart/StringStream/compare/v0.0.5...v0.0.6)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-05 19:34:32 -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
dependabot[bot]
cac2672b1f Bump ecstatic from 3.2.0 to 3.3.2 (#836)
Bumps [ecstatic](https://github.com/jfhbrook/node-ecstatic) from 3.2.0 to 3.3.2.
- [Release notes](https://github.com/jfhbrook/node-ecstatic/releases)
- [Changelog](https://github.com/jfhbrook/node-ecstatic/blob/3.3.2/CHANGELOG.md)
- [Commits](https://github.com/jfhbrook/node-ecstatic/compare/3.2.0...3.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-08-05 19:34:11 -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