Mike Welsh
746b9d8518
core: Support for DefineBitsJPEG3/4
...
TODO: Pull out all JPEG decoding into core, remove jpeg-decoder
dependency from backend crates.
2019-08-12 16:44:49 -07:00
Mike Welsh
a3998b657b
core: Remove invalid JPEG data from DefineBitsJPEG
...
DefineBitsJPEG tags can have some extraneous bytes inside the
stream. Splice these out when decoding the JPEG.
TODO: Docs say this should only happen for SWF versions before 8?
2019-08-12 15:45:40 -07:00
Mike Welsh
23db688e6f
core: Add DefineBitsLossless decoding function
...
Pulled out the code for decoding DefinieBitsLossless tags into
backend::render::define_bits_lossless_to_rgba. Switch to libflate
for zlib decoding.
2019-08-12 15:45:40 -07:00
Mike Welsh
f1cc436544
web: Update demo page w/ black background
2019-08-11 21:02:38 -07:00
Mike Welsh
1177388413
web: Dynamically resize and letterbox movie
2019-08-11 20:50:31 -07:00
Mike Welsh
2bfc8767d0
desktop: Add letterbox to viewport
...
Add getters to Player to allow access to the type Renderer.
Letter/pillarboxes added as window resized.
2019-08-11 18:07:02 -07:00
Mike Welsh
24fc403e06
core: Make player generic over backend
2019-08-09 22:34:15 -07:00
Mike Welsh
2accd5bdd4
core: Remove audio struct
2019-08-09 16:03:13 -07:00
Mike Welsh
3edc3c3d3e
web: Disable auto-play, add click-to-play
2019-08-09 14:50:20 -07:00
Mike Welsh
a2b95eb12a
Fix color transforms on web
...
The color matrix filter was not being applied to the vector art.
2019-08-08 15:59:32 -07:00
Mike Welsh
e64e306137
Rework audio to allow for streaming decoding
2019-08-08 15:59:32 -07:00
Mike Welsh
725cdae6c5
Begin AVM1 cleanup
2019-08-08 15:58:45 -07:00
Mike Welsh
24b25e66da
Update lodash
2019-08-08 15:57:10 -07:00
Mike Welsh
ce5faefe1f
Work
2019-08-08 15:57:10 -07:00
Mike Welsh
fd8f58c6c2
Work
2019-07-10 21:04:59 -07:00
Mike Welsh
5610001eae
Remove listbox from demo page (for now)
2019-06-25 16:30:35 -07:00
Mike Welsh
3263255e60
Add color filter SVG as child of canvas element
...
Avoid adding to body, which can affect document layout.
2019-06-25 15:50:22 -07:00
Mike Welsh
64d6ea6f3f
Move web demo into web/demo
...
Keep the root web folder as a pure NPM package. Move demo webpack
config separetly into web/demo.
2019-06-25 11:27:04 -07:00
Mike Welsh
7512275847
web: Bump wasm-bindgen to 0.2.44
2019-05-17 17:35:29 -07:00
Mike Welsh
3cefeeba6a
Use twips for internal calculations
...
Switch from pixels to twips for internal calculations. swf crate
was updated to add a Twips wrapper-type. Ruffle will use this type
internally for transforms and shapes. This fixes some precision
errors in rendering (see heroes_of_cybertron.swf) and will match
what the Flash Player does internally more closely. (e.g.
DisplayObject x and y will be quantized to 1/20 pixel units). It
is up to the renderer to convert units from twip space to pixels
when rendering.
2019-05-17 13:40:56 -07:00
Mike Welsh
023406aa2b
web: Move requestAnimationFrame loop into Rust
2019-05-16 19:14:37 -07:00
Mike Welsh
4e3eecb016
core: Improve SVG strokes
...
Use stroke properties to apply stroke styles from the SWF.
2019-05-12 13:35:03 -04:00
Mike Welsh
79b3a7007d
core: Initial morph shape implementation
2019-05-12 12:55:48 -04:00
Mike Welsh
cc7ef196e9
web: Clean up Player interface
...
Use generational_arena indices for the JS-side Player handle.
2019-05-10 09:06:47 -07:00
Mike Welsh
af33b8538e
desktop: Better event sounds
2019-05-09 17:43:53 -07:00
Mike Welsh
efe3270ce0
web: Decode streams completely on preload (for now)
2019-05-09 12:43:26 -07:00
Mike Welsh
58311e20a9
web: Re-organize npm/webpack files
...
Use wasm-pack-plugin npm package.
2019-05-08 11:32:44 -07:00
Mike Welsh
62ae3b0c46
Rename project
2019-05-08 09:46:19 -07:00
Mike Welsh
14b6c59a3c
web: Update demo page
2019-05-07 16:07:23 -07:00
Mike Welsh
bfc735e3b7
web: Allow specifying SWF in query params
2019-05-07 10:03:45 -07:00
Mike Welsh
67b96119e3
Fix padding on 8-bit PNGs
2019-05-07 09:51:06 -07:00
Mike Welsh
2f2f4b0c0b
Quick palettized RGBA PNG support
2019-05-07 00:22:52 -07:00
Mike Welsh
ebbcc828ff
web: Skip SeekSamples in MP3 event sounds
2019-05-06 10:42:48 -07:00
Mike Welsh
e0acb7cb30
Fix crash when drawing an empty shape in Firefox
2019-05-06 10:37:25 -07:00
Mike Welsh
61ec4b2436
web: Add player.destroy() method
2019-05-06 03:52:27 -07:00
Mike Welsh
401da0e68a
Spruce up the sample HTML page
2019-05-06 03:52:27 -07:00
Mike Welsh
8262db3991
ADPCM decoder
2019-05-06 02:34:45 -07:00
Mike Welsh
e99b4a6fcf
web: Add support for uncompressed event sounds
2019-05-05 22:13:22 -07:00
Mike Welsh
cf2091477d
Support uncompressed event sounds
2019-05-05 22:04:35 -07:00
Mike Welsh
4a824069af
web: First pass of event sounds
2019-05-05 16:43:19 -07:00
Mike Welsh
1a4734896d
Event sounds and text on web
2019-05-05 15:55:27 -07:00
Mike Welsh
2480469c2c
First pass of static text
2019-05-04 11:45:11 -07:00
Mike Welsh
6e8082f01b
Reorganized backend structure
2019-05-02 19:56:17 -07:00
Mike Welsh
ae8df0486b
Use a handle for the JS<->Rust Player object
2019-05-02 17:17:02 -07:00
Mike Welsh
5e88f43280
Color transforms
2019-05-01 09:55:54 -07:00
Mike Welsh
9957206aee
Work
2019-04-30 04:38:04 -07:00
Mike Welsh
eb6c23d967
Work
2019-04-30 01:53:21 -07:00
Mike Welsh
663ad9f663
Work
2019-04-29 13:24:29 -07:00
Mike Welsh
ee64cc77bc
Reforactor
2019-04-27 23:08:59 -07:00
Mike Welsh
b7ac6dc2ce
Refactor
2019-04-27 18:15:43 -07:00