mirror of
https://github.com/LostArtefacts/TRX.git
synced 2025-04-28 12:47:58 +03:00

Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / TR2 (Linux) (push) Waiting to run
Publish a pre-release / TR2 (Windows) (push) Waiting to run
Publish a pre-release / TR2 (Mac) (push) Waiting to run
Publish a pre-release / Create a prerelease (push) Blocked by required conditions
Publish a pre-release / TR1 (Linux) (push) Waiting to run
Publish a pre-release / TR1 (Windows) (push) Waiting to run
Publish a pre-release / TR1 (Mac) (push) Waiting to run
Resolves #2851.
509 lines
18 KiB
Text
509 lines
18 KiB
Text
{
|
|
// NOTE: bad changes to this file may result in crashes.
|
|
// Lines starting with double slashes are comments and are ignored.
|
|
|
|
"main_menu_picture": "data/images/title_eu.webp",
|
|
"savegame_fmt_legacy": "savegame.%d",
|
|
"savegame_fmt_bson": "save_tr2_%02d.dat",
|
|
|
|
"cmd_init": {"action": "exit_to_title"},
|
|
"cmd_title": {"action": "noop"},
|
|
"cmd_death_in_demo": {"action": "exit_to_title"},
|
|
"cmd_death_in_game": {"action": "noop"},
|
|
"cmd_demo_interrupt": {"action": "exit_to_title"},
|
|
"cmd_demo_end": {"action": "exit_to_title"},
|
|
|
|
"cheat_keys": true,
|
|
"load_save_disabled": false,
|
|
"play_any_level": false,
|
|
"lockout_option_ring": false,
|
|
"gym_enabled": true,
|
|
"demo_version": false,
|
|
"single_level": -1,
|
|
|
|
"demo_delay": 30,
|
|
"secret_track": 47,
|
|
|
|
"title": {
|
|
"path": "data/title.tr2",
|
|
"music_track": 64,
|
|
"sequence": [
|
|
{"type": "display_picture", "path": "data/images/legal_eu.webp", "legal": true},
|
|
{"type": "play_fmv", "fmv_id": 0},
|
|
{"type": "play_fmv", "fmv_id": 1},
|
|
{"type": "exit_to_title"},
|
|
],
|
|
},
|
|
|
|
"sfx_path": "data/main.sfx",
|
|
"injections": [
|
|
"data/injections/font.bin",
|
|
],
|
|
|
|
"levels": [
|
|
// 0. Lara's Home
|
|
{
|
|
"type": "gym",
|
|
"path": "data/assault.tr2",
|
|
"music_track": -1,
|
|
"sequence": [
|
|
{"type": "loop_game"},
|
|
{"type": "level_stats"},
|
|
],
|
|
},
|
|
|
|
// 1. The Great Wall
|
|
{
|
|
"path": "data/wall.tr2",
|
|
"music_track": 33,
|
|
"sequence": [
|
|
{"type": "play_fmv", "fmv_id": 2},
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher"},
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 2},
|
|
{"type": "add_secret_reward", "object_id": "small_medipack"},
|
|
{"type": "loop_game"},
|
|
{"type": "play_cutscene", "cutscene_id": 0},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
"data/injections/wall_itemrots.bin",
|
|
],
|
|
},
|
|
|
|
// 2. Venice
|
|
{
|
|
"path": "data/boat.tr2",
|
|
"music_track": -1,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "magnums_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/boat_bits.bin",
|
|
"data/injections/common_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 3. Bartoli's Hideout
|
|
{
|
|
"path": "data/venice.tr2",
|
|
"music_track": -1,
|
|
"sequence": [
|
|
{"type": "enable_sunset"},
|
|
{"type": "add_secret_reward", "object_id": "shotgun_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 4. Opera House
|
|
{
|
|
"path": "data/opera.tr2",
|
|
"music_track": 31,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "uzis"},
|
|
{"type": "add_secret_reward", "object_id": "uzis_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_cutscene", "cutscene_id": 1},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
"data/injections/opera_fd.bin",
|
|
"data/injections/opera_itemrots.bin",
|
|
],
|
|
},
|
|
|
|
// 5. Offshore Rig
|
|
{
|
|
"path": "data/rig.tr2",
|
|
"music_track": 58,
|
|
"sequence": [
|
|
{"type": "play_fmv", "fmv_id": 3},
|
|
{"type": "set_lara_start_anim", "anim": 8},
|
|
{"type": "remove_weapons"},
|
|
{"type": "add_secret_reward", "object_id": "uzis"},
|
|
{"type": "add_secret_reward", "object_id": "uzis_ammo", "quantity": 2},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/rig_itemrots.bin",
|
|
"data/injections/rig_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 6. Diving Area
|
|
{
|
|
"path": "data/platform.tr2",
|
|
"music_track": 58,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "uzis_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_cutscene", "cutscene_id": 2},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/diving_itemrots.bin",
|
|
"data/injections/diving_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 7. 40 Fathoms
|
|
{
|
|
"path": "data/unwater.tr2",
|
|
"music_track": 34,
|
|
"sequence": [
|
|
{"type": "play_fmv", "fmv_id": 4},
|
|
{"type": "add_secret_reward", "object_id": "harpoon_gun_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
"data/injections/fathoms_goon_sfx.bin",
|
|
],
|
|
},
|
|
|
|
// 8. Wreck of the Maria Doria
|
|
{
|
|
"path": "data/keel.tr2",
|
|
"music_track": 31,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher"},
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 2},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/wreck_fd.bin",
|
|
"data/injections/wreck_goon_sfx.bin",
|
|
"data/injections/wreck_itemrots.bin",
|
|
"data/injections/wreck_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 9. Living Quarters
|
|
{
|
|
"path": "data/living.tr2",
|
|
"music_track": 34,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "m16_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/living_deck_goon_sfx.bin",
|
|
"data/injections/living_fd.bin",
|
|
"data/injections/living_pickup_meshes.bin",
|
|
"data/injections/seaweed_collision.bin",
|
|
],
|
|
},
|
|
|
|
// 10. The Deck
|
|
{
|
|
"path": "data/deck.tr2",
|
|
"music_track": 31,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/deck_fd.bin",
|
|
"data/injections/deck_itemrots.bin",
|
|
"data/injections/deck_pickup_meshes.bin",
|
|
"data/injections/living_deck_goon_sfx.bin",
|
|
],
|
|
},
|
|
|
|
// 11. Tibetan Foothills
|
|
{
|
|
"path": "data/skidoo.tr2",
|
|
"music_track": 33,
|
|
"sequence": [
|
|
{"type": "play_fmv", "fmv_id": 5},
|
|
{"type": "give_item", "object_id": "puzzle_4"},
|
|
{"type": "add_secret_reward", "object_id": "uzis_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
"data/injections/tibet_fd.bin",
|
|
"data/injections/tibet_itemrots.bin",
|
|
],
|
|
},
|
|
|
|
// 12. Barkhang Monastery
|
|
{
|
|
"path": "data/monastry.tr2",
|
|
"music_track": -1,
|
|
"sequence": [
|
|
{"type": "give_item", "object_id": "puzzle_4"},
|
|
{"type": "add_secret_reward", "object_id": "m16_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/barkhang_itemrots.bin",
|
|
"data/injections/barkhang_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 13. Catacombs of the Talion
|
|
{
|
|
"path": "data/catacomb.tr2",
|
|
"music_track": 31,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 2},
|
|
{"type": "add_secret_reward", "object_id": "m16_ammo", "quantity": 2},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/catacombs_fd.bin",
|
|
"data/injections/catacombs_itemrots.bin",
|
|
"data/injections/common_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 14. Ice Palace
|
|
{
|
|
"path": "data/icecave.tr2",
|
|
"music_track": 31,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
"data/injections/guardian_death_commands.bin",
|
|
"data/injections/palace_fd.bin",
|
|
"data/injections/palace_itemrots.bin",
|
|
],
|
|
},
|
|
|
|
// 15. Temple of Xian
|
|
{
|
|
"path": "data/emprtomb.tr2",
|
|
"music_track": 59,
|
|
"sequence": [
|
|
{"type": "play_fmv", "fmv_id": 6},
|
|
{"type": "add_secret_reward", "object_id": "uzis_ammo", "quantity": 8},
|
|
{"type": "loop_game"},
|
|
{"type": "play_cutscene", "cutscene_id": 3},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/xian_fd.bin",
|
|
"data/injections/xian_itemrots.bin",
|
|
"data/injections/xian_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 16. Floating Islands
|
|
{
|
|
"path": "data/floating.tr2",
|
|
"music_track": 59,
|
|
"sequence": [
|
|
{"type": "disable_floor", "height": 9728},
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 8},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/floating_fd.bin",
|
|
"data/injections/floating_itemrots.bin",
|
|
"data/injections/floating_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 17. The Dragon's Lair
|
|
{
|
|
"path": "data/xian.tr2",
|
|
"music_track": 59,
|
|
"sequence": [
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 41},
|
|
{"type": "level_stats"},
|
|
{"type": "play_fmv", "fmv_id": 7},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// 18. Home Sweet Home
|
|
{
|
|
"path": "data/house.tr2",
|
|
"music_track": -1,
|
|
"sequence": [
|
|
{"type": "give_item", "object_id": "key_1"},
|
|
{"type": "set_lara_start_anim", "anim": 9},
|
|
{"type": "remove_weapons"},
|
|
{"type": "remove_ammo"},
|
|
{"type": "remove_flares"},
|
|
{"type": "remove_medipacks"},
|
|
{"type": "loop_game"},
|
|
{"type": "play_music", "music_track": 52},
|
|
{"type": "level_complete"},
|
|
{"type": "display_picture", "path": "data/images/credit01.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit02.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit03.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit04.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit05.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit06.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit07.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "display_picture", "path": "data/images/credit08.webp", "display_time": 15, "fade_in_time": 0.5, "fade_out_time": 0.5},
|
|
{"type": "total_stats", "background_path": "data/images/end.webp"},
|
|
],
|
|
"injections": [
|
|
"data/injections/house_itemrots.bin",
|
|
],
|
|
},
|
|
],
|
|
|
|
"demos": [
|
|
// Demo 1: Venice
|
|
{
|
|
"path": "data/boat.tr2",
|
|
"music_track": -1,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "magnums_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// Demo 2: Wreck of the Maria Doria
|
|
{
|
|
"path": "data/keel.tr2",
|
|
"music_track": 31,
|
|
"sequence": [
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher"},
|
|
{"type": "add_secret_reward", "object_id": "grenade_launcher_ammo", "quantity": 2},
|
|
{"type": "loop_game"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/wreck_fd.bin",
|
|
"data/injections/wreck_goon_sfx.bin",
|
|
"data/injections/wreck_itemrots.bin",
|
|
"data/injections/wreck_pickup_meshes.bin",
|
|
],
|
|
},
|
|
|
|
// Demo 3: Tibetan Foothills
|
|
{
|
|
"path": "data/skidoo.tr2",
|
|
"music_track": 33,
|
|
"sequence": [
|
|
{"type": "give_item", "object_id": "puzzle_4"},
|
|
{"type": "add_secret_reward", "object_id": "uzis_ammo", "quantity": 4},
|
|
{"type": "loop_game"},
|
|
{"type": "level_complete"},
|
|
],
|
|
"injections": [
|
|
"data/injections/common_pickup_meshes.bin",
|
|
"data/injections/tibet_fd.bin",
|
|
"data/injections/tibet_itemrots.bin",
|
|
],
|
|
},
|
|
],
|
|
|
|
"cutscenes": [
|
|
{
|
|
"path": "data/cut1.tr2",
|
|
"music_track": 3,
|
|
"sequence": [
|
|
{"type": "set_cutscene_angle", "angle": 0},
|
|
{"type": "loop_game"},
|
|
],
|
|
"injections": [
|
|
"data/injections/photo.bin",
|
|
],
|
|
},
|
|
{
|
|
"path": "data/cut2.tr2",
|
|
"music_track": 4,
|
|
"sequence": [{"type": "loop_game"}],
|
|
"injections": [
|
|
"data/injections/photo.bin",
|
|
],
|
|
},
|
|
{
|
|
"path": "data/cut3.tr2",
|
|
"music_track": 5,
|
|
"sequence": [{"type": "loop_game"}],
|
|
"injections": [
|
|
"data/injections/photo.bin",
|
|
],
|
|
},
|
|
{
|
|
"path": "data/cut4.tr2",
|
|
"music_track": 30,
|
|
"sequence": [
|
|
{"type": "set_cutscene_angle", "angle": 0},
|
|
{"type": "loop_game"},
|
|
],
|
|
"injections": [
|
|
"data/injections/cut4_textures.bin",
|
|
"data/injections/photo.bin",
|
|
],
|
|
},
|
|
],
|
|
|
|
"fmvs": [
|
|
{"path": "fmv/LOGO.RPL", "legal": true},
|
|
{"path": "fmv/ANCIENT.RPL"},
|
|
{"path": "fmv/MODERN.RPL"},
|
|
{"path": "fmv/LANDING.RPL"},
|
|
{"path": "fmv/MS.RPL"},
|
|
{"path": "fmv/CRASH.RPL"},
|
|
{"path": "fmv/JEEP.RPL"},
|
|
{"path": "fmv/END.RPL"},
|
|
],
|
|
}
|