mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 02:13:28 -05:00
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
170 lines
8.2 KiB
YAML
170 lines
8.2 KiB
YAML
emulator: ruffle
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://github.com/ruffle-rs/ruffle"
|
|
upstream: "https://github.com/ruffle-rs/ruffle"
|
|
profiled_date: "2026-09-17"
|
|
source_commit: "ed55e72394d21d7784b0a914fd4525608c6a5661"
|
|
core_version: "0.6.0"
|
|
display_name: "Adobe Flash (Ruffle)"
|
|
cores:
|
|
- ruffle
|
|
systems:
|
|
- flash
|
|
mode: standalone
|
|
|
|
notes: |
|
|
Flash Player and Adobe AIR runtime written in Rust, playing SWF files of any
|
|
ActionScript version, as a desktop binary or as a WebAssembly browser build.
|
|
Versioned releases sit next to the nightlies: Batocera 43.1 compiles the
|
|
nightly-2026-01-31 tag and installs ruffle_desktop as ruffle, RetroDECK pulls
|
|
the rs.ruffle.Ruffle Flathub build. ES-DE runs it as `ruffle --fullscreen
|
|
<rom>`, Batocera as `ruffle <rom>`, RetroBat as `ruffle.exe --graphics
|
|
<renderer> --force-align -q <quality> <rom>`, RetroDECK as `ruffle --graphics
|
|
vulkan --config /var/data/ruffle --save-directory <saves>/ruffle <rom>`. The
|
|
ActionScript class library is compiled by build_playerglobal into
|
|
playerglobal_avm1.swf and playerglobal_avm2.swf and linked into the binary
|
|
from OUT_DIR (core/src/avm1/globals.rs:88, core/src/avm2/globals.rs:549), so
|
|
startup reads nothing. Locale texts, wgsl shaders, the window icon and the
|
|
OpenH264 license are embedded the same way (desktop/src/gui/locale.rs:7-12,
|
|
desktop/src/app.rs:464, render/wgpu/src/shaders.rs:30-95,
|
|
desktop/src/gui/movie.rs:44,
|
|
desktop/src/gui/dialogs/preferences_dialog.rs:517).
|
|
|
|
H.264 video is the one external dependency. external_video is a default
|
|
feature and pulls ruffle_video_external with openh264
|
|
(desktop/Cargo.toml:27,84,92), and enable_openh264 defaults to true
|
|
(desktop/src/preferences.rs:291,316). OpenH264Codec::load first dlopens the
|
|
system sonames libopenh264.so.7, libopenh264.so.2.4.1 and libopenh264.so on
|
|
Linux, then falls back to <cache>/ruffle/video/ and fetches the Cisco binary
|
|
from ciscobinary.openh264.org bz2-compressed into it
|
|
(video/external/src/decoder/openh264.rs:53-56,109-133,173-191,
|
|
desktop/src/player.rs:234-241). Whether the library was already there or was
|
|
just downloaded, its SHA-256 is checked before loading and the size is read
|
|
only to format the mismatch message
|
|
(video/external/src/decoder/openh264.rs:135-146), and WelsGetCodecVersion must
|
|
answer 2.4.1 exactly (video/external/src/decoder/openh264.rs:46,153-166). The
|
|
cache root comes from dirs::cache_dir(), ~/.cache/ruffle by default, and
|
|
--cache-directory moves it (desktop/src/cli.rs:31-35,148). Without the library
|
|
the player still starts: ExternalVideoBackend wraps SoftwareVideoBackend, so
|
|
H.263, Screen Video and VP6 keep decoding and only H.264 streams fail
|
|
(video/external/src/backend.rs:41,51-69,73-80).
|
|
|
|
Text uses system fonts. fontdb::Database::load_system_fonts() fills the
|
|
database at startup (desktop/src/app.rs:433-434), and both the Flash device
|
|
fonts and the egui menu bar resolve family names against it and take whatever
|
|
face the host answers with (desktop/src/backends/ui.rs:321-360,
|
|
desktop/src/gui/controller.rs:741-787). The face is memory-mapped and parsed
|
|
by Ruffle's own rasterizer unless preferences.toml sets device_font_renderer
|
|
to freetype, which routes Linux builds through FreetypeFontRenderer instead;
|
|
the freetype default feature only compiles that branch, the preference
|
|
selects it (desktop/src/backends/ui.rs:190-192,443-487,489-519,
|
|
desktop/src/preferences/read.rs:74-75, desktop/Cargo.toml:84). The families
|
|
asked for are Times New Roman, Arial, Courier New and their metric-compatible
|
|
substitutes, plus the CJK, Hebrew, Arabic and Thai faces
|
|
(desktop/src/player.rs:361-414, desktop/src/gui/controller.rs:620-694), and
|
|
on Unix fontconfig sorts the fallback chain
|
|
(desktop/src/backends/ui.rs:363-376,536-628). No name, path, size or hash is
|
|
fixed anywhere. The compiled-in Noto Sans subset sits behind the default_font
|
|
feature, which the web and exporter crates enable and the desktop build does
|
|
not (core/src/player.rs:84-85, core/Cargo.toml:82,95, web/Cargo.toml:63-65,
|
|
exporter/Cargo.toml:16, desktop/Cargo.toml:23), so on the desktop an
|
|
unmatched family leaves the run without that face rather than falling back
|
|
to a bundled one.
|
|
|
|
Files the player writes rather than expects: preferences.toml, bookmarks.toml
|
|
and recents.toml under --config, each defaulted when absent
|
|
(desktop/src/preferences.rs:54-96), .sol SharedObjects under --save-directory
|
|
(frontend-utils/src/backends/storage.rs:31-60, desktop/src/cli.rs:137-138),
|
|
and the log file under <cache>/ruffle/log (desktop/src/main.rs:165-176).
|
|
ruffle-bundle.toml is the manifest inside a .ruf bundle, which is content
|
|
alongside the .swf rather than a runtime input
|
|
(frontend-utils/src/bundle/info.rs:11, frontend-utils/src/bundle.rs:42-53).
|
|
mms.cfg is not implemented, the name appears only in an AVM2 error string
|
|
(core/src/avm2/error_messages.rs:237).
|
|
|
|
files:
|
|
# -- OpenH264 2.4.1 decoder, one build per OS and architecture --
|
|
# The player fetches the build for its host into <cache>/ruffle/video/ the
|
|
# first time a movie loads, with no prompt, so none needs to be supplied.
|
|
|
|
- name: libopenh264-2.4.1-linux64.7.so
|
|
path: "video/libopenh264-2.4.1-linux64.7.so"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, Linux x86_64"
|
|
sha256: "1392d21466bc638e68151b716d5b2086d54cd812afd43253f1adb5b6e0185f51"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:65-68, 104-146, 173-191"
|
|
|
|
- name: libopenh264-2.4.1-linux-arm64.7.so
|
|
path: "video/libopenh264-2.4.1-linux-arm64.7.so"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, Linux aarch64"
|
|
sha256: "e8ea7e42855ceb4a90e7bd0b3abeba0c58b5f97166e8b0a30eefd58e099557a4"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:73-76, 104-146, 173-191"
|
|
|
|
- name: libopenh264-2.4.1-linux-arm.7.so
|
|
path: "video/libopenh264-2.4.1-linux-arm.7.so"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, Linux arm"
|
|
sha256: "fd1dfb27d30bb72e903c9d2b4c650104a4369d2e7ffe8a4a533e8db2e7e9b19e"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:69-72, 104-146, 173-191"
|
|
|
|
- name: libopenh264-2.4.1-linux32.7.so
|
|
path: "video/libopenh264-2.4.1-linux32.7.so"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, Linux x86"
|
|
sha256: "b7cf0e407f99056d90cbf62787a34820a7595b2129b165319d50766e00a66704"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:61-64, 104-146, 173-191"
|
|
|
|
- name: libopenh264-2.4.1-mac-arm64.dylib
|
|
path: "video/libopenh264-2.4.1-mac-arm64.dylib"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, macOS aarch64"
|
|
sha256: "213ff93831cfa3dd6d7ad0c3a3403a6ceedf4ac1341e1278b5b869d42fefb496"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:81-84, 104-146, 173-191"
|
|
|
|
- name: libopenh264-2.4.1-mac-x64.dylib
|
|
path: "video/libopenh264-2.4.1-mac-x64.dylib"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, macOS x86_64"
|
|
sha256: "cc0ba518a63791c37571f3c851f0aa03a4fbda5410acc214ecd4f24f8d1c478e"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:77-80, 104-146, 173-191"
|
|
|
|
- name: openh264-2.4.1-win64.dll
|
|
path: "video/openh264-2.4.1-win64.dll"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, Windows x86_64"
|
|
sha256: "081b0c081480d177cbfddfbc90b1613640e702f875897b30d8de195cde73dd34"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:89-92, 104-146, 173-191"
|
|
|
|
- name: openh264-2.4.1-win32.dll
|
|
path: "video/openh264-2.4.1-win32.dll"
|
|
system: flash
|
|
required: false
|
|
bundled: true
|
|
description: "OpenH264 2.4.1 decoder library, Windows x86"
|
|
sha256: "83270149640469c994a62cc32a6d8c0413cd7b802b7f1f2f532159f5bdc1cedd"
|
|
validation: [sha256]
|
|
source_ref: "video/external/src/decoder/openh264.rs:85-88, 104-146, 173-191"
|