Commit graph

292 commits

Author SHA1 Message Date
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
lahm86
6583b6f111 tr1/savegame_bson: handle Lara animation shift
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
Prior to 4.8, Lara's legacy animation set could still be referenced
from old savegames, but the case now is that only applicable animations
are setup during level load. This shifts Lara's animation index to
match her object if detected on load; a similar approach is already in
place for TombATI saves.

Resolves #2654.
2025-03-21 11:33:18 +00: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
28479fe0ce shell: add -s/--save argument support 2025-03-15 22:04:13 +01:00
lahm86
fe3170b82a tr1/level: play cutscene music normally
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 ensures cutscene tracks are not played as looped.

Resolves #2591.
2025-03-15 20:43:47 +00:00
Marcin Kurczewski
4ba1d96282 cmd/flood: add room_num arg 2025-03-13 21:18:58 +01:00
Marcin Kurczewski
50387b888e photo-mode: support 60 FPS 2025-03-13 14:59:03 +01:00
Marcin Kurczewski
4283d0a37b photo-mode: increase world bounds by 5 tiles 2025-03-13 14:59:03 +01:00
Marcin Kurczewski
b455d5ba96 photo-mode: improve inputs 2025-03-13 14:59:03 +01:00
Marcin Kurczewski
b11fe9ab29 trapdoor: fix startup problems
The cause was the bats - the code to fix bats embedded in room geometry
tries to find the nearest open spot to move the bats to. In the case of
the level "The Atlantean Armor" by Sabatu, it happened inside a room
with a trapdoor. At the time of invoking the embed fix, the trapdoor
didn't have its bounds ready and would crash the game with null pointer
access. It seems to be working fine otherwise.
2025-03-13 12:02:03 +01:00
Marcin Kurczewski
8c0cbf1e7d tr1/game-flow: fix select level items loading
Resolves #2617.
2025-03-12 23:30:58 +01:00
Marcin Kurczewski
888ffaee07 tr2: add quadrilateral interpolation 2025-03-12 22:43:20 +01:00
Marcin Kurczewski
414fb1f226 tr1/savegame: optimize scanning saved games
Resolves #2610. Resolves #1335.
2025-03-12 22:42:59 +01:00
Marcin Kurczewski
1a05a732a2 cmd: add flood and drain console commands 2025-03-12 17:08:27 +01:00
Marcin Kurczewski
d667b13532 docs: improve command docs
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-11 23:07:35 +01:00
Marcin Kurczewski
98a3928701 cmd/pos: improve formatting; enable in tr1 cutscenes 2025-03-11 23:07:35 +01:00
Marcin Kurczewski
332c0ba0cf cmd/pos+play: make 0 always refer to the gym level
Resolves #2605.
2025-03-11 23:07:35 +01:00
Marcin Kurczewski
1989453f58 cmd/pos: improve indexing of demo and 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
17e96de3ec game-strings: fix loading demo and cutscene titles
Resolves #2604.
2025-03-11 23:07:35 +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
cf9c0c9557 tr1/output: add quadrilateral interpolation
Resolves #354
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
lahm86
f0f45e2845 interpolation: handle specific effect deltas
This resolves various TR1 and TR2 effects jittering in 60fps, and
ensures grenades and harpoons (from Lara) are interpolated.
2025-03-09 17:03:01 +01:00
lahm86
4b34f5175b interpolation: detect large camera shifts
This updates camera interpolation in cases where there are large shifts
of any positional value, such as going to a fixed camera on the other
side of the world. In this case, we just commit the values rather than
interpolating each one, as this can result in the camera having settle
at the destination.
2025-03-09 17:03:01 +01:00
Marcin Kurczewski
8a0c695b02 tr2: add 60 fps 2025-03-09 17:03:01 +01:00
lahm86
42b46673b8 movable_block: handle pushblocks collectively
This migrates handling of pushblock floor manipulation to a collective
organisation of calls, whereby we process blocks based on Y position.
This prevents issues with adjusting floors too early or too late.
2025-03-08 21:32:22 +00:00
walkawayy
73d5c88a2e tr1/output: add drawing mesh spheres to debug command 2025-03-08 14:58:13 -05:00
lahm86
c5757957b9 lara/cheat: prevent fly cheat after exploding death
Some checks failed
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
Run code linters / Run code linters (push) Has been cancelled
This prevents the fly cheat from being used after the explosion cheat.

Resolves #2584.
2025-03-06 13:46:18 +00:00
lahm86
869501db67 tr1/inventory: respect busy hands status
This ensures that if Lara's hands are busy while a gun item is added to
the inventory, the status is restored after initialising said gun.

Resolves #2577.
2025-03-06 13:14:50 +00:00
lahm86
07e469b68a tr1/lara/cheat: reset meshes in fly cheat
Some checks failed
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
Run code linters / Run code linters (push) Has been cancelled
Resolves #2565.
Resolves #2572.
2025-03-02 21:10:16 +00:00
walkawayy
3808fa7c28
inventory: limit max item quantities to fix crashing (#2554)
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 #2497.
2025-02-28 19:58:51 -05:00
lahm86
798dc168f0 camera: fix unchecked NO_HEIGHT usage
This resolves an OG bug whereby the camera shift could result in
extremely large values when NO_HEIGHT is involved, hence resulting in
the camera going out of bounds for a frame or so. We now check for this
case and use the previous valid Y position of the camera.

Resolves #1034.
2025-02-28 22:13:03 +00:00
lahm86
90a9e82760 tr1/objects/bear: apply AI fix in bear control
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 moves the bear AI fix to the control routine to avoid the setting
having been changed before demos load, where the setting will be
disabled.

Resolves #2559.
2025-02-27 22:03:01 +00:00
walkawayy
7e4ceb62ed
tr1/controls: hide the reset and unbind texts when changing keys (#2555)
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 #2103.
2025-02-26 17:35:16 -05:00
lahm86
ff7d6876c8 tr1/game_flow: add support for no floor
This adds support for no floor in TR1, in the same style as TR2's
Floating Islands.

Resolves #2541.
2025-02-21 21:17:11 +00:00
Marcin Kurczewski
7ff66fe86e
docs/tr1: release 4.8.3
Some checks failed
Run code linters / Run code linters (push) Has been cancelled
2025-02-17 21:47:35 +01:00
Marcin Kurczewski
4e72420ecd
game-flow: fix NG+ saves breaking normal saves
Resolves #2515.
2025-02-17 21:47:15 +01:00
Marcin Kurczewski
bac8061a3c
tr1/passport: fix navigating to Select Level
Resolves #2518.
2025-02-17 21:47:14 +01:00
Marcin Kurczewski
b67733e7df
tr1/passport: fix text disappearing too quickly
Resolves #2512.
2025-02-17 15:26:50 +01:00
lahm86
b4fff4cacb
tr1/room: refresh track flags in gym
This refreshes the track flags after processing the gym tracks, in case
the track ID has changed based on player action.

Resolves #2514.
2025-02-17 15:26:36 +01:00
Marcin Kurczewski
130863773f
docs/tr1: release 4.8.2 2025-02-15 19:35:27 +01:00
Marcin Kurczewski
35e4ceeffb tr1/passport: refactor input processing 2025-02-15 19:21:51 +01:00
Marcin Kurczewski
e4bc78cdbe filesystem: fix resolving case sensitive paths
Resolves #2504 and #1934.
2025-02-15 17:00:56 +01:00
lahm86
a1f51988c7 tr1/game_flow: skip levels in story so far
This restores skipping over levels in the story so far feature.

Resolves #2506.
2025-02-15 15:44:42 +00:00
Marcin Kurczewski
de6d213e48 tr1/config: change default fps to 60
Resolves #2501.
2025-02-15 10:53:50 +01:00
Marcin Kurczewski
0e04acd901 game-buf: rewrite to use arena allocator 2025-02-14 23:47:35 +01:00
Marcin Kurczewski
301fe93315
docs/tr1: release 4.8.1 2025-02-14 23:15:53 +01:00
Marcin Kurczewski
d453cdbbb1 tr1/game-flow: fix asking for saves condition
Resolves #2498.
2025-02-14 22:04:19 +01:00