ruffle/README.md

105 lines
4.4 KiB
Markdown
Raw Normal View History

<p align="center">
<a href="https://ruffle.rs"><img src="https://ruffle.rs/assets/logo.png" alt="Ruffle"></a>
</p>
<p align="center">
<a href="https://circleci.com/gh/ruffle-rs/ruffle">
<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>
2020-08-24 00:49:58 +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">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>
</p>
2019-04-25 17:52:22 +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
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).
2019-04-25 17:52:22 +00:00
2020-02-17 23:34:46 +00:00
## 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.
2020-02-17 23:34:46 +00:00
## Building from source
2020-02-17 23:10:31 +00:00
[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`
2020-05-26 13:57:28 +00:00
### Web or Extension
2020-05-26 13:57:28 +00:00
Follow [the instructions in the web directory](web/README.md#building-from-source) for building
either the web or browser extension version of Ruffle.
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-10-11 14:19:18 +00:00
### 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`
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
2020-04-27 16:15:29 +00:00
- `desktop` contains the desktop client (uses `wgpu-rs`)
2020-05-26 13:57:28 +00:00
- [`web`](web) contains the web client and browser extension (uses `wasm-bindgen`)
2019-10-11 14:19:18 +00:00
- `scanner` contains a utility to bulk parse swf files
- `exporter` contains a utility to generate PNG screenshots of a swf file
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">
2020-02-17 23:21:18 +00:00
<a href="https://www.newgrounds.com">
<img src="https://ruffle.rs/assets/sponsors/newgrounds.png" alt="Newgrounds.com">
2020-02-17 23:21:18 +00:00
</a>
<a href="https://www.cpmstar.com">
<img src="https://ruffle.rs/assets/sponsors/cpmstar.png" alt="CPMStar">
2020-02-17 23:21:18 +00:00
</a>
<a href="https://deepnight.net">
<img src="https://ruffle.rs/assets/sponsors/deepnight.png" alt="Sébastien Bénard">
2020-02-17 23:21:18 +00:00
</a>
<a href="https://www.crazygames.com">
<img src="https://ruffle.rs/assets/sponsors/crazygames.png" alt="Crazy Games">
</a>
<a href="https://www.coolmathgames.com">
<img src="https://ruffle.rs/assets/sponsors/coolmathgames.png" alt="Cool Math Games">
</a>
2020-05-26 13:57:28 +00:00
</p>
2019-12-11 01:59:15 +00:00
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
- 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.
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
Ruffle welcomes contribution from everyone. See CONTRIBUTING.md for help getting started.
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.
The entire Ruffle community, including the chat room and GitHub project, is expected to abide by the [Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct) that the Rust project itself follows.