Hurrican - RetroBIOS¶
Technical 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.
7 files | 6 required, 1 optional | 7 in repo, 0 missing Categories: 7 game data
lang/ required in repo game_data bundled directory
Language files (.lng)
- Path:
hurrican/lang/ - Source:
Hurrican/src/Main.cpp:496-515,Hurrican/src/Texts.cpp:65 - GameInit lists the .lng files of lang/, then of the working directory, and aborts when it finds none.
textures/ required in repo game_data bundled directory
Textures (sprites, backgrounds, fonts)
- Path:
hurrican/data/textures/ - Source:
Hurrican/src/DX8Texture.cpp:204-218 - An optional scalefactors.txt in the same directory is read by ReadScaleFactorsFiles (Hurrican/src/DX8Texture.cpp:162-168).
levels/ required in repo game_data bundled directory
Level files and levellist.dat
- Path:
hurrican/data/levels/ - Source:
Hurrican/src/Tileengine.cpp:330-336,Hurrican/src/Texts.cpp:127-133
shaders/ required in repo game_data bundled directory
GLSL shader sources, one subdirectory per GLSL version
- Path:
hurrican/data/shaders/ - Source:
Hurrican/src/DX8Graphics.cpp:393-428 - Loaded by the GL2 and GL3 renderers (GL2 is the build default); a GL1 build compiles this block out.
music/ required in repo game_data bundled directory
Music tracks
- Path:
hurrican/data/music/ - Source:
Hurrican/src/DX8Sound.cpp:314-320
sfx/ required in repo game_data bundled directory
Sound effect samples
- Path:
hurrican/data/sfx/ - Source:
Hurrican/src/DX8Sound.cpp:580-586
gamecontrollerdb.txt optional in repo game_data bundled
SDL game controller mapping database
- Path:
hurrican/data/gamecontrollerdb.txt - Source:
Hurrican/src/DX8Input.cpp:97-102 - Passed to SDL_GameControllerAddMappingsFromFile; the result is only logged.
Generated on 2026-10-10T11:26:01Z