Commit graph

264 commits

Author SHA1 Message Date
lahm86
3d47493af6 tr2/game_flow: implement bonus level support
This implements bonus level handling the game flow for TR2, similar to
TR1.

Resolves #2668.
2025-03-22 17:25:22 +00:00
lahm86
e45f331ec5 tr2/game_flow: remove secret count from game flow
This removes the need the control around setting secret counts in the
game flow, which is now redundant.
2025-03-21 18:16:38 +00:00
walkawayy
2ef5723457 tr1/stats: add extra stats from TR2
Resolves #2651.
Added stats are ammo hits/used, health packs used, and distance
travelled.
2025-03-21 11:43:22 -04:00
Marcin Kurczewski
1fecbf8c2f tr1/output: color underwater sprites
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
Resolves #2093.
2025-03-20 22:43:23 +01:00
Marcin Kurczewski
39a4279a2e tr1/output: render room sprites using new approach 2025-03-20 18:16:02 +01:00
Marcin Kurczewski
2f7a1aa46d gfx/gl: extract common shader code
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
2025-03-20 14:20:02 +01:00
Marcin Kurczewski
57c7146f32 gfx/gl: remove opengl 2.1 support
According to GitHub comments, it was not working anyway.
2025-03-20 14:20:02 +01:00
lahm86
64fb3d2955 tr2/game_flow: specify savegame format in game flow
This allows defining the savegame format string in the game flow.
2025-03-17 06:41:04 +00:00
lahm86
0b231c2afa tr2/game_flow: specify title background in game flow
This allows the title background picture path to be defined in the game
flow.
2025-03-17 06:41:04 +00:00
lahm86
5eef83b912 tr2/data: fix pickup mesh scaling and rotations
This fixes scaling on various pickup model meshes, and in the case of
the Barkhang prayer wheel, restores base animation data. It also fixes
default rotations on some models so they appear correctly in the
inventory.

Resolves #1831.
Resolves #1832.
Part of #1894.
2025-03-15 16:29:38 +00:00
lahm86
969039bac5 tr2/data: fix seaweed collision in Living Quarters
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
This fixes the seaweed collision in Living Quarters, which can prevent
Lara from climbing out of the water in certain places.

Resolves #2197.
2025-03-14 22:01:33 +00:00
lahm86
37e83b9638 tr2/data: add camera shutter SFX to cutscenes
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
This injects the camera shutter SFX for photo mode in cutscenes.

Resolves #2280.
2025-03-14 09:53:31 +00:00
lahm86
dfbec724eb tr2/data: fix missing enemy SFX
This restores SFX details for the gunman and stick goon in the
underwater levels.

Resolves #2293.
2025-03-14 09:53:31 +00:00
lahm86
0245db179d tr2/game_flow: specify SFX file in game flow
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
This removes the hardcoded reference to main.sfx, and allows it to be
defined globally in the game flow, and per level.

Resolves #2615.
2025-03-13 20:44:34 +00:00
Marcin Kurczewski
888ffaee07 tr2: add quadrilateral interpolation 2025-03-12 22:43:20 +01:00
Marcin Kurczewski
98a3928701 cmd/pos: improve formatting; enable in tr1 cutscenes 2025-03-11 23:07:35 +01:00
Marcin Kurczewski
4eb4cbd34b cmd/pos: use proper prefix for demos and cutscenes 2025-03-11 23:07:35 +01:00
Marcin Kurczewski
0f373c9df2 tr1: fix fonts not injected to demos and -l 2025-03-11 21:10:32 +01:00
Marcin Kurczewski
0e85a3d155 tr2: add accented fonts
Resolves #2356.
2025-03-11 21:10:32 +01:00
lahm86
655bd311fb data: rebuild injection files
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
This replaces all injection files with those built in the new
chunk/zlibbed format. Qualopec and Mines enemy texture fixes have also
been merged into their respective level file injections.
2025-03-11 18:11:52 +00:00
Marcin Kurczewski
c2a930a1cb tr2/shell: add -l argument support 2025-03-11 13:50:03 +01:00
Marcin Kurczewski
cf9c0c9557 tr1/output: add quadrilateral interpolation
Resolves #354
2025-03-10 23:18:52 +01:00
Marcin Kurczewski
d91f0afeef output: move rhw multiplication to the shader 2025-03-10 23:18:52 +01:00
Marcin Kurczewski
ea6399fe99 tr1/shell: add -l argument support
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Has been skipped
Publish a pre-release / Build TR2 (push) Has been skipped
Publish a pre-release / Create a prerelease (push) Has been skipped
2025-03-10 13:37:26 +01:00
Marcin Kurczewski
843f96305d tr2/game-flow: fix carrying final level stats
Resolves #2480 where the final level statistics were not being added to
the overall cumulative stats. TR1 was not affected by this problem
because it records the current statistics in the resume/start
information for the current level, unlike TR2, which continues to store
these statistics in a separate structure.
2025-02-10 18:09:23 +01:00
Marcin Kurczewski
360c1cde6a game-flow: fix setting the NG+ flag
Resolves #2474. The check for the last level only happens in the
`level_complete` event, which will be followed with an exit to title
anyway.
2025-02-10 10:55:31 +01:00
Marcin Kurczewski
80cd32ebf6 tr2/game-flow: fix weapons not removed with /play 2025-02-09 23:46:30 +01:00
lahm86
60eaf76aad tr1/data: add ricochet sprite to the gym
This injects the ricochet sprites into the gym level.

Resolves #2462.
2025-02-09 20:31:59 +00:00
Marcin Kurczewski
9681572101 game-flow: rename play level event back 2025-02-04 22:55:26 +01:00
Marcin Kurczewski
c76d8d4394 docs: document TR2 game flow 2025-02-04 22:55:26 +01:00
Marcin Kurczewski
5669e76993 tr2/objects: fix knight statue name 2025-02-04 22:55:26 +01:00
Marcin Kurczewski
0f2d3d71f0 cmd: add new /music command 2025-02-03 13:52:03 +01:00
Marcin Kurczewski
ed18dcce71 cmd/demo: add console log when playing a demo 2025-02-02 23:02:05 +01:00
Marcin Kurczewski
77b711dbc6 cmd: add new /cutscene command 2025-02-02 23:02:05 +01:00
Marcin Kurczewski
7f5cb9a470 game-flow: merge sequencers 2025-02-02 17:03:04 +01:00
Marcin Kurczewski
99b8949e9d tr1/game-flow: remove load_level sequence event 2025-02-02 17:03:04 +01:00
Marcin Kurczewski
8a6039bad4 tr1/cutscene: restore manual camera positioning
Fixes #2739 by bringing back the cutscene positioning game flow events.
We had previously removed these in 718a1d7, thinking they didn't make a
difference. Albeit subtle, turns out they do.
2025-02-01 20:54:39 +01:00
Marcin Kurczewski
d87b616dfb tr1/demo: fix demos showing level stats 2025-02-01 18:56:57 +01:00
lahm86
3a5fe66e2a tr1/data: fix underwater lever animation
This adds a "hands-free" command at the end of Lara's underwater lever
animation, which is in line with TR2. It prevents issues after using an
underwater lever followed by entering the wading state. The additional
check in Lara's state control also matches TR2, which is one that we
missed before.

Resolves #2416.
2025-01-31 20:46:35 +00:00
lahm86
ec686bd130 tr1/data: improve Colosseum door fix injection
This replaces the full model swap for the first door in Colosseum with a
frame rotation fix, which is all that is needed. This reduces the number
of texture pages needed.
2025-01-29 21:16:37 +00:00
Marcin Kurczewski
0ef42542ca game-flow: move common bits to libtrx 2025-01-29 21:53:57 +01:00
Marcin Kurczewski
b869e63348 game-flow: streamline level access 2025-01-29 21:53:57 +01:00
Marcin Kurczewski
9fb0a128bc tr2/game-flow: use event handler mapping 2025-01-29 21:53:57 +01:00
Marcin Kurczewski
b0ea18a622 tr1/game-flow: put sequence arrays earlier 2025-01-29 21:53:57 +01:00
Marcin Kurczewski
72a63d90a5 tr1/game-flow: simplify cutscenes music track setup 2025-01-27 12:43:26 +01:00
Marcin Kurczewski
e0256e74ec tr1/game-flow: remove exit_to_level 2025-01-27 12:43:26 +01:00
Marcin Kurczewski
c91daa65d8 tr1/game-flow: drop level_id from level-stats 2025-01-27 12:43:26 +01:00
Marcin Kurczewski
aeb121f7f3 tr2/game-flow: remove level_complete_track 2025-01-27 12:43:26 +01:00
Marcin Kurczewski
1ca1df7041 tr2/game-flow: split level_stats & level_complete 2025-01-27 12:43:26 +01:00
Marcin Kurczewski
f520fc452f tr2/game-flow: adapt DisplayCredits() 2025-01-27 12:43:26 +01:00