Commit graph

44 commits

Author SHA1 Message Date
lahm86
a859d668f9 lara: test alignment position height validity in TR1
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / TR1 (Windows) (push) Waiting to run
Publish a pre-release / TR1 (Mac) (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 / Create a prerelease (push) Blocked by required conditions
Publish a pre-release / TR1 (Linux) (push) Waiting to run
Publish a pre-release / TR2 (Mac) (push) Waiting to run
This applies a fix introduced in TR2 to TR1 so that Lara doesn't become
clamped under a steeply sloped ceiling if picking up an item there.

Resolves #2879.
2025-04-27 21:53:55 +01:00
Marcin Kurczewski
953f30205e build: offload binary assets to TRX-data 2025-04-22 12:37:43 +02:00
Marcin Kurczewski
fbc26fcba6 docs: update logos
Some checks are pending
Run code linters / Run code linters (push) Waiting to run
Publish a pre-release / Build TR1 (push) Waiting to run
Publish a pre-release / Build TR2 (push) Waiting to run
Publish a pre-release / Create a prerelease (push) Blocked by required conditions
2025-04-21 18:38:40 +02:00
lahm86
fa5a4f118b objects/movable_block: fix angle resetting and snapping
This restores pushblock angles after performing collision tests, and
also snaps them to the grid on initialisation if a builder places them
at non 90 degree angles to avoid instead snapping during collision.

Resolves #2776.
2025-04-19 19:03:30 +01:00
lahm86
3e39a090f7 tr1/data: fix enemy death SFX
This fixes the panther and skate kid's death SFX

Resolves #2647.
2025-04-13 18:06:50 +01:00
lahm86
9b073d69f3 tr1/room: add support for antitriggers
This allows antitriggers to be used like in TR2+.

Resolves #2580.
2025-04-12 22:33:40 +01:00
lahm86
c69fe9c891 objects: raise static mesh slot capacity
This raises the static mesh slot capacity from 50 to 256. 2D statics
remain fixed at 50 for the time being.

Resolves #2734.
2025-04-12 12:36:49 +01:00
lahm86
e2bcd1aeb7 docs: update docs 2025-03-30 12:34:54 +01:00
walkawayy
66d1b59330 tr1/stats: change the detailed stats option to three modes
Resolves #2658.
The three stat options include:
minimal: kills, pickups, secrets, time
detailed: minimal and max pickup and max kill count
full: detailed and ammo hits/used, health packs used, distance
2025-03-21 11:43:22 -04: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
28479fe0ce shell: add -s/--save argument support 2025-03-15 22:04:13 +01:00
Marcin Kurczewski
888ffaee07 tr2: add quadrilateral interpolation 2025-03-12 22:43:20 +01:00
Marcin Kurczewski
0e85a3d155 tr2: add accented fonts
Resolves #2356.
2025-03-11 21:10:32 +01:00
Marcin Kurczewski
8a0c695b02 tr2: add 60 fps 2025-03-09 17:03:01 +01: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
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
lahm86
efe124c60e level: allow empty SFX data while reading
This allows reading levels that contain no SFX data.

Resolves #2460.
2025-02-08 18:24:05 +00:00
lahm86
71cd31d7ab camera: store cinematic frames in camera module
This moves cinematic frames into a new common camera cinematic module;
they should only be changed on level reading.

This also adds checks to TR2 in case there are no frames and a
cinematic is loaded.

Resolves #2413.
2025-02-02 10:09:23 +00:00
lahm86
0e025b65ac output: raise TR2 texture limits
This removes the cap on object and sprite textures in TR1 and TR2, and
raises the TR2 page limit to 128.

Resolves #1795.
Resolves #1796.
2025-01-28 17:43:59 +00:00
lahm86
18de1465d2 tr2/game_buf: expand game memory limit
This raises TR2's game_buf limit to match TR1, at 128 MB.
2025-01-28 17:43:59 +00:00
Marcin Kurczewski
cc30d7f4ee
docs: update macOS TR2X info 2025-01-25 17:19:38 +01:00
lahm86
2f16613d74 effects: add dynamic light to guns and explosions
This adds dynamic light for explosion and (enemy) gunshots in TR1 and
makes it optional in TR2.

Resolves #2357.
2025-01-23 22:26:35 +00:00
Marcin Kurczewski
6667c1a1eb input: allow repeating left/right menu arrows 2025-01-14 23:20:18 +01:00
lahm86
9abf5802b1 tr1/spawn: fix Lara blood spawn position
This fixes assigning a blood splat to a bone beyond Lara's data and
introduces proper random positioning for it.
2025-01-11 14:12:51 +00:00
Marcin Kurczewski
3e2d54c3c5 tr2/viewport: allow players to change fov
Resolves #2177.
2024-12-31 13:59:40 +01:00
Marcin Kurczewski
f43393a199 tr2/input: add TR3+ sidesteps option
Resolves #2111.
2024-12-30 13:57:19 +01:00
Marcin Kurczewski
59bf9b31e0 misc: fix ricochet spelling 2024-12-22 22:39:23 +01:00
lahm86
0038e882f5 tr1/pickup: add option for pickup aids
This adds support for pickup aids, which will add an intermittent
twinkle effect nearby pickup items when the player enables the option.

Resolves #2076.
2024-12-21 11:21:56 +00:00
lahm86
b407bfd0ce tr1/objects/movable_block: add trap feature to pushblocks
This makes falling pushblocks more realistic if they land on top of
Lara, killing her outright. We hide Lara's shadow to avoid it
appearing on top of the pushblock, as the floor height change will
continue to operate in case there are active enemies nearby.
Additionally, a camera target item is spawned to prevent issues with
the camera looking into the pushblock at Lara.

Resolves #2035.
2024-12-14 15:41:43 +00:00
lahm86
74d8a604f9 tr1/data: fix Natla's Mines boat camera position
This shifts the camera in Natla's Mines that looks at the boat while
it's moving, so to avoid seeing the flip state.

Resolves #2019.
2024-12-13 12:41:37 +00:00
lahm86
8941edca41 tr1/objects/door: define doors in opening rooms
This takes on the TR2 approach of having doors defined in the rooms
they open into, so to resolve drawing issues when close to the
portals.

Part of #2005.
2024-12-12 22:45:41 +00:00
lahm86
9faf8bccc2 tr1/data: fix incorrect transparency in Egypt textures
Fixes incorrect transparent pixels on some room and static mesh
textures in Egyptian levels.

Resolves #1975,
2024-11-30 17:01:29 +00:00
lahm86
69629385a0 tr1/data: fix wolf and bat transparent eyes
Injects texture replacements for the wolf and bat eyes in Peru. The
wolf fix applies to all 4 levels, the bat fix only to Caves and
Vilcabamba.

Resolves #1945.
2024-11-30 17:01:29 +00:00
lahm86
01f040d9b8 tr1/inventory: support automatic key item selection
This allows the inventory to open on the correct key item based upon
the receptacle Lara is currently trying to use.

Resolves #1884.
2024-11-12 21:51:21 +00:00
Marcin Kurczewski
4b06213fd4 docs: update changelogs 2024-11-05 10:31:56 +01:00
Marcin Kurczewski
3021804047 tr2/overlay: support 3d pickup animations 2024-11-05 10:31:56 +01:00
lahm86
efc150d029 tr1/objects/scion3: save scion hitpoints
This ensures the shootable scion's hitpoints value is saved so if it's
still active on reload, Lara can't continue to target it.

Resolves #1819.
2024-11-03 21:03:18 +00:00
lahm86
c3bff3a9cb tr1/data: inject Khamoon trapdoor triggers
This injects dummy triggers in rooms 10 and 18 for trapdoors 33 and 34
in City of Khamoon.

Part of #1744.
2024-10-25 00:06:20 +02:00
lahm86
4952e460fe tr1/lara: add wading support
This adds support for wading, taken from TR2, with the required
animations and SFX provided in lara_animations.bin.

Resolves #1537.
2024-10-21 13:27:51 +01:00
lahm86
0ea343f1ed
tr1/data: inject pushblock SFX commands (#1715)
This injects the missing animation commands for pushblock types 2, 3
and 4 in Natla's Mines, so they play 4 scrapes on the pull animation in
line with every other pushblock in the game.

Resolves #1714.
2024-10-15 15:40:48 +01:00
lahm86
a9fd434d99 tr1/lara: inject medium water exit animation
This injects the TR2 exit water to "medium" height animation.

Resolves #1538.
2024-10-08 14:14:39 +01:00
lahm86
708141d4be camera: add photo mode
This adds a photo mode phase and camera logic to handle movement. No UI
is presented currently.
2024-10-05 16:24:10 +01:00
lahm86
95407af8d4
overlay: add option to toggle game UI (#1657)
This adds an option to allow toggling the in-game UI.

Resolves #1656.
2024-10-04 18:41:53 +01:00
Marcin Kurczewski
ff559580bf misc: merge tr2 and libtrx codebases 2024-10-03 10:36:35 +02:00