2019-06-27 01:14:52 +00:00
< p align = "center" >
< a href = "https://ruffle.rs" > < img src = "https://ruffle.rs/assets/logo.png" alt = "Ruffle" > < / a >
< / p >
< p align = "center" >
2019-08-20 19:48:28 +00:00
< a href = "https://circleci.com/gh/ruffle-rs/ruffle" >
2019-08-15 12:57:26 +00:00
< img src = "https://img.shields.io/circleci/build/github/ruffle-rs/ruffle" alt = "Travis Build Status" >
< / a >
< a href = "https://discord.gg/J8hgCQN" >
< img src = "https://img.shields.io/discord/610531541889581066" alt = "Ruffle Discord" >
< / a >
< br >
2019-09-14 08:13:18 +00:00
< strong > < a href = "https://ruffle.rs" > website< / a > | < a href = "http://ruffle-rs.s3-website-us-west-1.amazonaws.com/builds/web-demo/index.html?file=synj1.swf" > demo< / a > | < a href = "http://ruffle-rs.s3-website-us-west-1.amazonaws.com/" > nightly builds< / a > | < a href = "https://github.com/ruffle-rs/ruffle/wiki" > wiki< / a > < / strong >
2019-06-27 01:14:52 +00:00
< / p >
2019-04-25 17:52:22 +00:00
2019-08-15 12:57:26 +00:00
# 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
2019-08-15 12:58:18 +00:00
Ruffle is in the proof-of-concept stage and can currently run early Flash animations. ActionScript support is still forthcoming; for more info, read the [project roadmap ](https://github.com/ruffle-rs/ruffle/wiki/Roadmap ).
2019-04-25 17:52:22 +00:00
2019-09-14 08:13:18 +00:00
## Building from source
2019-05-16 17:10:32 +00:00
[Follow the official guide ](https://www.rust-lang.org/tools/install ) to install Rust for your platform.
### Desktop
2019-05-16 17:31:23 +00:00
* `cargo run --package=ruffle_desktop -- test.swf`
2019-05-16 17:10:32 +00:00
### Web
* Install [Node.js ](https://nodejs.org/en/ )
* Install [wasm-pack ](https://rustwasm.github.io/wasm-pack/installer/ )
2019-06-25 18:27:04 +00:00
#### Running the web demo
* `cd web/demo`
* `npm install`
* `npm run serve`
2019-05-16 18:16:53 +00:00
* Load indicated page in browser (usually http://localhost:8080)
2019-05-16 17:10:32 +00:00
2019-06-25 18:27:04 +00:00
#### Building the NPM package
* `cd web`
* `wasm-pack build`
2019-10-11 14:19:18 +00:00
### 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`
2019-04-28 06:26:04 +00:00
## Structure
2019-04-25 17:52:22 +00:00
2019-04-28 06:26:04 +00:00
- `core` contains the core emulator and common code
- `desktop` contains the desktop client (uses `glium` )
- `web` contains the web client (uses `wasm-bindgen` )
2019-10-11 14:19:18 +00:00
- `scanner` contains a utility to bulk parse swf files
2019-04-25 17:52:22 +00:00
2019-12-11 01:59:15 +00:00
## 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:
< p align = "center" >
< a href = "https://www.newgrounds.com" >
< img src = "assets/ng_logo.png" alt = "Newgrounds.com" >
< / a >
< / a >
2019-04-28 06:26:04 +00:00
## License
2019-04-25 17:52:22 +00:00
2019-04-28 06:26:04 +00:00
Licensed under either of
2019-08-18 13:49:41 +00:00
* 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)
2019-04-28 06:26:04 +00:00
at your option.
2019-04-25 17:52:22 +00:00
2019-04-28 06:26:04 +00:00
### Contribution
2019-04-25 17:52:22 +00:00
2019-04-28 06:26:04 +00:00
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you shall be dual licensed as above, without any
2019-05-01 16:36:43 +00:00
additional terms or conditions.