mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 07:33:45 -06:00
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.
312 lines
13 KiB
YAML
312 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"
|
|
version_basis:
|
|
kind: file
|
|
path: "VERSION"
|
|
pattern: '^(\S+)'
|
|
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."
|