{
  "commit": "fbe5ba4e3e790ab07eddc5b57e0f45a02cbcd60e",
  "count": 1,
  "generated_at": "2026-10-24T00:06:47Z",
  "items": [
    {
      "id": "solarus-2.0.0",
      "profile": {
        "core_classification": "game_engine",
        "core_version": "2.0.0",
        "cores": [
          "solarus2"
        ],
        "display_name": "Solarus Game Engine (2.0.0)",
        "emulator": "Solarus 2.0.0",
        "files": [
          {
            "bundled": true,
            "category": "game_data",
            "description": "SDL gamepad mappings applied on top of the built-in table",
            "md5": "bdd985f10866d9eeb5cf4f1dc01a5d2c",
            "name": "gamecontrollerdb.txt",
            "note": "Looked up next to the executable first, then under SOLARUS_DATADIR_PATH, share/solarus by default (cmake/AddInstallDirs.cmake:14). Both probes are guarded by an existence test, and neither hitting leaves SDL on its built-in mappings.",
            "required": false,
            "sha1": "24cb6032438d26d9fa7d4ba3775b0f1088b58e4c",
            "size": 564391,
            "source_ref": "src/core/System.cpp:70-98, cmake/AddDefines.cmake:44, cmake/AddInstallTargets.cmake:22-26",
            "system": "solarus"
          }
        ],
        "mode": "standalone",
        "notes": "Solarus engine at tag v2.0.0, which RetroBat installs as solarus2 beside its\nolder solarus package. libsolarus.dll in that package reports 2.0.0 and its\ngamecontrollerdb.txt is the one the v2.0.0 tree carries. emulatorlauncher\nruns `solarus-run.exe -fullscreen=yes|no <rom>` from the package folder on a\n.solarus or .zip quest (emulatorLauncher Generators/Solarus.Generator.cs:20-48).\n\nThe quest arrives as the last non-option argument, and otherwise falls back\nto SOLARUS_DEFAULT_QUEST, \".\" by default (src/core/MainLoop.cpp:108-121,\ncmake/AddOptions.cmake:8). open_quest mounts that path through PhysFS\ndirectly, then tries <path>/data, <path>/data.solarus and\n<path>/data.solarus.zip, each both relative and under PHYSFS_getBaseDir\n(src/core/QuestFiles.cpp:151-165). The quest counts as found once quest.dat\nresolves (src/core/QuestFiles.cpp:230-234). Everything else the game uses\ncomes out of that mount.\n\nStartup reads one file from outside the quest. System::initialize probes\nSDL_GetBasePath() then SOLARUS_DATADIR_PATH for gamecontrollerdb.txt and\nhands whichever it finds to SDL through SDL_HINT_GAMECONTROLLERCONFIG_FILE\n(src/core/System.cpp:70-98). At this tag the file is installed into the data\ndirectory without a build option to turn it off\n(cmake/AddInstallTargets.cmake:22-26).\n",
        "profiled_date": "2026-10-20",
        "source": "https://gitlab.com/solarus-games/solarus",
        "source_commit": "1c69f3d7ec133eaff28c22d756170eba69a520b0",
        "systems": [
          "solarus"
        ],
        "type": "standalone",
        "upstream": "https://gitlab.com/solarus-games/solarus"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
