Commit Graph

11159 Commits

Author SHA1 Message Date
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
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 eadc1da798 Keep Twips as integers
Add Twips wrapper type around i32. Keep Twips coordinates as i32.
Add conversion methods to convert to/from pixels.
2019-05-17 13:07:42 -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