gitextract_glsblazi/ ├── .clang-format ├── .dockerignore ├── .editorconfig ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── actions/ │ │ └── prepare_macos_tooling/ │ │ └── action.yml │ ├── docker/ │ │ └── lint.Dockerfile │ ├── pull_request_template.md │ └── workflows/ │ ├── build_docker.yml │ ├── build_lint_image.yml │ ├── comment_build.yml │ ├── job_build.yml │ ├── job_build_macos.yml │ ├── job_release.yml │ ├── lint.yml │ ├── pr_builds.yml │ ├── prerelease.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── BUG_REPORTING.md ├── CODE_OF_CONDUCT.md ├── COPYING.md ├── README.md ├── data/ │ ├── common/ │ │ └── glyphs/ │ │ ├── mapping.txt │ │ ├── mapping_basic_latin.txt │ │ ├── mapping_combining_diactrics.txt │ │ ├── mapping_controller.txt │ │ ├── mapping_cyrillic.txt │ │ ├── mapping_greek_and_coptic.txt │ │ ├── mapping_icons.txt │ │ ├── mapping_keyboard.txt │ │ ├── mapping_latin-1_supplement.txt │ │ ├── mapping_latin_extended-a.txt │ │ ├── mapping_latin_extended-b.txt │ │ ├── mapping_latin_extended_additional.txt │ │ ├── mapping_misc.txt │ │ └── mapping_small.txt │ ├── scripting/ │ │ ├── assault_stats.lua │ │ ├── camera.lua │ │ ├── catalog.lua │ │ ├── config.lua │ │ ├── console.lua │ │ ├── creatures.lua │ │ ├── events.lua │ │ ├── game.lua │ │ ├── items.lua │ │ ├── lara.lua │ │ ├── log.lua │ │ ├── music.lua │ │ ├── objects.lua │ │ ├── rooms.lua │ │ └── sound.lua │ ├── tomb-11.bdf │ ├── tr1/ │ │ └── mac/ │ │ ├── Info.plist │ │ └── icon.icns │ ├── tr2/ │ │ └── mac/ │ │ ├── Info.plist │ │ └── icon.icns │ ├── tr3/ │ │ ├── glyphs/ │ │ │ ├── mapping_basic_latin.txt │ │ │ ├── mapping_combining_diactrics.txt │ │ │ ├── mapping_cyrillic.txt │ │ │ ├── mapping_greek_and_coptic.txt │ │ │ ├── mapping_latin-1_supplement.txt │ │ │ ├── mapping_latin_extended-a.txt │ │ │ ├── mapping_latin_extended-b.txt │ │ │ ├── mapping_latin_extended_additional.txt │ │ │ ├── mapping_misc.txt │ │ │ └── mapping_small.txt │ │ └── mac/ │ │ ├── Info.plist │ │ └── icon.icns │ └── trx/ │ ├── icon.rc │ ├── ship/ │ │ ├── cfg/ │ │ │ ├── base_strings-de.json5 │ │ │ ├── base_strings-en-gb.json5 │ │ │ ├── base_strings-fr.json5 │ │ │ ├── base_strings-gd.json5 │ │ │ ├── base_strings-it.json5 │ │ │ ├── base_strings-pl.json5 │ │ │ ├── base_strings-ru.json5 │ │ │ ├── base_strings.json5 │ │ │ ├── outfits.json5 │ │ │ ├── poses.json5 │ │ │ ├── presets/ │ │ │ │ ├── tr1-pc.json5 │ │ │ │ ├── tr1-ps1.json5 │ │ │ │ ├── tr2-pc.json5 │ │ │ │ ├── tr2-ps1.json5 │ │ │ │ ├── tr3-pc.json5 │ │ │ │ └── tr3-ps1.json5 │ │ │ ├── shaders/ │ │ │ │ ├── 2d.glsl │ │ │ │ ├── billboard.glsl │ │ │ │ ├── common.glsl │ │ │ │ ├── fbo.glsl │ │ │ │ ├── lights.glsl │ │ │ │ ├── meshes.glsl │ │ │ │ ├── meshes_tr12.glsl │ │ │ │ ├── meshes_tr3.glsl │ │ │ │ └── ui.glsl │ │ │ └── ui.json5 │ │ └── games/ │ │ ├── tr1/ │ │ │ ├── catalog_item_actions.csv │ │ │ ├── catalog_lara_anims.csv │ │ │ ├── catalog_lara_states.csv │ │ │ ├── catalog_music.csv │ │ │ ├── catalog_objects.csv │ │ │ ├── catalog_samples.csv │ │ │ ├── gameflow.json5 │ │ │ ├── inv_ring.json5 │ │ │ ├── scripts/ │ │ │ │ └── gym.lua │ │ │ ├── strings-de.json5 │ │ │ ├── strings-en-gb.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ ├── strings-ru.json5 │ │ │ ├── strings.json5 │ │ │ └── weapons.json5 │ │ ├── tr1-demo-pc/ │ │ │ ├── gameflow.json5 │ │ │ ├── strings-de.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ ├── strings-ru.json5 │ │ │ └── strings.json5 │ │ ├── tr1-level/ │ │ │ ├── gameflow.json5 │ │ │ ├── strings-de.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ ├── strings-ru.json5 │ │ │ └── strings.json5 │ │ ├── tr1-ub/ │ │ │ ├── gameflow.json5 │ │ │ ├── strings-de.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ ├── strings-ru.json5 │ │ │ └── strings.json5 │ │ ├── tr2/ │ │ │ ├── catalog_item_actions.csv │ │ │ ├── catalog_lara_anims.csv │ │ │ ├── catalog_lara_states.csv │ │ │ ├── catalog_music.csv │ │ │ ├── catalog_objects.csv │ │ │ ├── catalog_samples.csv │ │ │ ├── gameflow.json5 │ │ │ ├── inv_ring.json5 │ │ │ ├── scripts/ │ │ │ │ ├── assault.lua │ │ │ │ ├── cut3.lua │ │ │ │ ├── floating.lua │ │ │ │ ├── house.lua │ │ │ │ ├── level1.lua │ │ │ │ ├── level3.lua │ │ │ │ ├── level4.lua │ │ │ │ └── monastry.lua │ │ │ ├── strings-de.json5 │ │ │ ├── strings-en-gb.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ ├── strings.json5 │ │ │ └── weapons.json5 │ │ ├── tr2-gm/ │ │ │ ├── gameflow.json5 │ │ │ ├── strings-de.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ └── strings.json5 │ │ ├── tr2-level/ │ │ │ ├── gameflow.json5 │ │ │ ├── strings-de.json5 │ │ │ ├── strings-fr.json5 │ │ │ ├── strings-gd.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ └── strings.json5 │ │ ├── tr3/ │ │ │ ├── catalog_item_actions.csv │ │ │ ├── catalog_lara_anims.csv │ │ │ ├── catalog_lara_states.csv │ │ │ ├── catalog_music.csv │ │ │ ├── catalog_objects.csv │ │ │ ├── catalog_samples.csv │ │ │ ├── gameflow.json5 │ │ │ ├── inv_ring.json5 │ │ │ ├── scripts/ │ │ │ │ ├── area51.lua │ │ │ │ ├── compound.lua │ │ │ │ ├── crash.lua │ │ │ │ ├── cut8.lua │ │ │ │ ├── jungle.lua │ │ │ │ ├── mines.lua │ │ │ │ ├── tower.lua │ │ │ │ └── zoo.lua │ │ │ ├── strings-de.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ ├── strings.json5 │ │ │ └── weapons.json5 │ │ ├── tr3-la/ │ │ │ ├── gameflow.json5 │ │ │ ├── strings-de.json5 │ │ │ ├── strings-it.json5 │ │ │ ├── strings-pl.json5 │ │ │ └── strings.json5 │ │ └── tr3-level/ │ │ ├── gameflow.json5 │ │ ├── strings-it.json5 │ │ ├── strings-pl.json5 │ │ └── strings.json5 │ └── version.rc ├── docs/ │ ├── BUILDING.md │ ├── BUILDING_ON_LINUX.md │ ├── BUILDING_ON_MACOS.md │ ├── BUILDING_ON_WINDOWS.md │ ├── CHANGELOG.md │ ├── CHANGE_SUBMISSION.md │ ├── CODING_GUIDELINES.md │ ├── CONTRIBUTING.md │ ├── GLOSSARY.md │ ├── RELEASING.md │ ├── SECRETS.md │ ├── gameflow.schema.json │ ├── tr1/ │ │ ├── CHANGELOG.md │ │ └── INSTALLING.md │ ├── tr2/ │ │ ├── CHANGELOG.md │ │ ├── INSTALLING.md │ │ └── symbols.txt │ ├── tr3/ │ │ └── INSTALLING.md │ └── trx/ │ ├── CATALOGS.md │ ├── COMMANDS.md │ ├── COMMAND_LINE.md │ ├── ENEMY_DEFAULTS.md │ ├── GAME_STRINGS.md │ ├── INJECTIONS.md │ ├── INSTALLING.md │ ├── LEVELS.md │ ├── MIGRATING.md │ ├── MUSIC.md │ ├── OUTFITS.md │ ├── SAMPLES.md │ ├── SUPPORT.md │ ├── WATER_COLORS.md │ ├── WEAPONS.md │ ├── game_flow/ │ │ ├── COMMANDS.md │ │ ├── GLOBAL_PROPERTIES.md │ │ ├── README.md │ │ ├── SEQUENCES.md │ │ ├── USER_CONFIGURATION.md │ │ └── levels/ │ │ ├── BONUS_LEVELS.md │ │ ├── CUTSCENE_PROPERTIES.md │ │ ├── DEMO_PROPERTIES.md │ │ ├── FMV_PROPERTIES.md │ │ ├── ITEM_DROPS.md │ │ ├── README.md │ │ └── REGULAR_LEVELS.md │ ├── lua/ │ │ ├── GETTING_STARTED.md │ │ ├── README.md │ │ ├── examples/ │ │ │ └── README.md │ │ └── reference/ │ │ ├── ASSAULT_STATS.md │ │ ├── CAMERA.md │ │ ├── CATALOG.md │ │ ├── CONFIG.md │ │ ├── CONSOLE.md │ │ ├── CREATURE.md │ │ ├── EVENTS.md │ │ ├── GAME.md │ │ ├── ITEMS.md │ │ ├── LARA.md │ │ ├── LOGGING.md │ │ ├── MISC.md │ │ ├── MUSIC.md │ │ ├── OBJECTS.md │ │ ├── README.md │ │ ├── ROOMS.md │ │ └── SOUND.md │ └── water_colors.yml ├── justfile ├── justfile.tr1 ├── justfile.tr2 ├── justfile.tr3 ├── src/ │ ├── meson.build │ ├── meson.options │ ├── subprojects/ │ │ ├── dwarfstack.wrap │ │ └── packagefiles/ │ │ └── dwarfstack/ │ │ └── meson.build │ └── trx/ │ ├── av/ │ │ ├── audio.c │ │ ├── audio.h │ │ ├── audio_internal.h │ │ ├── audio_reverb.c │ │ ├── audio_sample.c │ │ ├── audio_stream.c │ │ ├── image.c │ │ ├── image.h │ │ ├── video.c │ │ └── video.h │ ├── config/ │ │ ├── common.c │ │ ├── common.h │ │ ├── const.h │ │ ├── dynamic_enum.c │ │ ├── dynamic_enum.h │ │ ├── enum.c │ │ ├── enum.h │ │ ├── file.c │ │ ├── file.h │ │ ├── map.c │ │ ├── map.def │ │ ├── map_tr1.def │ │ ├── map_tr2.def │ │ ├── map_tr3.def │ │ ├── option.h │ │ ├── presets.c │ │ ├── presets.h │ │ ├── priv.c │ │ ├── priv.h │ │ ├── types.h │ │ ├── vars.c │ │ └── vars.h │ ├── config.h │ ├── core/ │ │ ├── benchmark.c │ │ ├── benchmark.h │ │ ├── bson/ │ │ │ ├── enum.h │ │ │ ├── parse.c │ │ │ ├── parse.h │ │ │ ├── types.h │ │ │ ├── write.c │ │ │ └── write.h │ │ ├── bson.h │ │ ├── colors.c │ │ ├── colors.h │ │ ├── enum_map.c │ │ ├── enum_map.h │ │ ├── event_manager.c │ │ ├── event_manager.h │ │ ├── filesystem.c │ │ ├── filesystem.h │ │ ├── hash.c │ │ ├── hash.h │ │ ├── json/ │ │ │ ├── base.c │ │ │ ├── base.h │ │ │ ├── enum.h │ │ │ ├── parse.c │ │ │ ├── parse.h │ │ │ ├── types.h │ │ │ ├── util/ │ │ │ │ ├── file.c │ │ │ │ ├── file.h │ │ │ │ ├── read_io.c │ │ │ │ ├── read_io.h │ │ │ │ ├── write_io.c │ │ │ │ └── write_io.h │ │ │ ├── write.c │ │ │ └── write.h │ │ ├── json.h │ │ ├── log.c │ │ ├── log.h │ │ ├── log_linux.c │ │ ├── log_unknown.c │ │ ├── log_windows.c │ │ ├── math/ │ │ │ ├── const.h │ │ │ ├── func.c │ │ │ ├── func.h │ │ │ ├── geom.c │ │ │ ├── geom.h │ │ │ ├── trig.c │ │ │ ├── trig.h │ │ │ ├── types.h │ │ │ ├── util.c │ │ │ └── util.h │ │ ├── math.h │ │ ├── memory.c │ │ ├── memory.h │ │ ├── shell.h │ │ ├── strings/ │ │ │ ├── case_funcs.c │ │ │ ├── case_map.def │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── fuzzy_match.c │ │ │ └── fuzzy_match.h │ │ ├── strings.h │ │ ├── thread_pool.c │ │ ├── thread_pool.h │ │ ├── utils.h │ │ ├── vector.c │ │ ├── vector.h │ │ ├── virtual_file.c │ │ └── virtual_file.h │ ├── debug.h │ ├── game/ │ │ ├── anims/ │ │ │ ├── commands.c │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── enum.h │ │ │ ├── frames.c │ │ │ └── types.h │ │ ├── anims.h │ │ ├── camera/ │ │ │ ├── box_camera.c │ │ │ ├── cinematic.c │ │ │ ├── cinematic.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── enum.h │ │ │ ├── environment.c │ │ │ ├── environment.h │ │ │ ├── fixed.c │ │ │ ├── fixed.h │ │ │ ├── los_camera.c │ │ │ ├── photo_mode.c │ │ │ ├── photo_mode.h │ │ │ ├── types.h │ │ │ ├── vars.c │ │ │ └── vars.h │ │ ├── camera.h │ │ ├── catalog/ │ │ │ ├── item_actions.def │ │ │ ├── lara_anims.def │ │ │ ├── lara_states.def │ │ │ ├── manager.c │ │ │ ├── manager.h │ │ │ ├── music.def │ │ │ ├── objects.def │ │ │ └── samples.def │ │ ├── clock/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── timer.c │ │ │ ├── timer.h │ │ │ ├── turbo.c │ │ │ └── turbo.h │ │ ├── clock.h │ │ ├── collision/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── los.c │ │ │ ├── los.h │ │ │ └── types.h │ │ ├── collision.h │ │ ├── console/ │ │ │ ├── cmd/ │ │ │ │ ├── clear.c │ │ │ │ ├── config.c │ │ │ │ ├── config.h │ │ │ │ ├── debug.c │ │ │ │ ├── die.c │ │ │ │ ├── easy_config.c │ │ │ │ ├── end_level.c │ │ │ │ ├── exit_game.c │ │ │ │ ├── exit_to_title.c │ │ │ │ ├── flipmap.c │ │ │ │ ├── flood.c │ │ │ │ ├── fly.c │ │ │ │ ├── give_item.c │ │ │ │ ├── give_secret.c │ │ │ │ ├── heal.c │ │ │ │ ├── help.c │ │ │ │ ├── immune.c │ │ │ │ ├── inf_sprint.c │ │ │ │ ├── kill.c │ │ │ │ ├── load_game.c │ │ │ │ ├── lua.c │ │ │ │ ├── mod.c │ │ │ │ ├── music.c │ │ │ │ ├── play_cutscene.c │ │ │ │ ├── play_demo.c │ │ │ │ ├── play_gym.c │ │ │ │ ├── play_level.c │ │ │ │ ├── pos.c │ │ │ │ ├── save_game.c │ │ │ │ ├── screenshot.c │ │ │ │ ├── set_health.c │ │ │ │ ├── sfx.c │ │ │ │ ├── spawn.c │ │ │ │ ├── speed.c │ │ │ │ ├── strings.c │ │ │ │ ├── teleport.c │ │ │ │ ├── test_text.c │ │ │ │ ├── trigger.c │ │ │ │ ├── weather.c │ │ │ │ └── winston.c │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── enum.h │ │ │ ├── history.c │ │ │ ├── history.h │ │ │ ├── internal.h │ │ │ ├── registry.c │ │ │ ├── registry.h │ │ │ └── types.h │ │ ├── console.h │ │ ├── const.h │ │ ├── creature/ │ │ │ ├── alert.c │ │ │ ├── alert.h │ │ │ ├── behavior.c │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── enum.h │ │ │ ├── shooting.c │ │ │ └── types.h │ │ ├── creature.h │ │ ├── cutscene.c │ │ ├── cutscene.h │ │ ├── demo.c │ │ ├── demo.h │ │ ├── effects/ │ │ │ ├── const.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── manager.c │ │ │ ├── manager.h │ │ │ └── types.h │ │ ├── effects.h │ │ ├── enum.c │ │ ├── events.c │ │ ├── events.h │ │ ├── fader.c │ │ ├── fader.h │ │ ├── fmv.c │ │ ├── fmv.h │ │ ├── fx/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── explosion_ring.c │ │ │ ├── explosion_ring.h │ │ │ ├── footprint.c │ │ │ ├── footprint.h │ │ │ ├── gun_flash.c │ │ │ ├── gun_flash.h │ │ │ ├── laser.c │ │ │ ├── laser.h │ │ │ ├── wake.c │ │ │ ├── wake.h │ │ │ ├── water.c │ │ │ ├── water.h │ │ │ ├── water_particles.c │ │ │ ├── water_particles.h │ │ │ ├── weather.c │ │ │ └── weather.h │ │ ├── fx.h │ │ ├── game/ │ │ │ ├── control.c │ │ │ ├── control.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── enum.h │ │ │ ├── state.c │ │ │ └── state.h │ │ ├── game.h │ │ ├── game_buf.c │ │ ├── game_buf.h │ │ ├── game_flow/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── enum.h │ │ │ ├── inventory.c │ │ │ ├── inventory.h │ │ │ ├── reader.c │ │ │ ├── reader.h │ │ │ ├── sequencer.c │ │ │ ├── sequencer.h │ │ │ ├── sequencer_events.c │ │ │ ├── sequencer_events.h │ │ │ ├── sequencer_misc.c │ │ │ ├── types.h │ │ │ ├── util.c │ │ │ ├── util.h │ │ │ ├── vars.c │ │ │ └── vars.h │ │ ├── game_flow.h │ │ ├── game_strings/ │ │ │ ├── entries.c │ │ │ ├── entries.def │ │ │ ├── entries.h │ │ │ ├── manager.c │ │ │ ├── manager.h │ │ │ ├── table/ │ │ │ │ ├── common.c │ │ │ │ ├── priv.c │ │ │ │ ├── priv.h │ │ │ │ └── reader.c │ │ │ └── table.h │ │ ├── gun/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── control.c │ │ │ ├── control.h │ │ │ ├── misc.c │ │ │ ├── misc.h │ │ │ ├── pistols.c │ │ │ ├── pistols.h │ │ │ ├── rifle.c │ │ │ ├── rifle.h │ │ │ ├── smashing.c │ │ │ ├── smashing.h │ │ │ ├── smoke.c │ │ │ ├── smoke.h │ │ │ ├── types.h │ │ │ ├── vars.c │ │ │ └── vars.h │ │ ├── gun.h │ │ ├── gym.c │ │ ├── gym.h │ │ ├── inject/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── data/ │ │ │ │ ├── anims.c │ │ │ │ ├── camera.c │ │ │ │ ├── meshes.c │ │ │ │ ├── objects.c │ │ │ │ ├── sound.c │ │ │ │ └── textures.c │ │ │ ├── editor.c │ │ │ ├── editor.h │ │ │ ├── editors/ │ │ │ │ ├── anims.c │ │ │ │ ├── floor_data.c │ │ │ │ ├── items.c │ │ │ │ ├── meshes.c │ │ │ │ ├── objects.c │ │ │ │ ├── rooms.c │ │ │ │ └── textures.c │ │ │ ├── enum.h │ │ │ ├── testers/ │ │ │ │ ├── items.c │ │ │ │ └── rooms.c │ │ │ ├── types.h │ │ │ ├── utils.c │ │ │ └── utils.h │ │ ├── inject.h │ │ ├── input/ │ │ │ ├── backends/ │ │ │ │ ├── base.h │ │ │ │ ├── controller.c │ │ │ │ ├── controller.def │ │ │ │ ├── controller.h │ │ │ │ ├── internal.c │ │ │ │ ├── internal.h │ │ │ │ ├── keyboard.c │ │ │ │ ├── keyboard.def │ │ │ │ └── keyboard.h │ │ │ ├── combo.c │ │ │ ├── combo.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── roles.def │ │ │ └── update.c │ │ ├── input.h │ │ ├── interpolation.c │ │ ├── interpolation.h │ │ ├── inventory.c │ │ ├── inventory.h │ │ ├── inventory_ring/ │ │ │ ├── control.c │ │ │ ├── control.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── enum.h │ │ │ ├── priv.c │ │ │ ├── priv.h │ │ │ ├── types.h │ │ │ ├── vars.c │ │ │ └── vars.h │ │ ├── inventory_ring.h │ │ ├── items/ │ │ │ ├── actions/ │ │ │ │ ├── common.c │ │ │ │ ├── effects.c │ │ │ │ ├── footprint.c │ │ │ │ ├── general.c │ │ │ │ ├── gym_tr3.c │ │ │ │ ├── ids.c │ │ │ │ ├── ids.h │ │ │ │ ├── items.c │ │ │ │ └── lara.c │ │ │ ├── actions.h │ │ │ ├── anim.c │ │ │ ├── anim.h │ │ │ ├── carrier.c │ │ │ ├── carrier.h │ │ │ ├── col.c │ │ │ ├── col.h │ │ │ ├── const.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── enum.h │ │ │ ├── manager.c │ │ │ ├── manager.h │ │ │ ├── types.h │ │ │ ├── utils.c │ │ │ ├── utils.h │ │ │ ├── walkable.c │ │ │ └── walkable.h │ │ ├── items.h │ │ ├── lara/ │ │ │ ├── breath.c │ │ │ ├── breath.h │ │ │ ├── cheat.c │ │ │ ├── cheat.h │ │ │ ├── cheat_keys.c │ │ │ ├── cheat_keys.h │ │ │ ├── col/ │ │ │ │ ├── climb.c │ │ │ │ ├── crouch.c │ │ │ │ ├── jump.c │ │ │ │ ├── land.c │ │ │ │ ├── monkey.c │ │ │ │ └── swim.c │ │ │ ├── col.c │ │ │ ├── col.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── control.c │ │ │ ├── control.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── electric.c │ │ │ ├── electric.h │ │ │ ├── enum.h │ │ │ ├── flare.c │ │ │ ├── flare.h │ │ │ ├── hair.c │ │ │ ├── hair.h │ │ │ ├── look.c │ │ │ ├── look.h │ │ │ ├── mesh.c │ │ │ ├── mesh.h │ │ │ ├── misc.c │ │ │ ├── misc.h │ │ │ ├── pose.c │ │ │ ├── pose.h │ │ │ ├── skin/ │ │ │ │ ├── common.c │ │ │ │ ├── common.h │ │ │ │ ├── enum.h │ │ │ │ ├── storage.c │ │ │ │ ├── storage.h │ │ │ │ └── types.h │ │ │ ├── skin.h │ │ │ ├── state/ │ │ │ │ ├── climb.c │ │ │ │ ├── crouch.c │ │ │ │ ├── extra.c │ │ │ │ ├── jump.c │ │ │ │ ├── land.c │ │ │ │ ├── monkey.c │ │ │ │ └── swim.c │ │ │ ├── state.c │ │ │ ├── state.h │ │ │ ├── types.h │ │ │ ├── util.h │ │ │ ├── vehicle.c │ │ │ └── vehicle.h │ │ ├── lara.h │ │ ├── level/ │ │ │ ├── cache.c │ │ │ ├── cache.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── context.c │ │ │ ├── context.h │ │ │ ├── finalize/ │ │ │ │ ├── animations.c │ │ │ │ ├── gameplay_objects.c │ │ │ │ ├── render_assets.c │ │ │ │ └── rooms.c │ │ │ ├── finalize.h │ │ │ ├── format/ │ │ │ │ ├── format.h │ │ │ │ ├── format_tr1.c │ │ │ │ ├── format_tr2.c │ │ │ │ ├── format_tr3.c │ │ │ │ ├── pipeline.c │ │ │ │ └── priv.h │ │ │ ├── pipeline.c │ │ │ ├── pipeline.h │ │ │ ├── sections/ │ │ │ │ ├── anims.c │ │ │ │ ├── append.h │ │ │ │ ├── audio.c │ │ │ │ ├── cinematics.c │ │ │ │ ├── meshes.c │ │ │ │ ├── objects.c │ │ │ │ ├── pathing.c │ │ │ │ ├── read.h │ │ │ │ ├── rooms.c │ │ │ │ └── textures.c │ │ │ ├── settings.c │ │ │ └── settings.h │ │ ├── level.h │ │ ├── los.h │ │ ├── lua/ │ │ │ ├── assault_stats.c │ │ │ ├── camera.c │ │ │ ├── catalog.c │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── config.c │ │ │ ├── console.c │ │ │ ├── creatures.c │ │ │ ├── embedded_scripts.h │ │ │ ├── events.c │ │ │ ├── events.h │ │ │ ├── game.c │ │ │ ├── items.c │ │ │ ├── lara.c │ │ │ ├── log.c │ │ │ ├── music.c │ │ │ ├── objects.c │ │ │ ├── rooms.c │ │ │ └── sound.c │ │ ├── lua.h │ │ ├── matrix.c │ │ ├── matrix.h │ │ ├── music/ │ │ │ ├── backend_cdaudio.c │ │ │ ├── backend_cdaudio.h │ │ │ ├── backend_cdaudio_wad.c │ │ │ ├── backend_cdaudio_wad.h │ │ │ ├── backend_files.c │ │ │ ├── backend_files.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── enum.h │ │ │ ├── ids.c │ │ │ ├── ids.h │ │ │ └── types.h │ │ ├── music.h │ │ ├── objects/ │ │ │ ├── col.c │ │ │ ├── col.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── creatures/ │ │ │ │ ├── ape.c │ │ │ │ ├── atlantean.c │ │ │ │ ├── atlantean.h │ │ │ │ ├── bacon_lara.c │ │ │ │ ├── bacon_lara.h │ │ │ │ ├── baldy.c │ │ │ │ ├── bandit_1.c │ │ │ │ ├── bandit_2.c │ │ │ │ ├── bandit_common.h │ │ │ │ ├── barracuda.c │ │ │ │ ├── bartoli.c │ │ │ │ ├── bat.c │ │ │ │ ├── bear.c │ │ │ │ ├── big_eel.c │ │ │ │ ├── big_spider.c │ │ │ │ ├── big_spider.h │ │ │ │ ├── bird.c │ │ │ │ ├── bird_guardian.c │ │ │ │ ├── centaur.c │ │ │ │ ├── centaur_statue.c │ │ │ │ ├── civilian.c │ │ │ │ ├── claw_mutant.c │ │ │ │ ├── claw_mutant_internal.h │ │ │ │ ├── claw_mutant_plasma_ball.c │ │ │ │ ├── cobra.c │ │ │ │ ├── compy.c │ │ │ │ ├── cowboy.c │ │ │ │ ├── crawler_mutant.c │ │ │ │ ├── crocodile.c │ │ │ │ ├── cultist_1.c │ │ │ │ ├── cultist_2.c │ │ │ │ ├── cultist_3.c │ │ │ │ ├── cultist_common.h │ │ │ │ ├── diver.c │ │ │ │ ├── dog.c │ │ │ │ ├── dragon.c │ │ │ │ ├── eel.c │ │ │ │ ├── hybrid_mutant.c │ │ │ │ ├── jelly.c │ │ │ │ ├── larson.c │ │ │ │ ├── lion.c │ │ │ │ ├── lizard.c │ │ │ │ ├── mercenary.c │ │ │ │ ├── monk.c │ │ │ │ ├── monkey.c │ │ │ │ ├── mouse.c │ │ │ │ ├── mp_1.c │ │ │ │ ├── mp_2.c │ │ │ │ ├── mummy.c │ │ │ │ ├── natla.c │ │ │ │ ├── natla_gun.c │ │ │ │ ├── orca.c │ │ │ │ ├── patrol_dog.c │ │ │ │ ├── pierre.c │ │ │ │ ├── pod.c │ │ │ │ ├── pod.h │ │ │ │ ├── prisoner.c │ │ │ │ ├── punk.c │ │ │ │ ├── raptor.c │ │ │ │ ├── rat.c │ │ │ │ ├── rx_worker_1.c │ │ │ │ ├── rx_worker_2.c │ │ │ │ ├── rx_worker_3.c │ │ │ │ ├── security_guard.c │ │ │ │ ├── shark.c │ │ │ │ ├── shiva.c │ │ │ │ ├── skate_kid.c │ │ │ │ ├── skidoo_driver.c │ │ │ │ ├── skidoo_driver.h │ │ │ │ ├── sophia.c │ │ │ │ ├── sophia_internal.h │ │ │ │ ├── sophia_laser_bolt.c │ │ │ │ ├── sophia_plasma_ball.c │ │ │ │ ├── spider.c │ │ │ │ ├── swat.c │ │ │ │ ├── tiger.c │ │ │ │ ├── tony.c │ │ │ │ ├── tony_fire_ball.c │ │ │ │ ├── tony_internal.h │ │ │ │ ├── torso.c │ │ │ │ ├── trex.c │ │ │ │ ├── trex_alpha.c │ │ │ │ ├── tribe_axeman.c │ │ │ │ ├── tribe_boss.c │ │ │ │ ├── tribe_boss.h │ │ │ │ ├── tribe_pipeman.c │ │ │ │ ├── wasp_mutant.c │ │ │ │ ├── willard.c │ │ │ │ ├── willard_internal.h │ │ │ │ ├── willard_plasma_ball.c │ │ │ │ ├── winston.c │ │ │ │ ├── winston_army.c │ │ │ │ ├── wolf.c │ │ │ │ ├── worker_1.c │ │ │ │ ├── worker_2.c │ │ │ │ ├── worker_3.c │ │ │ │ ├── worker_common.h │ │ │ │ ├── xian_common.c │ │ │ │ ├── xian_common.h │ │ │ │ ├── xian_knight.c │ │ │ │ ├── xian_spearman.c │ │ │ │ └── yeti.c │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── effects/ │ │ │ │ ├── blood.c │ │ │ │ ├── body_part.c │ │ │ │ ├── bubble.c │ │ │ │ ├── dart_effect.c │ │ │ │ ├── ember.c │ │ │ │ ├── explosion.c │ │ │ │ ├── flame.c │ │ │ │ ├── flame.h │ │ │ │ ├── glow.c │ │ │ │ ├── gun_flash.c │ │ │ │ ├── gun_shell.c │ │ │ │ ├── hot_liquid.c │ │ │ │ ├── missile.c │ │ │ │ ├── pickup_aid.c │ │ │ │ ├── ricochet.c │ │ │ │ ├── snow_sprite.c │ │ │ │ ├── splash.c │ │ │ │ ├── twinkle.c │ │ │ │ ├── twinkle.h │ │ │ │ └── water_sprite.c │ │ │ ├── general/ │ │ │ │ ├── ai_node.c │ │ │ │ ├── alarm_sound.c │ │ │ │ ├── animating.c │ │ │ │ ├── area_51_rocket.c │ │ │ │ ├── assault_target.c │ │ │ │ ├── bat_emitter.c │ │ │ │ ├── bell.c │ │ │ │ ├── big_bowl.c │ │ │ │ ├── bird_tweeter.c │ │ │ │ ├── boat.c │ │ │ │ ├── bridge_common.c │ │ │ │ ├── bridge_common.h │ │ │ │ ├── bridge_flat.c │ │ │ │ ├── bridge_tilt1.c │ │ │ │ ├── bridge_tilt2.c │ │ │ │ ├── cabin.c │ │ │ │ ├── camera_target.c │ │ │ │ ├── carcass.c │ │ │ │ ├── clock_chimes.c │ │ │ │ ├── cog.c │ │ │ │ ├── combat_end.c │ │ │ │ ├── combat_end.h │ │ │ │ ├── copter.c │ │ │ │ ├── cutscene_player.c │ │ │ │ ├── detonator_box.c │ │ │ │ ├── ding_dong.c │ │ │ │ ├── disposable_animating.c │ │ │ │ ├── door.c │ │ │ │ ├── door.h │ │ │ │ ├── drawbridge.c │ │ │ │ ├── dummy.c │ │ │ │ ├── earthquake.c │ │ │ │ ├── final_cutscene.c │ │ │ │ ├── flare_item.c │ │ │ │ ├── flare_item.h │ │ │ │ ├── fuse_box.c │ │ │ │ ├── gas_emitter.c │ │ │ │ ├── general.c │ │ │ │ ├── general.h │ │ │ │ ├── gong.c │ │ │ │ ├── gong_bonger.c │ │ │ │ ├── grenade.c │ │ │ │ ├── harpoon_bolt.c │ │ │ │ ├── keyhole.c │ │ │ │ ├── keyhole.h │ │ │ │ ├── kill_all_triggered.c │ │ │ │ ├── lara_alarm.c │ │ │ │ ├── lift.c │ │ │ │ ├── lights/ │ │ │ │ │ ├── beacon_light.c │ │ │ │ │ ├── colored_light.c │ │ │ │ │ ├── electrical_light.c │ │ │ │ │ ├── on_off_light.c │ │ │ │ │ ├── pulse_light.c │ │ │ │ │ └── strobe_light.c │ │ │ │ ├── mini_copter.c │ │ │ │ ├── moving_bar.c │ │ │ │ ├── pickup.c │ │ │ │ ├── pickup.h │ │ │ │ ├── puzzle_hole.c │ │ │ │ ├── rocket.c │ │ │ │ ├── save_crystal.c │ │ │ │ ├── scion1.c │ │ │ │ ├── scion3.c │ │ │ │ ├── scion4.c │ │ │ │ ├── scion_holder.c │ │ │ │ ├── shoal.c │ │ │ │ ├── shoal.h │ │ │ │ ├── smashable.c │ │ │ │ ├── smashable.h │ │ │ │ ├── smoke_emitter.c │ │ │ │ ├── sphere_of_doom.c │ │ │ │ ├── switch.c │ │ │ │ ├── switch.h │ │ │ │ ├── trapdoor.c │ │ │ │ ├── trigger_gate.c │ │ │ │ ├── waterfall.c │ │ │ │ └── zipline.c │ │ │ ├── ids.h │ │ │ ├── names.c │ │ │ ├── names.def │ │ │ ├── names.h │ │ │ ├── setup.c │ │ │ ├── setup.h │ │ │ ├── traps/ │ │ │ │ ├── blade.c │ │ │ │ ├── bubble_emitter.c │ │ │ │ ├── cleaner.c │ │ │ │ ├── common.c │ │ │ │ ├── common.h │ │ │ │ ├── damocles_sword.c │ │ │ │ ├── dart.c │ │ │ │ ├── dart_emitter.c │ │ │ │ ├── dying_monk.c │ │ │ │ ├── electric_fence.c │ │ │ │ ├── ember_emitter.c │ │ │ │ ├── falling_block.c │ │ │ │ ├── falling_ceiling.c │ │ │ │ ├── fire_head.c │ │ │ │ ├── flame_emitter.c │ │ │ │ ├── gondola.c │ │ │ │ ├── gondola.h │ │ │ │ ├── hook.c │ │ │ │ ├── icicle.c │ │ │ │ ├── killer_statue.c │ │ │ │ ├── lava_wedge.c │ │ │ │ ├── lightning_emitter.c │ │ │ │ ├── midas_touch.c │ │ │ │ ├── mine.c │ │ │ │ ├── movable_block.c │ │ │ │ ├── movable_block.h │ │ │ │ ├── pendulum.c │ │ │ │ ├── power_saw.c │ │ │ │ ├── propeller.c │ │ │ │ ├── propeller.h │ │ │ │ ├── raptor_emitter.c │ │ │ │ ├── rolling_ball.c │ │ │ │ ├── rotating_laser.c │ │ │ │ ├── security_laser.c │ │ │ │ ├── sentry_gun.c │ │ │ │ ├── sliding_pillar.c │ │ │ │ ├── spike_ceiling.c │ │ │ │ ├── spike_wall.c │ │ │ │ ├── spikes.c │ │ │ │ ├── spinning_blade.c │ │ │ │ ├── springboard.c │ │ │ │ ├── teeth_trap.c │ │ │ │ ├── thors_hammer.c │ │ │ │ ├── train.c │ │ │ │ └── wasp_emitter.c │ │ │ ├── types.h │ │ │ ├── vars.c │ │ │ ├── vars.h │ │ │ └── vehicles/ │ │ │ ├── boat.c │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── kayak.c │ │ │ ├── kayak.h │ │ │ ├── mine_cart.c │ │ │ ├── mine_cart.h │ │ │ ├── mounted_gun.c │ │ │ ├── mounted_gun.h │ │ │ ├── quad_bike.c │ │ │ ├── quad_bike.h │ │ │ ├── rib.c │ │ │ ├── skidoo_armed.c │ │ │ ├── skidoo_armed.h │ │ │ ├── skidoo_common.c │ │ │ ├── skidoo_common.h │ │ │ ├── skidoo_fast.c │ │ │ ├── upv.c │ │ │ └── upv.h │ │ ├── objects.h │ │ ├── option/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── controls.c │ │ │ ├── controls.h │ │ │ ├── examine.c │ │ │ ├── examine.h │ │ │ ├── gameplay.c │ │ │ ├── gameplay.h │ │ │ ├── globe_select.c │ │ │ ├── globe_select.h │ │ │ ├── graphics.c │ │ │ ├── graphics.h │ │ │ ├── passport.c │ │ │ ├── passport.h │ │ │ ├── sound.c │ │ │ ├── sound.h │ │ │ ├── stats.c │ │ │ └── stats.h │ │ ├── option.h │ │ ├── output/ │ │ │ ├── bind.c │ │ │ ├── bind.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── func.c │ │ │ ├── func.h │ │ │ ├── lights.c │ │ │ ├── lights.h │ │ │ ├── mesh_batcher/ │ │ │ │ ├── batcher.c │ │ │ │ ├── batcher.h │ │ │ │ ├── mesh.c │ │ │ │ ├── mesh.h │ │ │ │ ├── mesh_builder.c │ │ │ │ └── mesh_builder.h │ │ │ ├── overlay.h │ │ │ ├── quad.c │ │ │ ├── quad.h │ │ │ ├── scene_compositor.c │ │ │ ├── scene_compositor.h │ │ │ ├── scene_source.h │ │ │ ├── shaders/ │ │ │ │ ├── generic.c │ │ │ │ ├── generic.h │ │ │ │ ├── mesh.c │ │ │ │ ├── mesh.h │ │ │ │ ├── ui.c │ │ │ │ └── ui.h │ │ │ ├── sources/ │ │ │ │ ├── lightnings.c │ │ │ │ ├── lightnings.h │ │ │ │ ├── misc.c │ │ │ │ ├── misc.h │ │ │ │ ├── objects.c │ │ │ │ ├── objects.h │ │ │ │ ├── overlay.c │ │ │ │ ├── overlay.h │ │ │ │ ├── poly_fx.c │ │ │ │ ├── poly_fx.h │ │ │ │ ├── rooms.c │ │ │ │ ├── rooms.h │ │ │ │ ├── rooms_debug.c │ │ │ │ ├── rooms_debug.h │ │ │ │ ├── shadows.c │ │ │ │ ├── shadows.h │ │ │ │ ├── sprites.c │ │ │ │ ├── sprites.h │ │ │ │ ├── ui.c │ │ │ │ └── ui.h │ │ │ ├── state.c │ │ │ ├── state.h │ │ │ ├── textures.c │ │ │ ├── textures.h │ │ │ ├── types.h │ │ │ ├── uniforms.c │ │ │ ├── uniforms.h │ │ │ ├── utils.c │ │ │ ├── utils.h │ │ │ ├── vars.c │ │ │ ├── vars.h │ │ │ ├── vertex_range.c │ │ │ └── vertex_range.h │ │ ├── output.h │ │ ├── overlay.c │ │ ├── overlay.h │ │ ├── pathing/ │ │ │ ├── box.c │ │ │ ├── box.h │ │ │ ├── const.h │ │ │ ├── lot.c │ │ │ ├── lot.h │ │ │ └── types.h │ │ ├── pathing.h │ │ ├── phase/ │ │ │ ├── control.h │ │ │ ├── executor.c │ │ │ ├── executor.h │ │ │ ├── phase_cutscene.c │ │ │ ├── phase_cutscene.h │ │ │ ├── phase_demo.c │ │ │ ├── phase_demo.h │ │ │ ├── phase_game.c │ │ │ ├── phase_game.h │ │ │ ├── phase_globe_select.c │ │ │ ├── phase_globe_select.h │ │ │ ├── phase_inventory.c │ │ │ ├── phase_inventory.h │ │ │ ├── phase_pause.c │ │ │ ├── phase_pause.h │ │ │ ├── phase_photo_mode.c │ │ │ ├── phase_photo_mode.h │ │ │ ├── phase_picture.c │ │ │ ├── phase_picture.h │ │ │ ├── phase_stats.c │ │ │ ├── phase_stats.h │ │ │ └── types.h │ │ ├── phase.h │ │ ├── photo_mode.c │ │ ├── photo_mode.h │ │ ├── random.c │ │ ├── random.h │ │ ├── replay/ │ │ │ ├── test_recorder.c │ │ │ ├── test_recorder.h │ │ │ ├── test_replay.c │ │ │ └── test_replay.h │ │ ├── rooms/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── enum.h │ │ │ ├── floor_data.c │ │ │ ├── floor_data.h │ │ │ ├── geometry.c │ │ │ ├── geometry.h │ │ │ ├── types.h │ │ │ └── utils.h │ │ ├── rooms.h │ │ ├── savegame/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── enum.h │ │ │ ├── file.c │ │ │ ├── file.h │ │ │ ├── file_read.c │ │ │ ├── file_write.c │ │ │ └── types.h │ │ ├── savegame.h │ │ ├── screenshot.c │ │ ├── screenshot.h │ │ ├── shell/ │ │ │ ├── args.c │ │ │ ├── args.h │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── config.c │ │ │ ├── config.h │ │ │ ├── const.h │ │ │ ├── events.c │ │ │ ├── events.h │ │ │ ├── flow.c │ │ │ ├── flow.h │ │ │ ├── input.c │ │ │ ├── input.h │ │ │ ├── main.c │ │ │ ├── mod.c │ │ │ ├── mod.h │ │ │ ├── paths.c │ │ │ ├── paths.h │ │ │ ├── platform.c │ │ │ ├── platform.h │ │ │ ├── session.c │ │ │ ├── session.h │ │ │ ├── state.c │ │ │ └── state.h │ │ ├── shell.h │ │ ├── sound/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── enum.h │ │ │ ├── ids.c │ │ │ ├── ids.h │ │ │ └── types.h │ │ ├── sound.h │ │ ├── sparks/ │ │ │ ├── enum.h │ │ │ ├── manager.c │ │ │ ├── manager.h │ │ │ ├── spawners.c │ │ │ ├── spawners.h │ │ │ └── types.h │ │ ├── sparks.h │ │ ├── spawn.c │ │ ├── spawn.h │ │ ├── stats/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── const.h │ │ │ ├── init.c │ │ │ ├── init.h │ │ │ ├── scan.c │ │ │ ├── scan.h │ │ │ └── types.h │ │ ├── stats.h │ │ ├── types.h │ │ ├── ui/ │ │ │ ├── common.c │ │ │ ├── common.h │ │ │ ├── dialogs/ │ │ │ │ ├── base_passport.c │ │ │ │ ├── base_passport.h │ │ │ │ ├── color_editor.c │ │ │ │ ├── color_editor.h │ │ │ │ ├── config_presets.c │ │ │ │ ├── config_presets.h │ │ │ │ ├── controls.c │ │ │ │ ├── controls.h │ │ │ │ ├── controls_backend.c │ │ │ │ ├── controls_backend.h │ │ │ │ ├── controls_editor.c │ │ │ │ ├── controls_editor.h │ │ │ │ ├── gameplay_settings.c │ │ │ │ ├── gameplay_settings.h │ │ │ │ ├── graphic_settings.c │ │ │ │ ├── graphic_settings.h │ │ │ │ ├── new_game.c │ │ │ │ ├── new_game.h │ │ │ │ ├── pause.c │ │ │ │ ├── pause.h │ │ │ │ ├── photo_mode.c │ │ │ │ ├── photo_mode.h │ │ │ │ ├── play_any_level.c │ │ │ │ ├── play_any_level.h │ │ │ │ ├── save_slot.c │ │ │ │ ├── save_slot.h │ │ │ │ ├── select_level.c │ │ │ │ ├── select_level.h │ │ │ │ ├── setting_helpers/ │ │ │ │ │ ├── enums.c │ │ │ │ │ ├── enums.h │ │ │ │ │ ├── handlers.c │ │ │ │ │ ├── handlers.h │ │ │ │ │ └── handlers_language.c │ │ │ │ ├── setting_tabs/ │ │ │ │ │ ├── gameplay_controls.def │ │ │ │ │ ├── gameplay_fixes.def │ │ │ │ │ ├── gameplay_general.def │ │ │ │ │ ├── gameplay_mods.def │ │ │ │ │ ├── graphic_rendering.def │ │ │ │ │ ├── graphic_ui.def │ │ │ │ │ ├── graphic_ui_bars.def │ │ │ │ │ ├── graphic_ui_stats.def │ │ │ │ │ ├── graphic_visuals.def │ │ │ │ │ ├── sound_misc.def │ │ │ │ │ └── sound_volume.def │ │ │ │ ├── settings.c │ │ │ │ ├── settings.h │ │ │ │ ├── settings_editor.c │ │ │ │ ├── settings_editor.h │ │ │ │ ├── settings_tabs.c │ │ │ │ ├── settings_tabs.h │ │ │ │ ├── sound_settings.c │ │ │ │ ├── sound_settings.h │ │ │ │ ├── stats.c │ │ │ │ ├── stats.h │ │ │ │ ├── switch_mod.c │ │ │ │ ├── switch_mod.h │ │ │ │ ├── text.c │ │ │ │ └── text.h │ │ │ ├── dialogs.h │ │ │ ├── draw.c │ │ │ ├── draw.h │ │ │ ├── elements/ │ │ │ │ ├── ammo_label.c │ │ │ │ ├── ammo_label.h │ │ │ │ ├── anchor.c │ │ │ │ ├── anchor.h │ │ │ │ ├── bar.c │ │ │ │ ├── bar.h │ │ │ │ ├── bar_enemy_hp.c │ │ │ │ ├── bar_enemy_hp.h │ │ │ │ ├── bar_lara_air.c │ │ │ │ ├── bar_lara_air.h │ │ │ │ ├── bar_lara_exposure.c │ │ │ │ ├── bar_lara_exposure.h │ │ │ │ ├── bar_lara_hp.c │ │ │ │ ├── bar_lara_hp.h │ │ │ │ ├── bar_lara_sprint.c │ │ │ │ ├── bar_lara_sprint.h │ │ │ │ ├── button_label.c │ │ │ │ ├── button_label.h │ │ │ │ ├── color_swatch.c │ │ │ │ ├── color_swatch.h │ │ │ │ ├── flash.c │ │ │ │ ├── flash.h │ │ │ │ ├── fps_counter.c │ │ │ │ ├── fps_counter.h │ │ │ │ ├── frame.c │ │ │ │ ├── frame.h │ │ │ │ ├── gradient_slider.c │ │ │ │ ├── gradient_slider.h │ │ │ │ ├── hide.c │ │ │ │ ├── hide.h │ │ │ │ ├── horizontal_line.c │ │ │ │ ├── horizontal_line.h │ │ │ │ ├── label.c │ │ │ │ ├── label.h │ │ │ │ ├── modal.c │ │ │ │ ├── modal.h │ │ │ │ ├── offset.c │ │ │ │ ├── offset.h │ │ │ │ ├── pad.c │ │ │ │ ├── pad.h │ │ │ │ ├── progress_button.c │ │ │ │ ├── progress_button.h │ │ │ │ ├── prompt.c │ │ │ │ ├── prompt.h │ │ │ │ ├── requester.c │ │ │ │ ├── requester.h │ │ │ │ ├── resize.c │ │ │ │ ├── resize.h │ │ │ │ ├── row_arrows.c │ │ │ │ ├── row_arrows.h │ │ │ │ ├── scrollable_stack.c │ │ │ │ ├── scrollable_stack.h │ │ │ │ ├── sleek_bar.c │ │ │ │ ├── sleek_bar.h │ │ │ │ ├── spacer.c │ │ │ │ ├── spacer.h │ │ │ │ ├── span.c │ │ │ │ ├── span.h │ │ │ │ ├── stack.c │ │ │ │ ├── stack.h │ │ │ │ ├── tab_switch.c │ │ │ │ ├── tab_switch.h │ │ │ │ ├── window.c │ │ │ │ └── window.h │ │ │ ├── elements.h │ │ │ ├── events.c │ │ │ ├── events.h │ │ │ ├── helpers.c │ │ │ ├── helpers.h │ │ │ ├── hud/ │ │ │ │ ├── console.c │ │ │ │ ├── console.h │ │ │ │ ├── console_logs.c │ │ │ │ ├── console_logs.h │ │ │ │ ├── overlay.c │ │ │ │ └── overlay.h │ │ │ ├── hud.h │ │ │ ├── scaler.c │ │ │ ├── scaler.h │ │ │ ├── scrollable.c │ │ │ ├── scrollable.h │ │ │ ├── settings.c │ │ │ ├── settings.h │ │ │ ├── text.c │ │ │ ├── text.def │ │ │ ├── text.h │ │ │ └── text_autogen.def │ │ ├── ui.h │ │ ├── viewport.c │ │ └── viewport.h │ ├── gl/ │ │ ├── buffer.c │ │ ├── buffer.h │ │ ├── config.h │ │ ├── context.c │ │ ├── context.h │ │ ├── enum.c │ │ ├── enum.h │ │ ├── fbo.c │ │ ├── fbo.h │ │ ├── program.c │ │ ├── program.h │ │ ├── renderer.c │ │ ├── renderer.h │ │ ├── sampler.c │ │ ├── sampler.h │ │ ├── screenshot.c │ │ ├── screenshot.h │ │ ├── texture.c │ │ ├── texture.h │ │ ├── track.c │ │ ├── track.h │ │ ├── utils.c │ │ ├── utils.h │ │ ├── vertex_array.c │ │ └── vertex_array.h │ ├── version.c │ └── version.h └── tools/ ├── additional_lint ├── download_assets ├── embed_trx_lua.py ├── ffmpeg_flags.txt ├── generate_icon ├── generate_init ├── generate_rcfile ├── get_version ├── glyphs/ │ ├── README.md │ ├── generate_case_map │ ├── generate_compositions │ ├── generate_defs │ ├── generate_keyboard_map │ ├── test_alignment.html │ └── test_language ├── inspect_save ├── installer/ │ ├── .gitignore │ ├── TR1X_Installer/ │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Installers/ │ │ │ ├── CDRomInstallSource.cs │ │ │ ├── GOGInstallSource.cs │ │ │ ├── SteamInstallSource.cs │ │ │ ├── TR1XInstallSource.cs │ │ │ └── TombATIInstallSource.cs │ │ ├── Resources/ │ │ │ ├── Lang/ │ │ │ │ ├── en.json │ │ │ │ └── it.json │ │ │ └── const.json │ │ └── TR1X_Installer.csproj │ ├── TR2X_Installer/ │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Installers/ │ │ │ ├── CDRomInstallSource.cs │ │ │ ├── GOGInstallSource.cs │ │ │ ├── GenericInstallSource.cs │ │ │ ├── SteamInstallSource.cs │ │ │ └── TR2XInstallSource.cs │ │ ├── Resources/ │ │ │ ├── Lang/ │ │ │ │ ├── en.json │ │ │ │ └── it.json │ │ │ └── const.json │ │ └── TR2X_Installer.csproj │ ├── TRX_Installer/ │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── BoolToVisibilityConverter.cs │ │ ├── CueFile.cs │ │ ├── CueTrack.cs │ │ ├── DiscImageInstallSource.cs │ │ ├── DownloadOption.cs │ │ ├── ExistingTRXInstallSource.cs │ │ ├── IInstallSource.cs │ │ ├── IInstallerProgress.cs │ │ ├── InstallComponent.cs │ │ ├── InstallComponentFactory.cs │ │ ├── InstallFileHelper.cs │ │ ├── InstallMappings.cs │ │ ├── InstallSourceOption.cs │ │ ├── InstallerService.cs │ │ ├── MainWindow.xaml │ │ ├── MainWindow.xaml.cs │ │ ├── OptionalDownload.cs │ │ ├── OriginalDirectoryInstallSource.cs │ │ ├── Resources/ │ │ │ ├── Lang/ │ │ │ │ ├── en.json │ │ │ │ └── it.json │ │ │ └── const.json │ │ └── TRX_Installer.csproj │ ├── TRX_Installer.sln │ └── TRX_InstallerLib/ │ ├── Controls/ │ │ ├── FinishStepControl.xaml │ │ ├── FinishStepControl.xaml.cs │ │ ├── InstallSettingsStepControl.xaml │ │ ├── InstallSettingsStepControl.xaml.cs │ │ ├── InstallSourceControl.xaml │ │ ├── InstallSourceControl.xaml.cs │ │ ├── InstallStepControl.xaml │ │ ├── InstallStepControl.xaml.cs │ │ ├── SourceStepControl.xaml │ │ ├── SourceStepControl.xaml.cs │ │ ├── TRXInstallWindow.xaml │ │ └── TRXInstallWindow.xaml.cs │ ├── Installers/ │ │ ├── BaseInstallSource.cs │ │ ├── IInstallSource.cs │ │ ├── InstallExecutor.cs │ │ └── InstallUtils.cs │ ├── Models/ │ │ ├── BaseLanguageViewModel.cs │ │ ├── ExpansionPackType.cs │ │ ├── FinishSettings.cs │ │ ├── FinishStep.cs │ │ ├── IStep.cs │ │ ├── InstallSettings.cs │ │ ├── InstallSettingsStep.cs │ │ ├── InstallSourceViewModel.cs │ │ ├── InstallStep.cs │ │ ├── Language.cs │ │ ├── Logger.cs │ │ ├── MainWindowViewModel.cs │ │ ├── SourceStep.cs │ │ └── TRXConstants.cs │ ├── Resources/ │ │ ├── Lang/ │ │ │ ├── en.json │ │ │ └── it.json │ │ ├── const.json │ │ └── styles.xaml │ ├── TRX_InstallerLib.csproj │ └── Utils/ │ ├── AssemblyUtils.cs │ ├── BaseNotifyPropertyChanged.cs │ ├── BinaryReaderExtensions.cs │ ├── BoolToVisibilityConverter.cs │ ├── ComparisonConverter.cs │ ├── ConditionalMarkupConverter.cs │ ├── ConditionalViewTextConverter.cs │ ├── CueFile.cs │ ├── CueTrack.cs │ ├── FileBrowser.cs │ ├── HttpProgressClient.cs │ ├── InstallProgress.cs │ ├── JsonUtils.cs │ ├── ProcessUtils.cs │ ├── RelayCommand.cs │ └── ShortcutUtils.cs ├── output_current_changelog ├── output_package_name ├── output_release_name ├── release ├── shared/ │ ├── __init__.py │ ├── changelog.py │ ├── docker/ │ │ ├── __init__.py │ │ ├── game-linux/ │ │ │ ├── Dockerfile │ │ │ └── entrypoint.sh │ │ ├── game-win/ │ │ │ ├── Dockerfile │ │ │ ├── entrypoint.sh │ │ │ └── meson_linux_mingw32.txt │ │ ├── game_entrypoint.py │ │ ├── installer/ │ │ │ ├── Dockerfile │ │ │ └── entrypoint.sh │ │ └── lua.pc │ ├── files.py │ ├── git.py │ ├── glyph_mapping.py │ ├── icons.py │ ├── ida_progress.py │ ├── import_sorter.py │ ├── json_utils.py │ ├── linting.py │ ├── mac/ │ │ ├── bundle_dylibs │ │ ├── create_installer │ │ ├── install_tree │ │ └── x86-64_cross_file.txt │ ├── packaging.py │ ├── paths.py │ ├── utils.py │ ├── versioning.py │ └── vfs.py ├── sort_imports ├── tr2/ │ ├── __init__.py │ ├── generate_ida_importer │ └── read_tombpc_script ├── tr3/ │ └── objects_tracker/ │ ├── objects_dump.json │ ├── objects_support.json │ ├── read_levels │ └── render ├── update_game_strings ├── update_install_trees └── update_water_colors