Commit graph

300 commits

Author SHA1 Message Date
walkawayy
e88a28c39f tr2: add mac builds 2025-01-25 16:47:56 +01:00
lahm86
1a56151e2f console/teleport: use higher Y value for item teleports
This teleports Lara slightly above the item she is teleporting to, so
to avoid Room_GetSector tests pushing through to the room below in
some cases.

Resolves #2372.
2025-01-24 16:47:26 +00:00
lahm86
be39629dcc rooms: use flip status flag for finding rooms
This introduces a flip status flag on rooms so that we can avoid
yielding rooms that are not in the correct state when finding one by
position.

Resolves #2362.
Resolves #2370.
2025-01-24 16:42:51 +00:00
Marcin Kurczewski
6a261d23af game-flow: support string-based object ids 2025-01-24 16:01:16 +01:00
Marcin Kurczewski
c88972c7e5 game-flow: reduce key naming differences 2025-01-24 16:01:16 +01:00
Marcin Kurczewski
812e7b44e5 tr1/game-flow: replicate tr2 fmvs setup 2025-01-24 16:01:16 +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
2429301285
tr1/game-flow: fix crash when starting demo and there are no demos 2025-01-23 15:35:55 +01:00
Marcin Kurczewski
59d31d848b
game-flow: use common GFS naming 2025-01-23 15:35:55 +01:00
Marcin Kurczewski
98bfc05701 tr1/game-flow: merge GFS_LOOP_CINE to GFS_LOOP_GAME 2025-01-23 13:51:35 +01:00
Marcin Kurczewski
52a9613196 tr1/game-flow: merge GFS_STOP_GAME to GFS_LOOP_GAME 2025-01-23 13:51:35 +01:00
Marcin Kurczewski
ac40c7aa8f tr1/game-flow: merge GFS_START_CINE to GFS_START_GAME 2025-01-23 13:51:35 +01:00
Marcin Kurczewski
1df5d5e3d4 tr1/game-flow: fix story so far exiting early
Resolves #2360.
2025-01-23 13:51:35 +01:00
Marcin Kurczewski
d03ea672cd tr1/inv-ring: keep arrows and header when rotating
Resolves #2352.
2025-01-22 13:21:49 +01:00
Marcin Kurczewski
ec1dbfa194 tr1/inv-ring: fix healthbar drawn during rotations
Resolves #1991.
2025-01-22 13:07:26 +01:00
Marcin Kurczewski
3fe0e6228b shell: consolidate support for exit fades
Resolves #2348.
2025-01-21 23:47:17 +01:00
Marcin Kurczewski
83758c0c1d
docs: update 2025-01-21 17:46:27 +01:00
Marcin Kurczewski
f518862a77 tr1/creature: do not treat scion 3 as hostile
Resolves #2329.
2025-01-19 12:28:14 +01:00
lahm86
d44804dfdd tr1/level: reset static mesh mesh count
This ensures that if a static was previously used as an animating
sprite (with a negative mesh count) it will be reset to 1 on the
next load.

Resolves #2309.
2025-01-18 11:23:36 +00:00
Marcin Kurczewski
2f647000c6 game-strings: move level titles to game strings 2025-01-17 18:35:39 +01:00
Marcin Kurczewski
f7a21610ad game-strings: improve object naming layout 2025-01-17 18:35:39 +01:00
Marcin Kurczewski
c621cab880 overlay: fix pausing pickups
Resolves #2319.
2025-01-17 18:07:32 +01:00
Marcin Kurczewski
46020df42d level: fix sprites-statics collisions
Resolves #2310.
2025-01-17 14:20:38 +01:00
Marcin Kurczewski
60078d30c3 gfx: fix wireframe mode discarding transparent pixels
Resolves #2315.
2025-01-16 23:42:20 +01:00
Marcin Kurczewski
86c52b566b cmd: fix /kill sometimes freezing the game
Resolves #2297. The previous implementation was too frugal in its size
which led to an infinite loop bug when an item was deemed unkillable.
2025-01-14 23:21:40 +01:00
Marcin Kurczewski
6667c1a1eb input: allow repeating left/right menu arrows 2025-01-14 23:20:18 +01:00
lahm86
816d7bd90d tr1/option/option_sound: fix volume arrows display control
This avoids hiding either of the arrows permanently when one volume is
at the maximum and the other at the minimum.

Resolves #2295.
2025-01-14 22:15:14 +00:00
Marcin Kurczewski
13b8297621 camera: fix Lara's vision range
Resolves #2276.
2025-01-14 10:53:34 +01:00
Marcin Kurczewski
8ba4fd0cb4 phase/demo: small fixes
- Fixes issuing commands like /play when paused in demos
- Fixes small interpolation glitches during demo fade-outs
- Adds missing changelog documentation
2025-01-13 23:03:06 +01:00
Marcin Kurczewski
8889892fff
docs: update 2025-01-13 19:05:05 +01:00
Marcin Kurczewski
f825c89df6 tr1/phase/demo: rewrite to use new phaser
Resolves #2217.
2025-01-13 19:04:14 +01:00
lahm86
6db2afbd02 tr1/data: change wolf eye colour
This replaces the transparent pixels in wolves' eyes to black instead
of off-white.

Resolves #2282.
2025-01-13 16:47:38 +00:00
Marcin Kurczewski
e5436dcae1 tr1/option/compass: use stats-dialog 2025-01-12 20:08:16 +01:00
lahm86
603cc5d647 tr1/objects/common: fix using key items on consumed slots
This fixes being able to re-use a key on already used keyholes, using a
puzzle item while Lara is still in the placement animation, and the
lead bar while she is still converting another one.

Resolves #2256.
2025-01-11 21:33:45 +00: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
3362551b7b phase/pause: improve ps1 compatibility
Resolves #2248.
2025-01-10 18:14:44 +01:00
Marcin Kurczewski
65bb6b5505 phase/pause: move to libtrx 2025-01-08 23:24:44 +01:00
Marcin Kurczewski
09b22febe7 tr1/phase/pause: do fade out internally
This is to simplify the fade effect lifecycles. As a consequence, this
changes the behavior of unpausing to wait a couple of frames before
yielding the control to the player, but I think it's acceptable.
2025-01-08 19:59:40 +01:00
Marcin Kurczewski
5b9796b4d7 clock: simplify the API 2025-01-08 19:59:40 +01:00
Marcin Kurczewski
d6be7a46b5 tr1/phase/pause: use ui module 2025-01-05 20:55:49 +01:00
lahm86
67db0a2fe0 tr1/lara/control: fix testing triggers too early
This replicates how g_TriggerIndex used to work for Lara, by storing
her sector before calling any collision routines, and then passing
that sector to be tested for triggers.

Resolves #2208.
2025-01-04 12:29:55 +00:00
Marcin Kurczewski
adc025d648 game-flow: use consistent naming 2025-01-03 14:03:35 +01:00
Marcin Kurczewski
7af50cbce3 stats: respect turbo cheat
Resolves #2167.

Now that 5785b0e65 has eliminated the clock drift problems, we can
return to simple frame-based timer increments.
2024-12-31 14:31:11 +01: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
26d1e0b01c cmd/demo: add demo_num argument 2024-12-28 18:04:43 +01:00
Marcin Kurczewski
f8bda9ed08 demo: make only esc and action interrupt the demos 2024-12-28 18:04:43 +01:00
lahm86
ea6a84bc93 tr1/effects/flame: fix killing effect twice in fly cheat
This ensures we exit the flame control early if Lara is on fire but
also in the fly cheat, so preventing potentially killing the effect
again if she is also at water height on the same frame.

Resolves #2116.
2024-12-26 19:18:57 +00:00
lahm86
689f567158 tr1/phase/phase_demo: disable swim cancel during demos
Similar to disabling other enhanced movement options, we now disable
responsive swim cancellation to avoid desync issues in demos.

Resolves #2113.
2024-12-26 12:34:22 +00:00
lahm86
d016288ed4 libtrx/rooms/common: append commands to existing triggers
This will handle cases in old levels where a sector has multiple
trigger entries. Officially only one is supported, but it seems old
levels use this approach to add dummy triggers for such things as
bridges on top of pre-existing triggers. This would have worked with
the old g_TriggerIndex approach because of the way floor height tests
were performed. Instead now, if we detect a trigger but the sector
already has one, we simply append the new commands onto the existing
trigger.

Resolves #2114.
2024-12-26 12:28:59 +00:00