desktop: Add --quality option

This commit is contained in:
Nathan Adams 2023-02-03 16:59:18 +01:00
parent a220703618
commit 68761608fc
5 changed files with 9 additions and 1 deletions

1
Cargo.lock generated
View File

@ -3561,6 +3561,7 @@ name = "ruffle_render"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"approx", "approx",
"clap",
"downcast-rs", "downcast-rs",
"enum-map", "enum-map",
"flate2", "flate2",

View File

@ -11,7 +11,7 @@ version.workspace = true
clap = { version = "4.1.4", features = ["derive"] } clap = { version = "4.1.4", features = ["derive"] }
cpal = "0.15.0" cpal = "0.15.0"
ruffle_core = { path = "../core", features = ["audio", "clap", "mp3", "nellymoser"] } ruffle_core = { path = "../core", features = ["audio", "clap", "mp3", "nellymoser"] }
ruffle_render = { path = "../render" } ruffle_render = { path = "../render", features = ["clap"] }
ruffle_render_wgpu = { path = "../render/wgpu", features = ["clap"] } ruffle_render_wgpu = { path = "../render/wgpu", features = ["clap"] }
ruffle_video_software = { path = "../video/software", optional = true } ruffle_video_software = { path = "../video/software", optional = true }
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }

View File

@ -25,6 +25,7 @@ use ruffle_core::{
PlayerEvent, StageDisplayState, StaticCallstack, ViewportDimensions, PlayerEvent, StageDisplayState, StaticCallstack, ViewportDimensions,
}; };
use ruffle_render::backend::RenderBackend; use ruffle_render::backend::RenderBackend;
use ruffle_render::quality::StageQuality;
use ruffle_render_wgpu::backend::WgpuRenderBackend; use ruffle_render_wgpu::backend::WgpuRenderBackend;
use ruffle_render_wgpu::clap::{GraphicsBackend, PowerPreference}; use ruffle_render_wgpu::clap::{GraphicsBackend, PowerPreference};
use std::cell::RefCell; use std::cell::RefCell;
@ -90,6 +91,10 @@ struct Opt {
#[clap(long, display_order = 2)] #[clap(long, display_order = 2)]
height: Option<f64>, height: Option<f64>,
/// Default quality of the movie.
#[clap(long, short, default_value = "high")]
quality: StageQuality,
/// Location to store a wgpu trace output /// Location to store a wgpu trace output
#[clap(long)] #[clap(long)]
#[cfg(feature = "render_trace")] #[cfg(feature = "render_trace")]

View File

@ -22,6 +22,7 @@ wasm-bindgen = { version = "=0.2.83", optional = true }
gc-arena = { workspace = true } gc-arena = { workspace = true }
enum-map = "2.4.2" enum-map = "2.4.2"
serde = "1.0.152" serde = "1.0.152"
clap = { version = "4.1.4", features = ["derive"], optional = true }
[dependencies.jpeg-decoder] [dependencies.jpeg-decoder]
version = "0.3.0" version = "0.3.0"

View File

@ -9,6 +9,7 @@ use std::str::FromStr;
/// In the Flash Player, this settings affects anti-aliasing and bitmap smoothing. /// In the Flash Player, this settings affects anti-aliasing and bitmap smoothing.
/// These settings currently have no effect in Ruffle, but the active setting is still stored. /// These settings currently have no effect in Ruffle, but the active setting is still stored.
/// [StageQuality in the AS3 Reference](https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/StageQuality.html) /// [StageQuality in the AS3 Reference](https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/StageQuality.html)
#[cfg_attr(feature = "clap", derive(clap::ValueEnum))]
#[derive(Default, Clone, Collect, Copy, Debug, Eq, PartialEq)] #[derive(Default, Clone, Collect, Copy, Debug, Eq, PartialEq)]
#[collect(require_static)] #[collect(require_static)]
pub enum StageQuality { pub enum StageQuality {