TR2X - RetroBIOS¶
Technical notes
Enhanced engine for Tomb Raider 2 (1997), part of the TRX monorepo that also hosts TR1X and TR3X. Loads retail .tr2 level files, the main.sfx soundbank, music tracks and FMV cutscenes from a Steam, GOG or disc install of TR2.
Path resolution (src/trx/game/paths.c): levels %mod_dir%/levels/<file> GAME_DYNAMIC_PATH_LEVEL_FILE sfx %mod_dir%/<file> GAME_DYNAMIC_PATH_SFX_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/tr2 under the TRX root. The gameflow.json5, the catalog_*.csv tables, string tables, injections, images and shaders ship inside the TRX zip (data/trx/ship/) and are not user files.
main.sfx is TR2's sample bank. The gameflow sets sfx_path to it (data/trx/ship/games/tr2/gameflow.json5:33) and the level pipeline reads it per level (src/trx/game/level/pipeline.c:179).
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 TR2 CD rips yield 2.mp3 through 61.mp3 (bare-number form, per docs/trx/INSTALLING.md ship tree).
100 files | 25 required, 75 optional | 8 in repo, 90 missing, 2 unsourceable Categories: 100 game data
main.sfx required unsourceable game_data
- Path:
games/tr2/main.sfx - Source:
data/trx/ship/games/tr2/gameflow.json5:33 - Shared sample bank, loaded for every level.
title.tr2 required unsourceable game_data
- Path:
games/tr2/levels/title.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:15
assault.tr2 required missing game_data
- Path:
games/tr2/levels/assault.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:54 - Lara's Home / assault course.
wall.tr2 required missing game_data
- Path:
games/tr2/levels/wall.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:84 - The Great Wall
boat.tr2 required missing game_data
- Path:
games/tr2/levels/boat.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:119 - Venice
venice.tr2 required missing game_data
- Path:
games/tr2/levels/venice.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:144 - Bartoli's Hideout
opera.tr2 required missing game_data
- Path:
games/tr2/levels/opera.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:171 - Opera House
rig.tr2 required missing game_data
- Path:
games/tr2/levels/rig.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:202 - Offshore Rig
platform.tr2 required missing game_data
- Path:
games/tr2/levels/platform.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:231 - Diving Area
unwater.tr2 required missing game_data
- Path:
games/tr2/levels/unwater.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:260 - 40 Fathoms
keel.tr2 required missing game_data
- Path:
games/tr2/levels/keel.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:289 - Wreck of the Maria Doria
living.tr2 required missing game_data
- Path:
games/tr2/levels/living.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:321 - Living Quarters
deck.tr2 required missing game_data
- Path:
games/tr2/levels/deck.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:351 - The Deck
skidoo.tr2 required missing game_data
- Path:
games/tr2/levels/skidoo.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:383 - Tibetan Foothills
monastry.tr2 required missing game_data
- Path:
games/tr2/levels/monastry.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:411 - Barkhang Monastery
catacomb.tr2 required missing game_data
- Path:
games/tr2/levels/catacomb.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:440 - Catacombs of the Talion
icecave.tr2 required missing game_data
- Path:
games/tr2/levels/icecave.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:468 - Ice Palace
emprtomb.tr2 required missing game_data
- Path:
games/tr2/levels/emprtomb.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:496 - Temple of Xian
floating.tr2 required missing game_data
- Path:
games/tr2/levels/floating.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:526 - Floating Islands
xian.tr2 required missing game_data
- Path:
games/tr2/levels/xian.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:552 - The Dragon's Lair
house.tr2 required missing game_data
- Path:
games/tr2/levels/house.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:578 - Home Sweet Home
cut1.tr2 required missing game_data
- Path:
games/tr2/levels/cut1.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:691 - Cutscene level 1
cut2.tr2 required missing game_data
- Path:
games/tr2/levels/cut2.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:706 - Cutscene level 2
cut3.tr2 required missing game_data
- Path:
games/tr2/levels/cut3.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:721 - Cutscene level 3
cut4.tr2 required missing game_data
- Path:
games/tr2/levels/cut4.tr2 - Source:
data/trx/ship/games/tr2/gameflow.json5:737 - Cutscene level 4
LOGO.AVI optional missing game_data
- Path:
games/tr2/fmv/logo.rpl - Aliases:
logo.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:756 - Eidos legal screen.
ANCIENT.AVI optional missing game_data
- Path:
games/tr2/fmv/ancient.rpl - Aliases:
ancient.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:757 - Intro cutscene.
MODERN.AVI optional missing game_data
- Path:
games/tr2/fmv/modern.rpl - Aliases:
modern.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:758
LANDING.AVI optional missing game_data
- Path:
games/tr2/fmv/landing.rpl - Aliases:
landing.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:759
MS.AVI optional missing game_data
- Path:
games/tr2/fmv/ms.rpl - Aliases:
ms.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:760
CRASH.AVI optional missing game_data
- Path:
games/tr2/fmv/crash.rpl - Aliases:
crash.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:761
JEEP.AVI optional missing game_data
- Path:
games/tr2/fmv/jeep.rpl - Aliases:
jeep.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:762
END.AVI optional missing game_data
- Path:
games/tr2/fmv/end.rpl - Aliases:
end.rpl - Source:
data/trx/ship/games/tr2/gameflow.json5:763
2.mp3 optional missing game_data
- Path:
games/tr2/music/2.mp3 - Source:
src/trx/game/music/backend_files.c:48
3.mp3 optional missing game_data
- Path:
games/tr2/music/3.mp3 - Source:
src/trx/game/music/backend_files.c:48
4.mp3 optional missing game_data
- Path:
games/tr2/music/4.mp3 - Source:
src/trx/game/music/backend_files.c:48
5.mp3 optional missing game_data
- Path:
games/tr2/music/5.mp3 - Source:
src/trx/game/music/backend_files.c:48
6.mp3 optional missing game_data
- Path:
games/tr2/music/6.mp3 - Source:
src/trx/game/music/backend_files.c:48
7.mp3 optional missing game_data
- Path:
games/tr2/music/7.mp3 - Source:
src/trx/game/music/backend_files.c:48
8.mp3 optional missing game_data
- Path:
games/tr2/music/8.mp3 - Source:
src/trx/game/music/backend_files.c:48
9.mp3 optional missing game_data
- Path:
games/tr2/music/9.mp3 - Source:
src/trx/game/music/backend_files.c:48
10.mp3 optional missing game_data
- Path:
games/tr2/music/10.mp3 - Source:
src/trx/game/music/backend_files.c:48
11.mp3 optional missing game_data
- Path:
games/tr2/music/11.mp3 - Source:
src/trx/game/music/backend_files.c:48
12.mp3 optional missing game_data
- Path:
games/tr2/music/12.mp3 - Source:
src/trx/game/music/backend_files.c:48
13.mp3 optional missing game_data
- Path:
games/tr2/music/13.mp3 - Source:
src/trx/game/music/backend_files.c:48
14.mp3 optional missing game_data
- Path:
games/tr2/music/14.mp3 - Source:
src/trx/game/music/backend_files.c:48
15.mp3 optional missing game_data
- Path:
games/tr2/music/15.mp3 - Source:
src/trx/game/music/backend_files.c:48
16.mp3 optional missing game_data
- Path:
games/tr2/music/16.mp3 - Source:
src/trx/game/music/backend_files.c:48
17.mp3 optional missing game_data
- Path:
games/tr2/music/17.mp3 - Source:
src/trx/game/music/backend_files.c:48
18.mp3 optional missing game_data
- Path:
games/tr2/music/18.mp3 - Source:
src/trx/game/music/backend_files.c:48
19.mp3 optional missing game_data
- Path:
games/tr2/music/19.mp3 - Source:
src/trx/game/music/backend_files.c:48
20.mp3 optional missing game_data
- Path:
games/tr2/music/20.mp3 - Source:
src/trx/game/music/backend_files.c:48
21.mp3 optional missing game_data
- Path:
games/tr2/music/21.mp3 - Source:
src/trx/game/music/backend_files.c:48
22.mp3 optional missing game_data
- Path:
games/tr2/music/22.mp3 - Source:
src/trx/game/music/backend_files.c:48
23.mp3 optional missing game_data
- Path:
games/tr2/music/23.mp3 - Source:
src/trx/game/music/backend_files.c:48
24.mp3 optional missing game_data
- Path:
games/tr2/music/24.mp3 - Source:
src/trx/game/music/backend_files.c:48
25.mp3 optional missing game_data
- Path:
games/tr2/music/25.mp3 - Source:
src/trx/game/music/backend_files.c:48
26.mp3 optional missing game_data
- Path:
games/tr2/music/26.mp3 - Source:
src/trx/game/music/backend_files.c:48
27.mp3 optional missing game_data
- Path:
games/tr2/music/27.mp3 - Source:
src/trx/game/music/backend_files.c:48
28.mp3 optional missing game_data
- Path:
games/tr2/music/28.mp3 - Source:
src/trx/game/music/backend_files.c:48
29.mp3 optional missing game_data
- Path:
games/tr2/music/29.mp3 - Source:
src/trx/game/music/backend_files.c:48
30.mp3 optional missing game_data
- Path:
games/tr2/music/30.mp3 - Source:
src/trx/game/music/backend_files.c:48
31.mp3 optional missing game_data
- Path:
games/tr2/music/31.mp3 - Source:
src/trx/game/music/backend_files.c:48
32.mp3 optional missing game_data
- Path:
games/tr2/music/32.mp3 - Source:
src/trx/game/music/backend_files.c:48
33.mp3 optional missing game_data
- Path:
games/tr2/music/33.mp3 - Source:
src/trx/game/music/backend_files.c:48
34.mp3 optional missing game_data
- Path:
games/tr2/music/34.mp3 - Source:
src/trx/game/music/backend_files.c:48
35.mp3 optional missing game_data
- Path:
games/tr2/music/35.mp3 - Source:
src/trx/game/music/backend_files.c:48
36.mp3 optional missing game_data
- Path:
games/tr2/music/36.mp3 - Source:
src/trx/game/music/backend_files.c:48
37.mp3 optional missing game_data
- Path:
games/tr2/music/37.mp3 - Source:
src/trx/game/music/backend_files.c:48
38.mp3 optional missing game_data
- Path:
games/tr2/music/38.mp3 - Source:
src/trx/game/music/backend_files.c:48
39.mp3 optional missing game_data
- Path:
games/tr2/music/39.mp3 - Source:
src/trx/game/music/backend_files.c:48
40.mp3 optional missing game_data
- Path:
games/tr2/music/40.mp3 - Source:
src/trx/game/music/backend_files.c:48
41.mp3 optional missing game_data
- Path:
games/tr2/music/41.mp3 - Source:
src/trx/game/music/backend_files.c:48
42.mp3 optional missing game_data
- Path:
games/tr2/music/42.mp3 - Source:
src/trx/game/music/backend_files.c:48
43.mp3 optional missing game_data
- Path:
games/tr2/music/43.mp3 - Source:
src/trx/game/music/backend_files.c:48
44.mp3 optional missing game_data
- Path:
games/tr2/music/44.mp3 - Source:
src/trx/game/music/backend_files.c:48
45.mp3 optional missing game_data
- Path:
games/tr2/music/45.mp3 - Source:
src/trx/game/music/backend_files.c:48
46.mp3 optional missing game_data
- Path:
games/tr2/music/46.mp3 - Source:
src/trx/game/music/backend_files.c:48
47.mp3 optional missing game_data
- Path:
games/tr2/music/47.mp3 - Source:
src/trx/game/music/backend_files.c:48
48.mp3 optional missing game_data
- Path:
games/tr2/music/48.mp3 - Source:
src/trx/game/music/backend_files.c:48
49.mp3 optional missing game_data
- Path:
games/tr2/music/49.mp3 - Source:
src/trx/game/music/backend_files.c:48
50.mp3 optional missing game_data
- Path:
games/tr2/music/50.mp3 - Source:
src/trx/game/music/backend_files.c:48
51.mp3 optional missing game_data
- Path:
games/tr2/music/51.mp3 - Source:
src/trx/game/music/backend_files.c:48
52.mp3 optional missing game_data
- Path:
games/tr2/music/52.mp3 - Source:
src/trx/game/music/backend_files.c:48
53.mp3 optional missing game_data
- Path:
games/tr2/music/53.mp3 - Source:
src/trx/game/music/backend_files.c:48
54.mp3 optional missing game_data
- Path:
games/tr2/music/54.mp3 - Source:
src/trx/game/music/backend_files.c:48
55.mp3 optional missing game_data
- Path:
games/tr2/music/55.mp3 - Source:
src/trx/game/music/backend_files.c:48
56.mp3 optional missing game_data
- Path:
games/tr2/music/56.mp3 - Source:
src/trx/game/music/backend_files.c:48
57.mp3 optional in repo game_data
- Path:
games/tr2/music/57.mp3 - Source:
src/trx/game/music/backend_files.c:48
58.mp3 optional missing game_data
- Path:
games/tr2/music/58.mp3 - Source:
src/trx/game/music/backend_files.c:48
59.mp3 optional missing game_data
- Path:
games/tr2/music/59.mp3 - Source:
src/trx/game/music/backend_files.c:48
60.mp3 optional missing game_data
- Path:
games/tr2/music/60.mp3 - Source:
src/trx/game/music/backend_files.c:48
61.mp3 optional missing game_data
- Path:
games/tr2/music/61.mp3 - Source:
src/trx/game/music/backend_files.c:48
main.sfx optional in repo game_data
- Path:
games/tr2-gm/main.sfx - Aliases:
main_gm.sfx - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:34,src/trx/game/game_flow/reader.c:198-219,src/trx/game/paths.c:203-212,tools/download_assets:71,tools/installer/TRX_Installer/InstallMappings.cs:35-40 - Sample bank of the expansion. main_gm.sfx is tried first, each name in the expansion directory then in games/tr2.
title.tr2 optional in repo game_data
- Path:
games/tr2-gm/levels/title.tr2 - Aliases:
title_gm.tr2 - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:16,src/trx/game/game_flow/reader.c:198-219,src/trx/game/game_flow/reader.c:903-909,src/trx/game/paths.c:123-132,tools/download_assets:71,tools/installer/TRX_Installer/InstallMappings.cs:35-40 - Title level of the expansion. title_gm.tr2 is tried first, each name in the expansion levels directory then in games/tr2/levels.
level1.tr2 optional in repo game_data
- Path:
games/tr2-gm/levels/level1.tr2 - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:56 - The Cold War
level2.tr2 optional in repo game_data
- Path:
games/tr2-gm/levels/level2.tr2 - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:88 - Fool's Gold
level3.tr2 optional in repo game_data
- Path:
games/tr2-gm/levels/level3.tr2 - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:113 - Furnace of the Gods
level4.tr2 optional in repo game_data
- Path:
games/tr2-gm/levels/level4.tr2 - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:138 - Kingdom
level5.tr2 optional in repo game_data
- Path:
games/tr2-gm/levels/level5.tr2 - Source:
data/trx/ship/games/tr2-gm/gameflow.json5:175 - Nightmare in Vegas
Generated on 2026-10-10T11:26:02Z