Files
libretro/emulators/fheroes2.yml
T
Abdessamad Derraz c23dec1d1b fix: drop a stale version cite from fheroes2
The EmuELEC paragraph cited version.txt:1, a line that moved from
1.0.11 to 1.1.18 under the same text. version_basis already says where
the version is read, and profile_sync now reads the profile clean.
2026-11-09 23:07:15 +01:00

126 lines
5.4 KiB
YAML

emulator: "fheroes2"
type: standalone
core_classification: game_engine
source: "https://github.com/ihhub/fheroes2"
profiled_date: "2026-11-09"
source_commit: "6c51acfdcbf318032c8a6faf3db9abb5413b07b8"
core_version: "1.1.18"
version_basis:
kind: file
path: "version.txt"
pattern: '^(\d[^\s]*)'
display_name: "Heroes of Might and Magic II (fheroes2)"
cores:
- "fheroes2"
systems: [heroes-of-might-and-magic-2]
notes: |
Free reimplementation of the Heroes of Might and Magic II engine (New World
Computing, 1996). It plays the original or demo data. EmuELEC's tree builds
revision 35ca4c9 in its emuelec-ports package, which installs the engine's
resurrection.h2d under /usr/share/fheroes2/files/data and runs fheroes2
from /storage/roms/ports/fheroes2, its fheroes2.sh offering the demo
(h2demo.zip from archive.org) when data/HEROES2.AGG is absent. No package,
options file or Makefile of a v4.8 image pulls emuelec-ports in, so no
platform ships fheroes2.
ref: EmuELEC packages/sx05re/emuelec-ports/fheroes2/package.mk:4-7,15-23,
EmuELEC packages/sx05re/emuelec-ports/fheroes2/scripts/fheroes2.sh:9-40
Every resource is looked up under each root directory in turn: the
FHEROES2_DATA build path and environment variable, the program's
directory, the OS data directories, then the user config and data
directories. The data subdirectory is scanned for .agg files, the one
whose lowercased name ends in heroes2.agg is the game resource file, and a
heroes2x.agg beside it turns on The Price of Loyalty content.
resurrection.h2d is read from files/data: the reader wants the H2D magic
with format version 3, and the start stops when its list of files differs
from the one the engine carries. No AGG, no usable resurrection.h2d, or an
AGG without the font shows the missing assets image and ends the start.
ref: src/fheroes2/system/settings.cpp:651-716, src/fheroes2/agg/agg.cpp:53-123,
src/fheroes2/h2d/h2d.cpp:107-145, src/engine/h2d_file.cpp:39-88,
src/fheroes2/game/game_init.cpp:149-165
Maps are the .mp2 and, with the expansion, .mx2 and .fh2m files of the
maps directories, campaign videos come from anim, anim2, heroes2/anim or
data, and CD music from music. MIDI music is played with the .sf2 and .sf3
sound fonts of files/soundfonts and the files/timidity/timidity.cfg the
engine ships, translations are files/lang/<language>.mo built from the
repository's .po files. All are optional.
ref: src/fheroes2/maps/maps_fileinfo.cpp:730-750, src/fheroes2/game/game_video.cpp:52,
src/fheroes2/audio/audio_manager.cpp:92-110, src/fheroes2/game/game_init.cpp:292-320,
src/fheroes2/system/settings.cpp:607-619
files:
- name: "heroes2.agg"
path: "data/heroes2.agg"
category: game_data
system: heroes-of-might-and-magic-2
required: true
installed_on: [emuelec]
description: "Game resource archive (retail or demo HEROES2.AGG)"
note: "Found by a case-insensitive name ending among the .agg files of the data directory. EmuELEC's launcher fetches the demo on first start."
source_ref: "src/fheroes2/agg/agg.cpp:62-97"
- name: "heroes2x.agg"
path: "data/heroes2x.agg"
category: game_data
system: heroes-of-might-and-magic-2
required: false
description: "The Price of Loyalty resource archive"
source_ref: "src/fheroes2/agg/agg.cpp:99-115"
- name: "resurrection.h2d"
path: "files/data/resurrection.h2d"
category: game_data
system: heroes-of-might-and-magic-2
required: true
bundled: true
size: 43926
sha1: "0a2b2faddd2c88218c5de503f98faa5547ebb732"
validation: [signature]
description: "fheroes2's own resource container, installed with the engine"
source_ref: "src/fheroes2/h2d/h2d.cpp:107-145, src/engine/h2d_file.cpp:39-88"
note: "The reader wants the H2D magic with format version 3, and the 68 file names the engine carries (h2d.cpp:34, 138): the 1.0.11 container, format 0 with 7 files, stops the start."
- name: "fheroes2.sf3"
path: "files/soundfonts/fheroes2.sf3"
category: game_data
system: heroes-of-might-and-magic-2
required: false
bundled: true
size: 2610591
sha1: "b6de55c303c2507c06693efe5a2b3dceb49dd66e"
description: "MIDI sound font the engine ships, one of the .sf2 and .sf3 files of files/soundfonts"
source_ref: "src/fheroes2/game/game_init.cpp:292-297, src/fheroes2/audio/audio_manager.cpp:782-796"
- name: "timidity.cfg"
path: "files/timidity/timidity.cfg"
category: game_data
system: heroes-of-might-and-magic-2
required: false
bundled: true
size: 2649
sha1: "94d25279d231e64aa5657606731f39d2258cc681"
description: "Timidity configuration for MIDI music, naming the GUS patches of files/timidity/instruments"
source_ref: "src/fheroes2/game/game_init.cpp:305-311, src/fheroes2/audio/audio_manager.cpp:782-796"
- name: "instruments/"
path: "files/timidity/instruments/"
type: directory
category: game_data
system: heroes-of-might-and-magic-2
required: false
bundled: true
description: "GUS instrument patches timidity.cfg names, 89 files in the repository"
source_ref: "src/fheroes2/game/game_init.cpp:305-311"
- name: "lang/"
path: "files/lang/"
type: directory
category: game_data
system: heroes-of-might-and-magic-2
required: false
bundled: true
description: "Translations, <language>.mo compiled from the repository's .po files at build"
source_ref: "src/fheroes2/system/settings.cpp:607-619"