Files
libretro/emulators/gargoyle.yml
T
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
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.
2026-10-20 07:17:05 +02:00

308 lines
13 KiB
YAML

emulator: Gargoyle
type: standalone
core_classification: game_engine
source: "https://github.com/garglk/garglk"
upstream: "https://github.com/garglk/garglk"
profiled_date: "2026-08-08"
source_commit: "9e06211c20bee35026744424a57f50375cdc29db"
core_version: "2026.1"
display_name: "Interactive Fiction (Gargoyle)"
cores:
- gargoyle
systems:
- adrift
- advsys
- agt
- alan
- glulx
- hugo
- jacl
- level9
- magnetic-scrolls
- scott-adams
- scott-adams-plus
- tads
- taylormade
- zmachine
mode: standalone
notes: |
Interactive fiction player built on the Glk library implementation garglk,
shipping one interpreter binary per story format. The gargoyle binary reads
the first 32 bytes of the file, matches it against a magic-number table,
falls back to the extension, and executes the matching interpreter.
ref: garglk/launcher.cpp:114-189 (probe, extensions, interpreters), 379-419 (rungame)
Formats and the interpreter each one runs: Adrift 4 and Adrift 5 both
default to scarier, which handles the two. Scare takes Adrift 4 and
FrankenDrift takes Adrift 5 only where the build asked for them, since each
covers a single format. Then AdvSys (advsys), AGT (agility), Alan 2 (alan2), Alan 3
(alan3), Glulx (git), Hugo (hugo), JACL (jacl), Level 9 (level9), Magnetic
Scrolls (magnetic), Scott Adams Graphic Adventures Plus (plus), Scott Adams
(scott), TADS 2 and 3 (tadsr), TaylorMade (taylor), Z-machine (bocfel).
Blorb files are unwrapped first and dispatched on the Exec chunk type.
ref: garglk/launcher.cpp:50-74 (interpreter names), 276-328 (runblorb)
Adrift 5 needs the FrankenDrift runner, a .NET build option that is off by
default, including in the official AppImage. Without it the launcher reports
that Adrift 5 is unsupported and stops.
ref: CMakeLists.txt:77 (WITH_FRANKENDRIFT), gargoyle-appimage.sh:14,
garglk/launcher.cpp:174-175,212
Every glyph is drawn through FreeType rather than by the operating system,
so a font file has to be reachable. The default config asks for the families
"Gargoyle Mono" and "Gargoyle Serif". If fontconfig cannot resolve them, the
interpreter loads the shipped TTF files by name from the data directory,
then the executable directory, then the working directory, and calls
winabort() when all three miss.
ref: garglk/garglk.h:694-695 (defaults), garglk/garglk.ini:205,208, garglk/fontfc.cpp:83-154
(fontconfig lookup), garglk/draw.cpp:381-408 (path fallbacks), 300-350
(make_font, abort), 490-498 (file names)
Gargoyle Serif is Charis SIL and Gargoyle Mono is Go Mono, both renamed so
they can be installed system-wide without clashing. Font embedding was
dropped because the OFL and the GPL do not mix, which is why the files are
loaded from disk.
ref: fonts/README
Data directory by platform: /usr/share/gargoyle on Unix,
<binary>/../share/gargoyle for the AppImage, the install directory on
Windows, and the bundle Resources directory on macOS. Fonts sit at its root
and themes in its themes subdirectory. macOS keeps the eight Gargoyle faces
in Resources/Fonts and Unifont in Resources, and the Windows installer also
registers the eight faces as system fonts.
ref: garglk/sysqt.cpp:960-1004, garglk/sysmac.mm:1013-1030, garglk/CMakeLists.txt:137,145,
510-534, gargoyle_osx.sh:124-125,211-213, installer.nsi:89-90,208-215
Themes are read from every *.json in the theme directories, which are the
Qt application data locations plus the executable directory on Windows and
the data directory for the AppImage. A parse failure is reported and the
file skipped. The light and dark themes are also compiled into the binary,
so the on-disk copies of those two replace identical entries.
ref: garglk/theme.cpp:266-319, garglk/sysqt.cpp:982-1004, garglk/CMakeLists.txt:81-93
garglk.ini is not distributed: the default config is compiled in as a string
and written to the highest-priority user location on demand. Installing a
system copy is an off-by-default build option.
ref: garglk/config.cpp:443-493, garglk/CMakeLists.txt:15 (INSTALL_GARGLKINI),
garglk/CMakeLists.txt:61-79 (vtk_encode_string)
MIDI in Blorb resources goes through FluidSynth, which needs a SoundFont.
Gargoyle names none: the soundfont list is empty unless the user sets it in
garglk.ini or the build hardcodes one, and the fallback is whatever
FluidSynth reports as its own default.
ref: garglk/config.cpp:294-298,864-872, garglk/snddecode.cpp:373-395,
garglk/CMakeLists.txt:58 (DEFAULT_SOUNDFONT), INSTALL.md:153-157
Story files are content. Formats that carry companion data read it from the
story file's own name or directory, so it travels with the game: Level 9
graphics as PICTURE.DAT, Magnetic Scrolls graphics and hints as .gfx and
.hnt, Alan 3 resources as .a3r, TADS resources as .t3r, and the extra disk
sides the Scott Adams, Plus and TaylorMade interpreters read from C64,
Atari 8-bit and Apple II images.
ref: terps/level9/Glk/glk.c:6415-6450, terps/magnetic/Glk/glk.c:5758-5855,
terps/CMakeLists.txt:69,73,359,469,565 (c64diskimage, unp64)
exclusion_note: >
TADS character mapping files are not loaded by this build. The Glk port
reports utf-8 and asc7dflt as the local character sets, both built-in
tables, and its os_gen_charmap_filename() returns an empty name, so the
automatic .tcp lookup never runs. cmap_load() only fires for a path given
with -ctab. The agil.cfg read by AGiliTy lives in os_dos.c and os_dos16.c,
while the build compiles os_glk.c.
ref: terps/tads/glk/osmisc.c:69-72,316-334, terps/tads/tads2/cmap.c:290-315,
terps/tads/tads2/trd.c:513-517, terps/CMakeLists.txt:111-119
files:
# -- Text fonts, data directory root --
# Loaded by name when fontconfig cannot resolve the configured families.
# Gargoyle aborts when a face is available from neither source.
- name: "Gargoyle-Mono.ttf"
description: "Gargoyle Mono regular (Go Mono)"
required: true
bundled: true
size: 164304
sha1: "f2b956a6ab8cd903de974bbe2deb59a45ab36984"
md5: "f32a4d2aee1927349c80e471e791949f"
source_ref: "garglk/draw.cpp:657 (make_entry monor), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Mono-Bold.ttf"
description: "Gargoyle Mono bold (Go Mono)"
required: true
bundled: true
size: 168396
sha1: "2025696a7049a27ee1cec2a9faf5fcd1cfe6201d"
md5: "750428793e9a7f74484cef5029f1e9e9"
source_ref: "garglk/draw.cpp:658 (make_entry monob), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Mono-Italic.ttf"
description: "Gargoyle Mono italic (Go Mono)"
required: true
bundled: true
size: 173600
sha1: "3319148d0e3c9575e379f53e5dd0d9a45efea109"
md5: "873e8ea7a53a81f16ff3d77205964efd"
source_ref: "garglk/draw.cpp:659 (make_entry monoi), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Mono-Bold-Italic.ttf"
description: "Gargoyle Mono bold italic (Go Mono)"
required: true
bundled: true
size: 176888
sha1: "afce1f28df995726b7c9e49c4bf64c9b427c2ce0"
md5: "d534b7b59e44c0b71b924e7c3899b5b4"
source_ref: "garglk/draw.cpp:660 (make_entry monoz), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Serif.ttf"
description: "Gargoyle Serif regular (Charis SIL)"
required: true
bundled: true
size: 1504176
sha1: "23c9ac25750606f506d4c841f4efb0b33f596d09"
md5: "b43719e0af7d587d2b9b274458a793ff"
source_ref: "garglk/draw.cpp:661 (make_entry propr), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Serif-Bold.ttf"
description: "Gargoyle Serif bold (Charis SIL)"
required: true
bundled: true
size: 1439752
sha1: "7deeaf8ff5d86b63d1def4e47f5998c351db3eb8"
md5: "35a62c77d2a64dfd3a35807554685500"
source_ref: "garglk/draw.cpp:662 (make_entry propb), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Serif-Italic.ttf"
description: "Gargoyle Serif italic (Charis SIL)"
required: true
bundled: true
size: 1505932
sha1: "2544395d0eda03d605678790ed1f6cbadf5578e5"
md5: "80c584701955add719913197713b884f"
source_ref: "garglk/draw.cpp:663 (make_entry propi), garglk/draw.cpp:421-471 (make_font, winabort)"
- name: "Gargoyle-Serif-Bold-Italic.ttf"
description: "Gargoyle Serif bold italic (Charis SIL)"
required: true
bundled: true
size: 1500764
sha1: "e561b7565fc1aeb945ffb7da355d321b43318510"
md5: "84d0a6059796703ba8b95e7092670abc"
source_ref: "garglk/draw.cpp:664 (make_entry propz), garglk/draw.cpp:421-471 (make_font, winabort)"
# -- Glyph substitution fonts, data directory root --
# Tried for every face after the main fonts, and a load failure is skipped.
- name: "unifont.otf"
description: "GNU Unifont, Basic Multilingual Plane glyph fallback"
required: false
bundled: true
size: 5321400
sha1: "a550da89f2b7b4a6844842a50094569d67c6e8b0"
md5: "9edf66ff1c62ec9e8f20126e5660d516"
source_ref: "garglk/draw.cpp:473-496 (make_substitution_fonts), garglk/draw.cpp:642-644"
note: >
Covers glyphs missing from the text fonts. Loaded directly rather than
through the system font mechanism, so it is not installed system-wide.
- name: "unifont_upper.otf"
description: "GNU Unifont, planes above the BMP"
required: false
bundled: true
size: 5971416
sha1: "5dbe31ade8ebda982ba41dbd4311407ba88ff16a"
md5: "863db23db082ef13d809f142d35411c9"
source_ref: "garglk/draw.cpp:473-496 (make_substitution_fonts), garglk/draw.cpp:642-644"
# -- Color themes, themes subdirectory --
# Every *.json in the theme directories is parsed, keyed on its name field.
- name: "Blue.json"
path: "themes/Blue.json"
description: "Blue color theme"
required: false
bundled: true
size: 358
sha1: "6b47d1e68e79c258d8b733d0525beee7e567a776"
md5: "4a2fc2266fb1c4139617e88722b5c6f9"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:564"
- name: "Breeze Darker.json"
path: "themes/Breeze Darker.json"
description: "Breeze Darker color theme"
required: false
bundled: true
size: 367
sha1: "6c389838c66c13397cc3c7096b31fca994bbb34c"
md5: "597f5b89772b9660d732a5122d159d6b"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:565"
- name: "Lectrote Dark.json"
path: "themes/Lectrote Dark.json"
description: "Lectrote Dark color theme"
required: false
bundled: true
size: 474
sha1: "225049ddfa6ce2c4b7198ca6c889c81d65b7946f"
md5: "83b81c33ec97dbc100c850de7b04a694"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:566"
- name: "Lectrote Sepia.json"
path: "themes/Lectrote Sepia.json"
description: "Lectrote Sepia color theme"
required: false
bundled: true
size: 474
sha1: "813f91ff7f0a0b95fcd37e541414cdc29bbc2968"
md5: "d766895891ccec110e15a044af6194c7"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:567"
- name: "Lectrote Slate.json"
path: "themes/Lectrote Slate.json"
description: "Lectrote Slate color theme"
required: false
bundled: true
size: 474
sha1: "8032208eab8f10874f448c39bdc5a85b83d539b3"
md5: "3a06a19b8441d931ddef2359116e405a"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:568"
- name: "Pencil.json"
path: "themes/Pencil.json"
description: "Pencil color theme"
required: false
bundled: true
size: 360
sha1: "976b37a0451fb3cbed9a85ccf3c242ae768a4bc5"
md5: "6e1743b8b40eaf3a85015013dcea7701"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:569"
- name: "Zoom.json"
path: "themes/Zoom.json"
description: "Zoom color theme"
required: false
bundled: true
size: 358
sha1: "d312b25c5f3a92178a185de122aeb222a32d4096"
md5: "641c88ce7f5e1a9a7ac4c18b90a9f38d"
source_ref: "garglk/theme.cpp:304-316, garglk/CMakeLists.txt:570"
- name: "dark.json"
path: "themes/dark.json"
description: "Dark color theme"
required: false
bundled: true
size: 358
sha1: "3757750cd3052b8d23f379aba22d7ee3d9353bc9"
md5: "2614becc041fc813cf87397aa47e8210"
source_ref: "garglk/theme.cpp:268-282, garglk/theme.cpp:304-316, garglk/CMakeLists.txt:81-86, garglk/CMakeLists.txt:571"
note: "Also compiled in as the built-in dark theme."
- name: "light.json"
path: "themes/light.json"
description: "Light color theme"
required: false
bundled: true
size: 412
sha1: "049412d56a41865539faadcd86408d5107a1dbef"
md5: "37c78cb6e0105b946627038dcbfc8c64"
source_ref: "garglk/theme.cpp:268-282, garglk/theme.cpp:304-316, garglk/CMakeLists.txt:88-93, garglk/CMakeLists.txt:572"
note: "Also compiled in as the built-in light theme."