Files
libretro/emulators/tr1x.yml
T
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
2026-10-20 07:17:05 +02:00

695 lines
22 KiB
YAML

emulator: TR1X
display_name: "TR1X"
type: standalone
core_classification: game_engine
source: "https://github.com/LostArtefacts/TRX"
upstream: "https://github.com/LostArtefacts/TRX"
source_commit: "c43c1cc875277324dff44a9e57e4fdd58fd3fb4c"
upstream_commit: "c43c1cc875277324dff44a9e57e4fdd58fd3fb4c"
profiled_date: "2026-10-04"
cores: []
systems:
- tomb-raider-1
notes: |
Enhanced engine for Tomb Raider 1 (1996), part of the TRX monorepo
that also hosts TR2X and TR3X. Loads retail .phd level files, music
tracks and FMV cutscenes from a Steam, GOG or disc install of TR1.
Path resolution (src/trx/game/paths.c):
levels %mod_dir%/levels/<file> GAME_DYNAMIC_PATH_LEVEL_FILE
fmv %mod_dir%/fmv/<file><ext> GAME_DYNAMIC_PATH_FMV_FILE
music %mod_dir%/music/<name><ext> GAME_DYNAMIC_PATH_MUSIC_DIR
with %mod_dir% = games/tr1 under the TRX root. The game-flow file,
the catalog_*.csv tables, string tables, injections, images and
shaders ship inside the TRX zip (data/trx/ship/) and are not user
files.
FMV extension probing (src/trx/game/paths.c:76-79):
.mp4 .mkv .mpeg .avi .webm .ogv .rpl .fmv .bik
The retail Core/Eidos cutscenes are .rpl. The gameflow still names
them .avi, resolution picks whichever extension exists.
Music backend (src/trx/game/music/backend_files.c:25-49):
extensions .flac .ogg .mp3 .wav .wma
file name trackNN.<ext> (two-digit) or N.<ext>
Retail TR1 CD rips yield track02..track60.
TR1 keeps every sample inlined in the .phd level files, so no
main.sfx accompanies the levels.
files:
# Levels
# Enumerated by data/trx/ship/games/tr1/gameflow.json5 "levels" array.
- name: "title.phd"
path: "games/tr1/levels/title.phd"
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:38"
- name: "gym.phd"
path: "games/tr1/levels/gym.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:59"
- name: "level1.phd"
path: "games/tr1/levels/level1.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:95"
note: "Caves"
- name: "level2.phd"
path: "games/tr1/levels/level2.phd"
unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:116"
note: "City of Vilcabamba"
- name: "level3a.phd"
path: "games/tr1/levels/level3a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:134"
note: "Lost Valley"
- name: "level3b.phd"
path: "games/tr1/levels/level3b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:153"
note: "Tomb of Qualopec"
- name: "level4.phd"
path: "games/tr1/levels/level4.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:173"
note: "St. Francis' Folly"
- name: "level5.phd"
path: "games/tr1/levels/level5.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:194"
note: "Colosseum"
- name: "level6.phd"
path: "games/tr1/levels/level6.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:214"
note: "Palace Midas"
- name: "level7a.phd"
path: "games/tr1/levels/level7a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:232"
note: "The Cistern"
- name: "level7b.phd"
path: "games/tr1/levels/level7b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:252"
note: "Tomb of Tihocan"
- name: "level8a.phd"
path: "games/tr1/levels/level8a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:278"
note: "City of Khamoon"
- name: "level8b.phd"
path: "games/tr1/levels/level8b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:300"
note: "Obelisk of Khamoon"
- name: "level8c.phd"
path: "games/tr1/levels/level8c.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:321"
note: "Sanctuary of the Scion"
- name: "level10a.phd"
path: "games/tr1/levels/level10a.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:343"
note: "Natla's Mines"
- name: "level10b.phd"
path: "games/tr1/levels/level10b.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:376"
note: "Atlantis"
- name: "level10c.phd"
path: "games/tr1/levels/level10c.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:401"
note: "The Great Pyramid"
- name: "cut1.phd"
path: "games/tr1/levels/cut1.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:490"
note: "Cutscene level 1 (after Qualopec)"
- name: "cut2.phd"
path: "games/tr1/levels/cut2.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:511"
note: "Cutscene level 2 (after Tihocan)"
- name: "cut3.phd"
path: "games/tr1/levels/cut3.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:531"
note: "Cutscene level 3 (Khamoon ambush)"
- name: "cut4.phd"
path: "games/tr1/levels/cut4.phd"
required: true
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:552"
note: "Cutscene level 4 (Natla's mines)"
# FMV cutscenes
# Enumerated by data/trx/ship/games/tr1/gameflow.json5 "fmvs" array.
# The retail files on disc carry a .rpl extension. The gameflow still
# lists .avi, resolution picks whichever extension is present.
- name: "core.avi"
aliases: [core.rpl]
path: "games/tr1/fmv/core.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:576"
note: "Core Design legal screen."
- name: "escape.avi"
aliases: [escape.rpl]
path: "games/tr1/fmv/escape.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:577"
note: "Eidos legal screen."
- name: "cafe.avi"
aliases: [cafe.rpl]
path: "games/tr1/fmv/cafe.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:578"
note: "Intro cutscene."
- name: "mansion.avi"
aliases: [mansion.rpl]
path: "games/tr1/fmv/mansion.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:579"
- name: "snow.avi"
aliases: [snow.rpl]
path: "games/tr1/fmv/snow.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:580"
- name: "lift.avi"
aliases: [lift.rpl]
path: "games/tr1/fmv/lift.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:581"
- name: "vision.avi"
aliases: [vision.rpl]
path: "games/tr1/fmv/vision.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:582"
- name: "canyon.avi"
aliases: [canyon.rpl]
path: "games/tr1/fmv/canyon.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:583"
- name: "pyramid.avi"
aliases: [pyramid.rpl]
path: "games/tr1/fmv/pyramid.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:584"
- name: "prison.avi"
aliases: [prison.rpl]
path: "games/tr1/fmv/prison.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:585"
- name: "end.avi"
aliases: [end.rpl]
path: "games/tr1/fmv/end.rpl"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1/gameflow.json5:586"
# Music tracks (retail CD audio, ripped as trackNN.<ext>).
# Enumerated by the ship tree in docs/trx/INSTALLING.md.
# The code accepts .flac .ogg .mp3 .wav .wma under either trackNN or N.
- name: "track02.flac"
path: "games/tr1/music/track02.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track03.flac"
path: "games/tr1/music/track03.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track04.flac"
path: "games/tr1/music/track04.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track05.flac"
path: "games/tr1/music/track05.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track06.flac"
path: "games/tr1/music/track06.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track07.flac"
path: "games/tr1/music/track07.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track08.flac"
path: "games/tr1/music/track08.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track09.flac"
path: "games/tr1/music/track09.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track10.flac"
path: "games/tr1/music/track10.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track11.flac"
path: "games/tr1/music/track11.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track12.flac"
path: "games/tr1/music/track12.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track13.flac"
path: "games/tr1/music/track13.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track14.flac"
path: "games/tr1/music/track14.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track15.flac"
path: "games/tr1/music/track15.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track16.flac"
path: "games/tr1/music/track16.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track17.flac"
path: "games/tr1/music/track17.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track18.flac"
path: "games/tr1/music/track18.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track19.flac"
path: "games/tr1/music/track19.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track20.flac"
path: "games/tr1/music/track20.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track21.flac"
path: "games/tr1/music/track21.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track22.flac"
path: "games/tr1/music/track22.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track23.flac"
path: "games/tr1/music/track23.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track24.flac"
path: "games/tr1/music/track24.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track25.flac"
path: "games/tr1/music/track25.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track26.flac"
path: "games/tr1/music/track26.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track27.flac"
path: "games/tr1/music/track27.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track28.flac"
path: "games/tr1/music/track28.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track29.flac"
path: "games/tr1/music/track29.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track30.flac"
path: "games/tr1/music/track30.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track31.flac"
path: "games/tr1/music/track31.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track32.flac"
path: "games/tr1/music/track32.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track33.flac"
path: "games/tr1/music/track33.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track34.flac"
path: "games/tr1/music/track34.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track35.flac"
path: "games/tr1/music/track35.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track36.flac"
path: "games/tr1/music/track36.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track37.flac"
path: "games/tr1/music/track37.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track38.flac"
path: "games/tr1/music/track38.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track39.flac"
path: "games/tr1/music/track39.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track40.flac"
path: "games/tr1/music/track40.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track41.flac"
path: "games/tr1/music/track41.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track42.flac"
path: "games/tr1/music/track42.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track43.flac"
path: "games/tr1/music/track43.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track44.flac"
path: "games/tr1/music/track44.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track45.flac"
path: "games/tr1/music/track45.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track46.flac"
path: "games/tr1/music/track46.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track47.flac"
path: "games/tr1/music/track47.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track48.flac"
path: "games/tr1/music/track48.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track49.flac"
path: "games/tr1/music/track49.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track50.flac"
path: "games/tr1/music/track50.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track51.flac"
path: "games/tr1/music/track51.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track52.flac"
path: "games/tr1/music/track52.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track53.flac"
path: "games/tr1/music/track53.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track54.flac"
path: "games/tr1/music/track54.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track55.flac"
path: "games/tr1/music/track55.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track56.flac"
path: "games/tr1/music/track56.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track57.flac"
path: "games/tr1/music/track57.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track58.flac"
path: "games/tr1/music/track58.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track59.flac"
path: "games/tr1/music/track59.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
- name: "track60.flac"
path: "games/tr1/music/track60.flac"
required: false
category: game_data
source_ref: "src/trx/game/music/backend_files.c:43"
# Unfinished Business expansion
# Known game tr1-ub, extends tr1 (src/trx/game/shell/mod.c:30-31).
# Enumerated by data/trx/ship/games/tr1-ub/gameflow.json5 "levels" array.
# Its title, FMVs and music fall back to games/tr1.
# The project's installer downloads the levels from its own host as
# tr1-ub-vanilla.zip (original edition) or tr1-ub-music.zip (fan-patched
# edition) and copies data/*.phd to games/tr1-ub/levels/; tools/download_assets
# fetches tr1-ub.zip, which carries the expansion's images only.
- name: "egypt.phd"
path: "games/tr1-ub/levels/egypt.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:63, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
note: "Return to Egypt. The installer offers the original edition and a fan-patched edition of the level set."
- name: "cat.phd"
path: "games/tr1-ub/levels/cat.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:87, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
note: "Temple of the Cat. The installer offers the original edition and a fan-patched edition of the level set."
- name: "end.phd"
path: "games/tr1-ub/levels/end.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:110, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
note: "Atlantean Stronghold. The installer offers the original edition and a fan-patched edition of the level set."
- name: "end2.phd"
path: "games/tr1-ub/levels/end2.phd"
required: false
category: game_data
source_ref: "data/trx/ship/games/tr1-ub/gameflow.json5:132, tools/installer/TRX_Installer/InstallComponentFactory.cs:72-81, tools/installer/TRX_Installer/InstallMappings.cs:18-22"
note: "The Hive. The installer offers the original edition and a fan-patched edition of the level set."
# PC demo
# Known game tr1-demo-pc, extends tr1 (src/trx/game/shell/mod.c:32-33).
# tools/download_assets and the installer fetch tr1-demo-pc.zip from the
# project's host. It holds games/tr1-demo-pc/levels/{title,level2}.phd.
- name: "title.phd"
path: "games/tr1-demo-pc/levels/title.phd"
required: false
bundled: true
not_bundled_on: [batocera]
size: 316138
sha1: "27f7a95739e373d06365fb8b60613885c9d36bd8"
md5: "20e22cddfb4b796e58c0a2b9fc8b1268"
category: game_data
source_ref: "data/trx/ship/games/tr1-demo-pc/gameflow.json5:38, src/trx/game/game_flow/reader.c:903-909, src/trx/game/paths.c:123-132, tools/download_assets:67, tools/installer/TRX_Installer/InstallComponentFactory.cs:83-87"
note: "Title level of the PC demo. A title level is also looked up in the levels directory of the game it extends, so games/tr1/levels/title.phd is used when this one is absent. Shipped in the TRX 1.11.1 Windows and Linux zips, not in the Batocera TR1X package."
- name: "level2.phd"
path: "games/tr1-demo-pc/levels/level2.phd"
required: false
bundled: true
not_bundled_on: [batocera]
size: 2873406
sha1: "f0fc40ca8df563191dda683bae76522f16f0f535"
md5: "3c41eefbd43d477991bee10e4568322b"
category: game_data
source_ref: "data/trx/ship/games/tr1-demo-pc/gameflow.json5:56, src/trx/game/level/format/format_tr1.c:74-99, 186-191, tools/download_assets:67, tools/installer/TRX_Installer/InstallComponentFactory.cs:83-87"
note: "City of Vilcabamba in the PC demo layout, which stores the palette before the cameras. The demo game does not load without it. Shipped in the TRX 1.11.1 Windows and Linux zips, not in the Batocera TR1X package."