Commit Graph

7866 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 4c6395bd83 core: Use latest git branch for jpeg-decoder
The current version of jpeg-decoder on crates.io (0.1.15) panics
when encountering a valid JPEG marker of length 2. Some SWF files
contained JPEGs with a COM segment of length 2. This is fixed
on the master branch of jpeg-decoder.
2019-08-14 23:19:10 -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 44c9262089 Make various read methods public
Made various Reader methods public for use in Ruffle, and use
structs for Tag enum variants to make the API consistent.
2019-07-22 18:29:39 -07:00
Mike Welsh a908935809 Add inherent TagCode::from_u16 2019-07-22 10:31:37 -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 ef31433735 Bump version 2019-06-17 03:25:09 -07:00
Mike Welsh 5e4e6099a4 Add Tag::End
Tag::End added to the Tag enum, and read_tag and write_tag will
use this variant.  The End tag is still implicit when reading
tag lists (still unsure, this may change in the future).
2019-06-17 03:23:29 -07:00
Mike Welsh 2a365288e8 Update to latest swf-rs 2019-06-17 02:59:32 -07:00
Mike Welsh afbf8fdea5 Make Reader::new public 2019-06-17 02:53:18 -07:00
Mike Welsh 7c41bedbcb Bump Cargo.toml to 0.1.1 2019-06-17 02:11:53 -07:00
Mike Welsh 88d88ebab5 Update naming convention for AVM2 SWFs 2019-06-17 02:04:48 -07:00
Mike Welsh fd2c68e1ef Update naming convention for test SWFs 2019-06-17 01:58:24 -07:00
Mike Welsh d20a7c1123 Make read_ubits and read_sbits private 2019-06-17 01:52:13 -07:00
Mike Welsh d64ec2e133 read_swf decompresses SWF all at once 2019-06-17 01:51:21 -07:00
Mike Welsh bd46c273ee Update doc test filenames 2019-06-17 00:56:26 -07:00
Mike Welsh 8697457e05 Merge branch 'master' into ruffle 2019-06-17 00:52:31 -07:00
Mike Welsh eeca4275d4 clippy: cyclomatic_complexity -> computational_complexity 2019-06-17 00:50:09 -07:00
Mike Welsh 608f090501 Clean up test naming 2019-06-17 00:33:58 -07:00
Mike Welsh 6ab8c4a7d1 Export TagCode 2019-06-16 23:41:27 -07:00
Mike Welsh dc856dfd55 Update README examples 2019-06-16 23:03:48 -07:00
Mike Welsh f23b678ea8 clippy: cyclomatic_complexity -> cognitive_complexity 2019-06-16 22:55:29 -07:00
Mike Welsh 9d1f21eaa4 Add some documentation and clean up reader 2019-06-16 21:23:31 -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