Files
libretro/emulators/gemrb.yml
T
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00

62 lines
2.8 KiB
YAML

emulator: GemRB
type: standalone
core_classification: game_engine
source: "https://github.com/gemrb/gemrb"
upstream: "https://github.com/gemrb/gemrb"
profiled_date: "2026-10-20"
source_commit: "ef32a9a8b837ddf4f3a9508b23710146ada2d5fe"
core_version: "0.9.2"
display_name: "Infinity Engine (GemRB)"
cores:
- gemrb
systems: []
mode: standalone
notes: |
Reimplementation of BioWare's Infinity Engine, running Baldur's Gate,
Baldur's Gate II, Icewind Dale, Icewind Dale II and Planescape: Torment
from their original data. Profiled at tag v0.9.2, the build RetroBat ships
(gemrb_core.dll reports GemRB v0.9.2). RetroBat writes GemRB.cfg with
GamePath set to the game folder and GameType taken from its extension,
then runs gemrb.exe -c GemRB.cfg
(emulatorLauncher/Generators/GemRB.Generator.cs). RetroPie builds tag
v0.8.6 and writes one GemRB.cfg per game, GamePath under
$romdir/ports/<game>/ (scriptmodules/ports/gemrb.sh). v0.8.6 reads the
same two files from GamePath, chitin.key at gemrb/core/Interface.cpp:1570
and dialog.tlk at 1679 of that tag.
GamePath defaults to the current directory, and when it holds no
chitin.key the engine tries .. and ../.. before falling back to the demo
game it installs under its own data directory
(gemrb/core/Interface.cpp:886-912). The game's resources are then
indexed through chitin.key, which names the BIF archives under data/ and
the CD folders (gemrb/core/Interface.cpp:1081-1090, 1106-1115). Every game
ships its own chitin.key and dialog.tlk, so both entries below stand for
the copy in the folder of the game being run.
GUIScripts, unhardcoded/ and override/ are the engine's own Python and
table data, installed with the program and read from GemRBPath
(gemrb/core/Interface.cpp:1048-1058, 1094-1102). No file is hashed.
files:
- name: chitin.key
category: game_data
required: true
source_ref: "gemrb/core/Interface.cpp:886-912, 1106-1115"
note: "Resource index of the game in GamePath. GemRB stops when it cannot open it."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
- name: dialog.tlk
category: game_data
required: true
source_ref: "gemrb/core/Interface.cpp:1233-1246"
note: "String table, read from GamePath, then from the language folder of Enhanced Edition installs. GemRB stops when neither opens."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
- name: dialogf.tlk
category: game_data
required: false
source_ref: "gemrb/core/Interface.cpp:1248-1266"
note: "Female string table, read only when dialog.tlk declares one. Without it the engine falls back to dialog.tlk."
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"