Commit Graph

101 Commits

Author SHA1 Message Date
Mike Welsh e8c4aa95c3
docs: Update README.md
Add discord links and project status.
2019-08-15 05:57:26 -07:00
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 f3a746de21 core: Improve morph shape
Morph shapes where move_to was not in a matching pair would crash.
Now the previous pen position is used to generate the matching
move_to.

The ratio was backwards, causing the shape tween to run in
reverse. Morph shapes should now animate in the proper direction.
2019-08-11 23:58:06 -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 af2287a658 desktop: Add letterbox to viewport
Add getters to Player to allow access to the type Renderer.
Letter/pillarboxes added as window resized.
2019-08-10 10:18:32 -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 3d81ba5eb6 Update lyon to 0.13.3 2019-07-10 21:04:59 -07:00
Mike Welsh fd8f58c6c2 Work 2019-07-10 21:04:59 -07:00
Lucas Baizer 1521fb0bc1 Allow gradients with more than 8 colors 2019-06-28 10:14:09 -07:00
Mike Welsh 812e79595c
Add website and demo links to README.md
Center header image and links
2019-06-26 18:14:52 -07:00
Mike Welsh 006a072a31 Add CircleCI badge to README 2019-06-25 17:12:02 -07:00
Mike Welsh 14ec5d0d10 Update circleci config 2019-06-25 16:59:09 -07:00
Mike Welsh 1460ece3dc Use commit id for swf-rs cargo dependency 2019-06-25 16:48:16 -07:00
Mike Welsh 738a7a8278 Add logo to README 2019-06-25 16:30:43 -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 2a365288e8 Update to latest swf-rs 2019-06-17 02:59:32 -07:00
Mike Welsh ba36435711 desktop: Pass pixel coordinates to lyon
Lyon seems sensitive to overflow on large coordinates, so passing
twips resulting in overflow panics on very large shapes.

Avoid panics on tessellation failure: instead, return an empty
mesh and log an error.
2019-05-17 18:51:53 -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 aced67cb15
docs: Update README.md
Fix link to localhost
2019-05-16 11:16:53 -07:00
Mike Welsh 0405666849
docs: Update README.md
cargo build -> cargo run
2019-05-16 10:31:23 -07:00
Mike Welsh b5ef3cb4ea
docs: Update README with build instructions
Add simple build instructions to README for both desktop and web.
2019-05-16 10:10:32 -07:00
Mike Welsh 6673527b0a core: Add clip depth to DisplayObject 2019-05-12 13:48:00 -04: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 61189cfb84 core: Fix text transforms 2019-05-09 14:14:21 -07:00
Mike Welsh efe3270ce0 web: Decode streams completely on preload (for now) 2019-05-09 12:43:26 -07:00
Mike Welsh 74743f327c core: Remove unused file 2019-05-09 12:43:03 -07:00
Mike Welsh 12d6d3342b core: Switch to rust-gc 2019-05-08 18:10:43 -07:00
Mike Welsh 7063bc4080 ci: Add Circle CI config 2019-05-08 13:33:05 -07:00
Mike Welsh 07c6addb8b core: Remove patch from Cargo.toml 2019-05-08 11:59:46 -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