Ruffle

Travis Build Status Ruffle Discord
website | demo | nightly builds | wiki

# Ruffle Ruffle is an Adobe Flash Player emulator written in the Rust programming language. Ruffle targets both the desktop and the web using WebAssembly. ## Project status Ruffle is in the proof-of-concept stage and can currently run early Flash animations and games. Basic ActionScript 1.0/2.0 support is in place and improving; ActionScript 3.0 support is forthcoming. For more info, read the [project roadmap](https://github.com/ruffle-rs/ruffle/wiki/Roadmap). ## Nightly builds [Nightly builds](http://ruffle-rs.s3-website-us-west-1.amazonaws.com/) of Ruffle are available for desktop and web platforms including the browser extension. ## Building from source [Follow the official guide](https://www.rust-lang.org/tools/install) to install Rust for your platform. ### Desktop - `cargo run --package=ruffle_desktop -- test.swf` ### Web or Extension Follow [the instructions in the web directory](web/README.md#building-from-source) for building either the web or browser extension version of Ruffle. ### Scanner If you have a collection of "real world" SWFs to test against, the scanner may be used to benchmark ruffle's parsing capabilities. Provided with a folder and an output filename, it will attempt to read all of the flash files and report on the success of such a task. - `cargo run --package=ruffle_scanner -- folder/with/swfs/ results.csv` ### Exporter If you have a swf and would like to capture an image of it, you may use the exporter tool. This currently requires hardware acceleration, but can be run headless (with no window). - `cargo run --package=exporter -- path/to/file.swf` - `cargo run --package=exporter -- path/to/file.swf path/to/screenshots --frames 5` ## Structure - `core` contains the core emulator and common code - `desktop` contains the desktop client (uses `wgpu-rs`) - [`web`](web) contains the web client and browser extension (uses `wasm-bindgen`) - `scanner` contains a utility to bulk parse swf files - `exporter` contains a utility to generate PNG screenshots of a swf file ## Sponsors You can support the development of Ruffle via [GitHub Sponsors](https://github.com/sponsors/Herschel). Your sponsorship will help to ensure the accessibility of Flash content for the future. Thank you! Sincere thanks to the diamond level sponsors of Ruffle:

Newgrounds.com CPMStar Sébastien Bénard Crazy Games Cool Math Games

## License Licensed under either of - Apache License, Version 2.0 ([LICENSE_APACHE](LICENSE_APACHE) or http://www.apache.org/licenses/LICENSE-2.0) - MIT license ([LICENSE_MIT](LICENSE_MIT) or http://opensource.org/licenses/MIT) at your option. ### Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.