Commit graph

123 commits

Author SHA1 Message Date
Jordan Eldredge
78ba489cc3 Prefer Date.getFullYear()
MDN says `.getYear` is deprecated.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear
2019-09-10 08:51:33 -07:00
Jordan Eldredge
3619859a8c Appease linter 2019-09-10 08:47:55 -07:00
jberg
8e83d8e5c9 Add more datetime functions (#916)
* Implement more datetime functions

* split out function

* add getdateyear and getdatedst

* add function comments from MAKI

* remove year/dst functions from test
2019-09-10 08:25:37 -07:00
jberg
1db9cfe031 Trigger hookables (#917) 2019-09-10 08:09:16 -07:00
jberg
ea7946eaf0 Add more modern skins (#918) 2019-09-09 19:17:36 -07:00
jberg
f03452ebbb Add getVUMeter functions (#912) 2019-09-07 19:03:44 -07:00
jberg
49293be610 Add more system time and number functions (#913)
* Add more system time and number functions

* rename 2->Two
2019-09-07 15:44:50 -07:00
jberg
9a3b133946 Fix layout overflow (#914)
* Fix layout overflow

* overflow if width or height are present
2019-09-07 15:42:37 -07:00
jberg
e7eb0c1500 Implement mouse position (#908)
* Implement mouse position

* move getMousePosition to utils
2019-09-07 10:29:28 -07:00
Jordan Eldredge
c8013edca2 Overflow hidden for layout 2019-09-06 21:03:36 -07:00
jberg
a09a876c11 Trigger update on resize (#906) 2019-09-06 09:06:16 -07:00
jberg
c70abfc6c4 Implement float <-> string conversion (#907) 2019-09-06 09:04:43 -07:00
jberg
7db16faa63 Render animated layers, still needs image loading changes (#900)
* Render animated layers, still needs image loading changes

* convert params from strings once initially, add return types

* rename params->style

* fix gotoframe

* split out defaults/type conversion into own functions, review tweaks

* fix more null checks

* abstract out backgroundPosition and width/height calculation

* use raf for animation loop, split out into functions

* fix lint errors, specify window as global
2019-09-06 08:39:53 -07:00
jberg
4b54aed3bf fix ghost logic, add defaults and type conversion (#904) 2019-09-06 08:06:31 -07:00
Jordan Eldredge
7d7dd7a2f2 alpha 2019-09-05 06:18:43 -07:00
Jordan Eldredge
f48731865c Type action 2019-09-05 06:16:31 -07:00
Jordan Eldredge
0d9c05882c Add/enforce return types for implemented Maki methods 2019-09-05 06:16:31 -07:00
Jordan Eldredge
1868047e1a Add some missing method return types 2019-09-05 06:12:55 -07:00
Jordan Eldredge
b409aec8b3 Implement some simple System methods 2019-09-05 06:12:55 -07:00
Jordan Eldredge
6c7afd2c3d Don't return undefined in asyncTreeFlatMap
Subsequent calls will try to access `node.children`, so we have to return some kind of object.

Prevents a failure in http://localhost:8080/modern?skinUrl=https%3A%2F%2Farchive.org%2Fcors%2Fwinampskin_EMP%2FEMP.wal

Now it fails due to opcode 255
2019-09-05 06:12:55 -07:00
jberg
02db018c28 Opacity tweak (#899) 2019-09-04 15:07:03 -07:00
Jordan Eldredge
ab213c3d69 Fix opacity 2019-09-03 21:28:31 -07:00
Jordan Eldredge
6694fe02a2 Mark GuiObject.isvisible as implemented 2019-09-03 09:23:25 -07:00
Jordan Eldredge
7155baf668 Remove unreachable code 2019-09-03 09:15:29 -07:00
Jordan Eldredge
e0b7381545 Only render the current layer for each container 2019-09-03 07:37:40 -07:00
Jordan Eldredge
bc1d4a9324 Small cleanup refactor 2019-09-03 07:37:40 -07:00
Jordan Eldredge
6262e53dd1 Move visibility check to GuiObjectEvents
Eventually I think we will have a compositional heirarchy that mirrors the inheritance hierarchy so GuiObjectEvents will become GuiObjectsComponent or similar.
2019-09-03 07:37:40 -07:00
Jordan Eldredge
361d357df2 Allow components to render their own children 2019-09-03 07:37:38 -07:00
Jordan Eldredge
a408440918 Extract rendering children 2019-09-03 07:36:59 -07:00
Jordan Eldredge
bbb38cca9e Split out unknown component into DummyComponent 2019-09-03 07:36:59 -07:00
Jordan Eldredge
41ee65622c Don't generalize wrapping with <GuiObjectEvents>
I think it's better to just make this an implementation detail of the individual components

In the future, I think the components will take on more and more. They should be the single source of truth for how a Maki object renders itself.
2019-09-03 07:36:52 -07:00
Jordan Eldredge
7b7ecf2377 Remove unused pos and use shorthand 2019-09-03 07:05:06 -07:00
Jordan Eldredge
bbb0e739b6 Use the first layout when rendering the child of a container 2019-09-03 07:04:35 -07:00
Jordan Eldredge
b2ad5f2f21 Add type for Container.visible 2019-09-01 13:51:30 -07:00
Jordan Eldredge
78fd267407 Fix a few type errors 2019-08-30 07:35:10 -07:00
Jordan Eldredge
905268dac2 Add more tree search utilities 2019-08-29 08:46:55 -07:00
Jordan Eldredge
66dc33c368 Remove unused code 2019-08-29 07:08:50 -07:00
Jordan Eldredge
58c6c11244 Automatically add some types to Maki method arguments
These were added using `yarn lint --fix`.
2019-08-29 07:08:50 -07:00
Jordan Eldredge
e634095d66 Make all Maki objects TypeScript 2019-08-29 07:08:50 -07:00
Jordan Eldredge
513cb33d99 XmlNodes don't have parent references 2019-08-29 07:08:50 -07:00
jberg
70b9e98aea Fix emitter export (#890) 2019-08-26 11:56:48 -07:00
jberg
34a68ae64f Remove script loading from initialize (#889) 2019-08-26 09:13:35 -07:00
Jordan Eldredge
cee3c14bd5 Improve types 2019-08-26 09:11:19 -07:00
Jordan Eldredge
3f7590817f Decompose findParentNodeOfType 2019-08-26 09:11:19 -07:00
Jordan Eldredge
10a722f613 Letters are cheap 2019-08-26 09:11:19 -07:00
jberg
3a8f8055e8
Set opacity and ghost at GuiObject (#885)
* Set opacity and ghost at GuiObject

* add parseInt radix param

* move style calculations into GuiObjectEvents

* fixes after rebasing

* add alpha range in comment

* simplify alpha condition
2019-08-25 15:24:42 -07:00
Jordan Eldredge
8dbf348dba Add some generic methods for dealing with selectors (#888) 2019-08-24 23:49:21 -07:00
Jordan Eldredge
98bcf9f682 Stub Out Missing Methods (#887)
* Add fixable rule to report missing Maki methods

* Stub out missing methods

These were auto-generated with the ESLint rule

* Don't lint on too many params, when the params are defined by Maki

* Improve objects tests now that all maki methods are stubbed out

Now we can assume all methods exist and we can also start a list of unimplemented methods
2019-08-24 23:04:50 -07:00
Jordan Eldredge
83d9443328 Fix lints 2019-08-24 22:30:48 -07:00
Jordan Eldredge
948c96dc64 Allow private methods in objects test 2019-08-24 22:17:28 -07:00