mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 04:39:06 -05:00
emulator: carried the file stem on 67 profiles, so site links read like ids. Each now takes the project's own name (libretro .info corename, README title, window title or site title). tests/test_profile_names.py allows the stem only on a commented list: lowercase project names, test cores, aliases and the template.
76 lines
3.9 KiB
YAML
76 lines
3.9 KiB
YAML
emulator: "Solarus"
|
|
type: standalone
|
|
core_classification: game_engine
|
|
source: "https://gitlab.com/solarus-games/solarus"
|
|
upstream: "https://gitlab.com/solarus-games/solarus"
|
|
profiled_date: "2026-08-08"
|
|
source_commit: "a0b5d4c966bf3f4daec2efc879378d4cf1b62ca7"
|
|
core_version: "2.2.0"
|
|
display_name: "Solarus Game Engine"
|
|
cores:
|
|
- solarus
|
|
- "Solarus"
|
|
systems:
|
|
- solarus
|
|
mode: standalone
|
|
|
|
notes: |
|
|
2D action-RPG engine running quests scripted in Lua, built as libsolarus with
|
|
the solarus-run command-line player and the Qt Solarus Launcher on top. ES-DE
|
|
runs `solarus-run <rom>` on a single .solarus file, Batocera as `solarus-run
|
|
-fullscreen=yes -cursor-visible=no -lua-console=no -quit-combo=<hotkey>+<start>
|
|
-joypad-num<n>=<index> <rom>` off a bbecaf31 pin, RetroDECK ships the v2.0.3
|
|
solarus-launcher AppImage.
|
|
|
|
The quest arrives as the content argument. get_quest_path takes the last
|
|
non-option argv and otherwise falls back to SOLARUS_DEFAULT_QUEST, which
|
|
defaults to "." (src/core/MainLoop.cpp:108-121, cmake/AddOptions.cmake:8,
|
|
include/solarus/core/Common.h:119-123). open_quest mounts that path through
|
|
PhysFS directly, then tries <path>/data, <path>/data.solarus and
|
|
<path>/data.solarus.zip, each both
|
|
relative and under PHYSFS_getBaseDir (src/core/QuestFiles.cpp:151-165), and the quest
|
|
counts as found once quest.dat resolves (src/core/QuestFiles.cpp:228-233). The rest
|
|
comes out of that mount: quest.dat and project_db.dat
|
|
(src/core/CurrentQuest.cpp:44,49), fonts under fonts/ as .png, .ttf, .otf, .ttc or .fon
|
|
(src/core/FontResource.cpp:65-101), shaders under shaders/ (src/graphics/Shader.cpp:113), tilesets,
|
|
sprites and music (src/entities/Tileset.cpp:156-174, src/graphics/SpriteAnimationSet.cpp:48,
|
|
src/audio/MusicSystem.cpp:136-142).
|
|
|
|
Startup reads one file from outside the quest. System::initialize probes
|
|
SDL_GetBasePath() then SOLARUS_DATADIR_PATH for gamecontrollerdb.txt and hands
|
|
whichever it finds to SDL through SDL_HINT_GAMECONTROLLERCONFIG_FILE
|
|
(src/core/System.cpp:71-99). The GLSL fallbacks are raw string literals in
|
|
include/solarus/graphics/DefaultShaders.h:57,114, and glad, hqx and snes_spc compile in from
|
|
third_party/.
|
|
|
|
Files the engine writes rather than expects: settings.dat and savegames under
|
|
the quest write directory named in quest.dat (src/core/Settings.cpp:183-200,274-314,
|
|
src/core/Savegame.cpp:132), the write root from SDL_GetPrefPath (src/core/QuestFiles.cpp:721),
|
|
and error.txt under SOLARUS_FILE_LOGGING (src/core/Logger.cpp:29-45). Batocera's
|
|
002-pad.patch adds a read of /userdata/system/configs/solarus/pads.ini, which
|
|
its own generator rewrites at every launch. The editor and launcher subtrees
|
|
build separately from the root CMakeLists, which adds only cli/, tests/ and
|
|
third_party/, and their assets are Qt resources compiled into those binaries
|
|
(editor/cmake/AddQtFiles.cmake:47-51, launcher/cmake/addTarget.cmake:30).
|
|
|
|
files:
|
|
- name: gamecontrollerdb.txt
|
|
not_bundled_on: [retrodeck]
|
|
system: solarus
|
|
category: game_data
|
|
required: false
|
|
bundled: true
|
|
size: 600521
|
|
sha1: "ab035b7804089690018318e4a05f9a8fc59421ff"
|
|
md5: "1e70da4de91be79b9ccf47209a1fc73f"
|
|
description: "SDL gamepad mappings applied on top of the built-in table"
|
|
source_ref: "src/core/System.cpp:71-99, cmake/AddDefines.cmake:44-49, cmake/AddInstallTargets.cmake:23-28"
|
|
note: >-
|
|
Looked up next to the executable first, then under SOLARUS_DATADIR_PATH,
|
|
share/solarus by default (cmake/AddInstallDirs.cmake:14). Installed from
|
|
assets/gamecontrollerdb.txt when SOLARUS_GAMECONTROLLERDB_INSTALL is on,
|
|
which is the default (cmake/AddOptions.cmake:51), and carried in the
|
|
release archives (.gitlab-ci.yml:306). Both probes are guarded by an
|
|
existence test, and neither hitting leaves SDL on its built-in mappings.
|
|
The v2.1.4 Windows zip ships this exact file next to solarus-run.exe.
|