Files
libretro/emulators/hurrican.yml
T

116 lines
4.0 KiB
YAML

emulator: Hurrican
type: standalone
core_classification: game_engine
source: "https://github.com/HurricanGame/Hurrican"
upstream: "https://github.com/HurricanGame/Hurrican"
profiled_date: "2026-10-04"
source_commit: "0d91d1f2d40f38d21e7f41afc01369ee55649fb6"
core_version: ~
display_name: "Hurrican"
cores: [hurrican]
systems: []
verification: existence
notes: |
Turrican-style platformer by Poke53280. The repository ships the game data
under Hurrican/data/ (textures, levels, music, sfx, shaders,
gamecontrollerdb.txt) and the language files under Hurrican/lang/.
main() (Hurrican/src/Main.cpp:342) sets two roots:
g_storage_ext: the read-only data root. Taken from --pathdata or -PD
(Hurrican/src/Main.cpp:227-241, 349-352), else from the compile-time
USE_STORAGE_PATH when that directory exists, else "."
(Hurrican/src/Main.cpp:354-366).
g_save_ext and g_config_ext: saves, high scores and Hurrican.cfg. Taken
from --pathsave or -PS, else XDG_DATA_HOME and XDG_CONFIG_HOME on
builds with USE_HOME_DIR, else "." (Hurrican/src/Main.cpp:370-385).
Paths below are written under hurrican/, which stands for g_storage_ext.
Files read under g_storage_ext:
lang/*.lng: Hurrican/src/Main.cpp:496-515, Hurrican/src/Texts.cpp:65
data/textures/: Hurrican/src/DX8Texture.cpp:204-211
data/levels/levellist.dat: Hurrican/src/Texts.cpp:127
data/levels/<name>: Hurrican/src/Tileengine.cpp:330
data/music/: Hurrican/src/DX8Sound.cpp:314
data/sfx/: Hurrican/src/DX8Sound.cpp:580
data/shaders/<glsl_version>/: Hurrican/src/DX8Graphics.cpp:393-428
data/gamecontrollerdb.txt: Hurrican/src/DX8Input.cpp:97-99
A texture, level, song or sample that cannot be found sets GameRunning to
false and the game quits. --custom <name> reads data/levels/<name>/ first
for levels, textures, custom.lng and levellist.dat.
files:
- name: "lang/"
type: directory
path: "hurrican/lang/"
category: game_data
description: "Language files (.lng)"
required: true
bundled: true
source_ref: "Hurrican/src/Main.cpp:496-515, Hurrican/src/Texts.cpp:65"
note: >
GameInit lists the .lng files of lang/, then of the working directory,
and aborts when it finds none.
- name: "textures/"
type: directory
path: "hurrican/data/textures/"
category: game_data
description: "Textures (sprites, backgrounds, fonts)"
required: true
bundled: true
source_ref: "Hurrican/src/DX8Texture.cpp:204-218"
note: >
An optional scalefactors.txt in the same directory is read by
ReadScaleFactorsFiles (Hurrican/src/DX8Texture.cpp:162-168).
- name: "levels/"
type: directory
path: "hurrican/data/levels/"
category: game_data
description: "Level files and levellist.dat"
required: true
bundled: true
source_ref: "Hurrican/src/Tileengine.cpp:330-336, Hurrican/src/Texts.cpp:127-133"
- name: "shaders/"
type: directory
path: "hurrican/data/shaders/"
category: game_data
description: "GLSL shader sources, one subdirectory per GLSL version"
required: true
bundled: true
source_ref: "Hurrican/src/DX8Graphics.cpp:393-428"
note: >
Loaded by the GL2 and GL3 renderers (GL2 is the build default); a GL1
build compiles this block out.
- name: "music/"
type: directory
path: "hurrican/data/music/"
category: game_data
description: "Music tracks"
required: true
bundled: true
source_ref: "Hurrican/src/DX8Sound.cpp:314-320"
- name: "sfx/"
type: directory
path: "hurrican/data/sfx/"
category: game_data
description: "Sound effect samples"
required: true
bundled: true
source_ref: "Hurrican/src/DX8Sound.cpp:580-586"
- name: "gamecontrollerdb.txt"
path: "hurrican/data/gamecontrollerdb.txt"
category: game_data
description: "SDL game controller mapping database"
required: false
bundled: true
source_ref: "Hurrican/src/DX8Input.cpp:97-102"
note: "Passed to SDL_GameControllerAddMappingsFromFile; the result is only logged."