Commit graph

74 commits

Author SHA1 Message Date
Jordan Eldredge
36eae6d2b9 Start to add xml tree 2019-08-21 21:48:33 -07:00
Jordan Eldredge
efe13aac32 Share uids between maki objects and state tree 2019-08-21 21:48:33 -07:00
Jordan Eldredge
66e5091811 Persist skin URL to query param 2019-08-21 21:41:41 -07:00
jberg
d17333d428 Add missing config classes (#874)
* Add missing config classes

* fix test
2019-08-21 21:04:13 -07:00
Jordan Eldredge
1a7be6bce7 Add flag to state indicating when skin is loaded 2019-08-21 20:15:11 -07:00
Jordan Eldredge
e3b5031f29 Extract browser-only functions into Utils
This will make it easier to mock out these methods in tests to use Node apporaches to these problems
2019-08-21 20:06:11 -07:00
jberg
bae6a56458 Fix filename slashes (#880)
* Fix windows filename slashes

* add comment

* readXml will already convert the slashes
2019-08-21 16:30:21 -07:00
jberg
0fc4aacbbc Fix script group finding (#877) 2019-08-21 14:35:59 -07:00
jberg
533d7f3f8f add button left/rightclick functions (#878) 2019-08-20 07:40:45 -07:00
jberg
ceb85fa4be
Add delete opcode (#869) 2019-08-19 14:43:06 -07:00
jberg
59689fa827 Add some unimplemented methods to classes (#872)
* Add some unimplemented methods to classes

* fix test
2019-08-19 10:25:27 -07:00
jberg
378c9c595b Pass store into skin loading (#875) 2019-08-19 10:22:44 -07:00
jberg
39c3a25c0a Add more nodes to initialize (#873) 2019-08-19 10:22:18 -07:00
jberg
8ab2990f20 Add some more methods to classes (#871)
* Add some more methods to classes

* fix test
2019-08-19 10:21:31 -07:00
jberg
eda8d028c2 First check object type for subclass (#870) 2019-08-19 10:20:51 -07:00
jberg
b32520a122 Convert null MAKI objects to global NULL value (#866)
* Coerce null MAKI objects to 0

* use global NULL value
2019-08-19 09:10:46 -07:00
Jordan Eldredge
0ea8cc6561 Add a simple way to change skins 2019-08-19 06:34:43 -07:00
jberg
51f06c8e4c Add more modern skins that partially render (#867)
* Add more modern skins that partially render

* Use skinUrls from archive instead of including skin zips

* add a few more skins from archive
2019-08-19 06:29:04 -07:00
Jordan Eldredge
52dfa6801a
Custom ESLint rule to validate Maki classes (#868) 2019-08-19 06:27:47 -07:00
Jordan Eldredge
0deca6f156 Add unique ID to each node in the state tree 2019-08-19 06:26:26 -07:00
Jordan Eldredge
287f226d32 Add glob dependency and allow rules that only warn 2019-08-18 14:26:31 -07:00
Jordan Eldredge
0f7bf53868 no-else-return 2019-08-18 14:23:01 -07:00
Jordan Eldredge
995e16143d eqeqeq 2019-08-18 14:22:07 -07:00
Jordan Eldredge
2b4c2dca97 Don't return await from async func 2019-08-18 14:21:24 -07:00
Jordan Eldredge
95208d173b Don't ignore undefined variables 2019-08-18 14:20:17 -07:00
Jordan Eldredge
a8d98ee432 Prefer const in modern 2019-08-18 14:19:16 -07:00
Jordan Eldredge
fd4b301427 Clean up unused variables 2019-08-18 14:15:29 -07:00
Jordan Eldredge
e35c85af3c Remove dupes 2019-08-18 14:07:47 -07:00
Jordan Eldredge
2365732a71 Turn back on linting for modern 2019-08-18 14:06:43 -07:00
jberg
0a8a30d5ce Remove xml schema and warn instead of error for missing parsers (#865) 2019-08-18 13:46:58 -07:00
jberg
11441c306c fix container after inheritance change (#859)
* fix container after inheritance change

* fix missing method test
2019-08-18 13:01:26 -07:00
jberg
7744404dc2 Dont need to render certain MAKI nodes (#864) 2019-08-18 13:00:23 -07:00
jberg
1b9fd878a4 handle Layout where we dont have background images or dont draw them (#862) 2019-08-18 12:46:59 -07:00
jberg
9b21ed4d6b Render text nodes (#863)
* Render text nodes

* add TODO about displaying text node info
2019-08-18 12:16:35 -07:00
Jordan Eldredge
fe68c78fcc
Ensure we have no extra methods (#861) 2019-08-18 10:18:29 -07:00
Jordan Eldredge
a45397cf72 Track all missing methods 2019-08-17 21:22:16 -07:00
jberg
449b4acb38 MakiObject classname really should be Object (#860) 2019-08-17 17:21:33 -07:00
jberg
067d4c1fef
Handle MAKI functions that need input, implement popupmenu (#854)
* initial test for generator class functions

* return promise from functions that need async

* move null check into isPromise and fix condition

* implementing popmenu

* fix dynamic node creation in prod build

* remove unnecessary async/await

* rename function with js_ prefix

* TODO to fix styles
2019-08-17 16:44:15 -07:00
Jordan Eldredge
6918dbb2c0 Test that our runtime implementaiton matches the object definitions we got from the decompiler (#857)
Eventually it would be nice to test against std.mi
2019-08-17 16:10:05 -07:00
jberg
e4fc867656 Add all the remaining MAKI classes (#855) 2019-08-16 17:46:49 -07:00
Jordan Eldredge
f9a3818a06 Use mage-rendering: pixelated; 2019-08-16 07:45:57 -07:00
Jordan Eldredge
81ca0eac05 Use background for showing images
This prevents images which are larger than the element from having their
image squished.
2019-08-16 07:28:38 -07:00
Jordan Eldredge
810b062d06 Type Emitter 2019-08-14 21:30:27 -07:00
Jordan Eldredge
53162a7134 Add more nodes to the initialization schema 2019-08-14 21:20:41 -07:00
Jordan Eldredge
7a283c9e65 Use a Set for checking if a value exists in a collection 2019-08-14 19:55:47 -07:00
Jordan Eldredge
de8c147f6a Allow dragging files into Modern demo and allow Debugger to live on the same page
Note that the debugger is not yet actually connected to the maki code running in the skin
2019-08-14 19:55:47 -07:00
Jordan Eldredge
d95e90edbe Merge modern into the main Webpack config 2019-08-14 19:55:47 -07:00
Jordan Eldredge
82b685f08b Add bare XML state to Redux 2019-08-13 07:14:07 -07:00
Jordan Eldredge
123df6cc23 Move volume into Redux 2019-08-13 06:57:06 -07:00
Jordan Eldredge
1c58705fbf Add missing import 2019-08-13 06:55:32 -07:00