Files
libretro/emulators/lightspark.yml
T
Abdessamad Derraz 3199bc2a55 fix: state standalone versions from their code
Each standalone profile records where its version is read: the source
at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden
v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package),
or, where no reading can be made, kind unverified with the reason: a
host the tools cannot read, a forge gone or not answering, no build
recorded as read, a pin on another branch. Those keep their value,
unconfirmed.
2026-10-27 19:21:40 +01:00

66 lines
3.2 KiB
YAML

emulator: "Lightspark"
type: standalone
core_classification: game_engine
source: "https://github.com/lightspark/lightspark"
upstream: "https://github.com/lightspark/lightspark"
profiled_date: "2026-08-08"
source_commit: "6f07fd65cb95b88ff73e905bf78a1a8b1ddf6049"
core_version: "0.10.0"
version_basis:
kind: file
path: "CMakeLists.txt"
pattern: 'SET\(MAJOR_VERSION "(\d+)"\)\s*\nSET\(MINOR_VERSION "(\d+)"\)\s*\nSET\(PATCH_VERSION "(\d+)"\)'
format: "{1}.{2}.{3}"
display_name: "Adobe Flash (Lightspark)"
cores:
- lightspark
systems:
- flash
mode: standalone
notes: |
Open source implementation of the Flash player, playing SWF files of any
ActionScript version, as a standalone application or as a browser plugin. The
ActionScript built-in classes are implemented in C++ under src/scripting/flash,
so no external class library is read. ES-DE runs the binary as
`lightspark --fullscreen <rom>`, Batocera as
`lightspark -fs -s local-with-networking <rom>` off a 0.8.7 pin.
Startup reads nothing. The two GLSL shaders sit in the tree as
src/lightspark.frag and src/lightspark.vert but the preprocessor pulls them
into string literals, "directly include shader source to avoid filesystem
access" (src/backends/rendering.cpp:1059-1062,1079-1082), which is also how
0.8.7 builds them. The face given to nanoVG for text is Roboto Medium, decoded
at runtime from a base85 array in the binary (src/launcher.cpp:1567,
src/platforms/engineutils.cpp:500-502), and the launcher icon face is embedded
the same way (src/launcher.cpp:1094-1096,1333).
resources/openfonticons/OpenFontIcons.ttf and resources/ErrorConstants.xml are
build inputs, the second feeding the errorconstants.{h,cpp} generator
(tools/errorgen:20).
Fonts named by the content go through fontconfig, which answers with whatever
face the host has installed: FcFontMatch then FcPatternGetString(FC_FILE) hands
a path straight to nvgCreateFont (src/backends/cachedsurface.cpp:147-168). No
name, path, size or hash is fixed anywhere, README.md:27-30 marks fontconfig
itself optional, and an unmatched family leaves nanoVGFontID at -1 and falls
back to the embedded face.
dataFileRead is the only reader of LS_DATADIR and has no callers, at this
commit and at 0.8.7 (src/parsing/textfile.cpp:74-106). fontPath holds
"TimesNewRoman.ttf" on Windows (src/backends/rendering.cpp:102) but reaches
only cairo_select_font_face, which takes a family name rather than a path, and
only under ENABLE_CAIRO (src/backends/rendering.cpp:1294), left FALSE by
CMakeLists.txt.
Files the player writes rather than expects: lightspark.conf, an INI carrying
the cache directory and prefix whose absence leaves the hardcoded defaults
(src/backends/config.cpp:82-115), launcher.xml holding the recent entries
(src/launcher.cpp:1299-1310), and .sol SharedObjects under the data directory
(src/platforms/engineutils.cpp:849-914). application.xml, extension.xml and the
library.swf files under META-INF/AIR/extensions belong to the AIR package being
run (src/main.cpp:149, src/platforms/engineutils.cpp:785-800), and
crossdomain.xml is fetched from remote hosts
(src/backends/security.cpp:353,1025).
files: []