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