The following properties are in the root of the game flow document and control various pieces of global behaviour. Currently, the majority of this section remains distinct for each game.
{
"main_menu_picture": "data/titleh.png",
"savegame_fmt_legacy": "saveati.%d",
"savegame_fmt_bson": "save_tr1_%02d.dat",
"demo_delay": 16,
"water_color": [0.45, 1.0, 1.0],
"fog_start": 22.0,
"fog_end": 30.0,
"injections": [
"data/global_injection1.bin",
"data/global_injection2.bin",
// etc
],
"convert_dropped_guns": false,
"enforced_config": {
"enable_save_crystals": false,
},
"hidden_config": [
"enable_legal",
],
"levels": [
{
"path": "data/gym.phd",
// etc
},
],
"cutscenes": [
{
"path": "data/cut1.phd",
// etc
},
],
"demos": [
{
"path": "data/gym.phd",
// etc
},
],
"fmvs": [
{"path": "data/snow.rpl"},
// etc
},
}
Property | Type | Description |
---|---|---|
convert_dropped_guns
|
Boolean | Forces guns dropped by enemies to be converted to the equivalent ammo if Lara already has the gun. See Item drops for full details. |
demo_delay |
Double* | The number of seconds to pass in the main menu before playing the demo. |
fog_start
|
Double |
The distance (in tiles) at which objects and the world start to fade into
blackness.
|
fog_end
|
Double |
The distance (in tiles) at which objects and the world are clipped away.
|
enable_killer_pushblocks
|
Boolean | If enabled, when a pushblock falls from the air and lands on Lara, it will kill her outright. Otherwise, Lara will clip on top of the block and survive. |
enable_tr2_item_drops
|
Boolean | Forces enemies who are placed in the same position as pickup items to carry those items and drop them when killed, similar to TR2+. See Item drops for full details. |
enforced_config |
String-to-object map | This allows any regular game config setting to be overriden. See User configuration for full details. |
hidden_config |
String array | This allows any regular game config setting to be hidden from the ingame settings dialogs. See User configuration for full details. |
injections |
String array |
Global data injection file paths. Individual levels will inherit these
unless inherit_injections is set to false on
those levels. See Injections for full details.
|
levels |
Object array* | This is where the individual level details are defined - see Level properties for full details. |
main_menu_picture |
String* | Path to the main menu background image. |
savegame_fmt_bson |
String* | Path pattern to look for the savegame files. |
savegame_fmt_legacy |
String* | Path pattern to look for the old TombATI savegame files. |
water_color
|
Float array | Water color (R, G, B) or `#RRGGBB`. 1.0 or `FF` means pass-through, 0.0 or `00` means completely black color. See this table for reference values. |
ambient_tracks
|
Integer array | A list of music track IDs, which will be treated as ambient music. If Lara crosses a trigger for any of these, it will become the current looped track, and will persist on save/load. |
* Required property.
{
// 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,
"demo_version": false,
"single_level": -1,
"demo_delay": 30,
"secret_track": 43,
"title": {
"path": "data/title.tr2",
"music_track": 60,
"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/pda_model.bin",
"data/injections/winston_model.bin",
"data/injections/font.bin",
],
"levels": [
{
"path": "data/gym.phd",
// etc
},
],
"cutscenes": [
{
"path": "data/cut1.phd",
// etc
},
],
"demos": [
{
"path": "data/gym.phd",
// etc
},
],
"fmvs": [
{"path": "data/snow.rpl"},
// etc
],
"enforced_config": {
"enable_zbuffer": false,
},
"hidden_config": [
"enable_save_crystals",
],
}
Property | Type | Description |
---|---|---|
cmd_init |
Object | The command to run when the game is first launched. See Game flow commands for full details. |
cmd_title |
The command to run when the main menu is to be shown. | |
cmd_death_in_game |
The command to run when Lara dies. | |
cmd_death_in_demo |
The command to run when Lara dies during a demo (not used in the original game). | |
cmd_demo_interrupt |
The command to run when the player interrupts a demo. | |
cmd_demo_end |
The command to run when a demo finishes playback. | |
cheat_keys |
Boolean | Whether to enable original game cheats (the ones where Lara turns around three times). |
load_save_disabled |
Boolean | Whether to disable saving and loading the game. |
play_any_level |
Boolean | Whether to show a full list of all levels in place of the New Game passport page. |
lockout_option_ring |
Boolean | Whether to disallow the players to use control ring while ingame. |
demo_version |
Boolean | Legacy setting scheduled for removal at a later time. |
single_level |
Integer | Force the player to only play this one level. |
demo_delay |
Double | The number of seconds to pass in the main menu before playing the demo. |
main_menu_picture |
String* | Path to the main menu background image. |
savegame_fmt_legacy |
String* | Path pattern to look for the original savegame files. |
secret_track |
Integer | Music track to play when a secret is found. -1 to not play anything. |
sfx_path |
String | The path to the sound effects (.sfx) file to use in the game. |
fog_start
|
Double | The distance (in tiles) at which objects and the world start to fade into blackness. The default value in OG TR2 is hardcoded to 12. |
fog_end
|
Double | The distance (in tiles) at which objects and the world are clipped away. The default value in OG TR2 is hardcoded to 20. |
water_color
|
Float array or hex string | Water color (R, G, B) or `#RRGGBB`. 1.0 or `FF` means pass-through, 0.0 or `00` means completely black color. See this table for reference values. |
ambient_tracks
|
Integer array | A list of music track IDs, which will be treated as ambient music. If Lara crosses a trigger for any of these, it will become the current looped track, and will persist on save/load. |