David Wendt
f59d62516e
Fix demo site regressions.
2019-09-03 18:38:05 -04:00
Nathan Adams
a4cdbc4f70
Added `Math` unit tests, first avm tests :)
2019-09-02 22:19:09 +02:00
Nathan Adams
63f85446b7
Renamed builtins to globals, `_global` is a reference to the globals object
2019-09-02 20:45:19 +02:00
Nathan Adams
200129452a
Pass along `ActionContext` to functions
2019-09-02 19:28:38 +02:00
David Wendt
9dd01494f3
build.sh should be executable
2019-09-01 11:49:27 -06:00
David Wendt
406cc746ce
The MimeType for `application/x-shockwave-flash` should list it's extension as `swf`, not `spl`.
2019-08-31 18:57:26 -04:00
Nathan Adams
002272d7b5
Functions return `[type Function]` when converted to strings
2019-08-31 18:28:28 +02:00
Nathan Adams
7a18ece455
`DisplayObject`s all have a AVM1 `Value`. Added `toString()` default method for Objects (but not functions)
2019-08-31 17:54:15 +02:00
Nathan Adams
bd63a82e9e
Split off `Value` into its own file, for slightly less code clutter
2019-08-31 14:29:46 +02:00
Nathan Adams
2eca394a58
Implemented `typeof` for movieclips and functions
2019-08-31 14:09:37 +02:00
David Wendt
fc67f0872f
Don't break Ruffle if we encounter an embed or object without a size.
2019-08-30 22:27:51 -04:00
David Wendt
adc1a79155
Place the extension related build system back .
...
Built extension files now live in `web/extension/build`.
2019-08-30 22:27:51 -04:00
David Wendt
b4b38057e4
Add checks for the Ruffle element being connected.
...
When a Ruffle player element is disconnected, attempts to play SWF files
fail semi-silently.
We also check for nested objects, since only the top should be
successful in loading.
2019-08-30 22:27:50 -04:00
David Wendt
f01f479f54
Don't forget random bits of object tag contents!
2019-08-30 22:27:50 -04:00
David Wendt
2b2f27afad
Falsify a better-sounding version of Flash.
...
This is at least the version Chrome claims to have.
2019-08-30 22:27:50 -04:00
David Wendt
0d8b72acce
Don't try to wrap text nodes, it won't end well.
2019-08-30 22:27:50 -04:00
David Wendt
190666fe91
Interdict Flash tags that use ActiveX.
2019-08-30 22:27:50 -04:00
David Wendt
21454b327b
Fix incorrect centering on homestarrunner.net its dot com
2019-08-30 22:27:49 -04:00
David Wendt
61171037cd
Recognize really old FutureSplash era tags as Flash
2019-08-30 22:27:49 -04:00
David Wendt
9ec4892ae7
Fix regression caused by the extension file move
2019-08-30 22:27:49 -04:00
David Wendt
de00145755
Add icons for the extension
2019-08-30 22:27:49 -04:00
David Wendt
cdf50e29bd
Move the build system and package files out of the extension directory.
...
This keeps the node_modules out of the extension package.
2019-08-30 22:27:49 -04:00
David Wendt
ce5ab95a9a
Compatibility with Chrome's extension environment
2019-08-30 22:27:48 -04:00
David Wendt
fa5a3164ea
should be executable on unixlikes
2019-08-30 22:27:48 -04:00
David Wendt
c02b4c111b
Overwrite navigator.plugins to defeat flash detects
2019-08-30 22:27:48 -04:00
David Wendt
101b1e5715
Fix not being able to handle multiple embeds.
...
This is caused by `HTMLCollection` being too smart for it's own good and
removing elements behind the loop's back.
2019-08-30 22:27:48 -04:00
David Wendt
6fbdc6f1f4
Respect the page's width and height settings in our custom elements
2019-08-30 22:27:47 -04:00
David Wendt
8060802465
Kill `bootstrap.js`, load the WASM ourselves.
...
Instead of forcing a chunk load on Webpack just so we can have Webpack prepare the WASM for us, we're now using the `no-modules` mode of `wasm-pack` manually and loading the resulting files ourselves.
I still have to force Ruffle to load outside of the extension sandbox though...
2019-08-30 22:27:47 -04:00
David Wendt
7c6ad57443
Let's completely force webpack to run outside of the extension sandbox.
...
This idea was stolen from @devsnek, whom I'm currently writing an explanation for.
2019-08-30 22:27:47 -04:00
David Wendt
7a6169275d
Tell webpack about the extension resource URLs
2019-08-30 22:27:47 -04:00
David Wendt
385b9f807e
Fix most (though not all) of our extension bugs.
...
I still can't figure out how to keep Webpack from making requests to the
injected site...
2019-08-30 22:27:47 -04:00
David Wendt
de5a2c31c0
Add embed support.
2019-08-30 22:27:47 -04:00
David Wendt
9529893437
Add console error logging for failed SWF loads
2019-08-30 22:27:46 -04:00
David Wendt
ee8b6d57ba
Don't pull params until after we've been connected.
...
Otherwise, we don't have any params yet...
2019-08-30 22:27:46 -04:00
David Wendt
5655ad44a3
It turns out, we don't need to wait for DOMContentLoaded.
2019-08-30 22:27:46 -04:00
David Wendt
c0e6866745
Fix the demo file upload option
2019-08-30 22:27:46 -04:00
David Wendt
be21a0dbbb
Configure the `<ruffle-object>` tag to style as a
...
block element, like `<object>`
2019-08-30 22:27:45 -04:00
David Wendt
2a2dbba21f
Use a custom element to actually house the Ruffle
...
instance, even though we can't really upgrade `<object>` directly...
2019-08-30 22:27:45 -04:00
David Wendt
6f32fc022c
Copy attributes from hijacked Flash objects
2019-08-30 22:27:45 -04:00
David Wendt
0414e24ce2
First start on extension packaging
2019-08-30 22:27:45 -04:00
David Wendt
bac5ecfe8d
Alter the demo a bit so that it latches onto an
...
already-existing object tag and replaces it with ruffle.
2019-08-30 22:27:45 -04:00
Nathan Adams
14786aeba6
Implemented more movie clip methods + added a basic macro to cut down on boilerplate for movie clip methods
2019-08-31 01:25:14 +02:00
Nathan Adams
543419abee
Added `Object::set_function` helper method
2019-08-30 20:49:56 +02:00
Nathan Adams
2fd7d456a4
Movie clip access from AS. Functions are now callable objects, and receive `this`.
2019-08-30 20:37:48 +02:00
Mike Welsh
35652ae87e
chore: Update dependencies
...
Run cargo update. Remove git dependency on jpeg-decoder (the latest
version was published to crates.io). Update swf-rs to latest to
disable smoothing in SWFv7 and lower (addresses #28 ).
2019-08-29 14:57:12 -07:00
Mike Welsh
1f85a779ac
Bitmap smoothing is only an option in SWFv8+
2019-08-29 14:01:59 -07:00
Nathan Adams
87e6b766c2
Use named functions for builtins
2019-08-28 21:43:20 -05:00
Nathan Adams
2378ea3881
Shuffled around some avm1 builtins & types
2019-08-28 21:43:20 -05:00
Nathan Adams
a74d1734af
Initial work on avm1 method calling, local and global variables.
...
This contains just enough AS1 support for early trivial loading screens to not crash (ie badgers badgers badgers)
2019-08-28 21:43:20 -05:00
Mike Welsh
f41470129d
desktop: Skip path on tessellation error
...
lyon vomits a lot on various tessellations. Previously this would
bail out immediately for the entire shape, resulting in missing art.
Now we just skip that particular path, and the rest of the shape
should get tessellated as normal.
2019-08-26 18:06:10 -07:00