Commit graph

267 commits

Author SHA1 Message Date
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
Marcin Kurczewski
98acd91c5a tr2/options: add graphic options dialog
Resolves #1615.
2025-04-11 08:25:16 +02:00
Marcin Kurczewski
9fab033d89 tr1/docs: document water colors 2025-04-08 21:50:43 +02:00
Marcin Kurczewski
bd4b56f726 tr1/output: make water color player-customizable 2025-04-08 21:50:43 +02:00
lahm86
2fb3824b3b items: handle null anims/frames for sprite objects
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 that sprite objects (or anything with no animation index
defined) are assigned a default animation and as such allows us to
handle null frames when getting item bounds. When Lara's animations are
injected, animation index 0 (which sprite objects would previously
default to) is no longer valid, hence sprites then pointing to a null
entry.
2025-04-08 11:05:29 +01:00
Marcin Kurczewski
67354e9f43 tr1/output: fix sprites missing fog effect 2025-04-08 08:16:02 +02:00
Marcin Kurczewski
def5d37192 tr1/config: make fog player-customizable 2025-04-08 08:16:02 +02:00
Marcin Kurczewski
287fddea7e tr1/data: improve bubbles appearance
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-04-07 17:16:24 +02:00
Marcin Kurczewski
8cde0e45e2 tr1/output: fix sprite UVs
Resolves #2672.
2025-04-07 17:16:24 +02:00
Marcin Kurczewski
04437d02c4 tr1/output: remove pretty pixels option 2025-04-07 12:17:30 +02:00
Marcin Kurczewski
039032e69e tr1/output: improve bilinear filter UVs 2025-04-07 12:17:30 +02:00
lahm86
0c8a9ecb95 input: ignore ALT-F4 on Windows
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
Either Alt key can be used with F4 to close windows, so this ensures
both cases are accounted for to ensure no action is taken on the F4
input role.

Resolves #2690.
2025-04-05 19:34:18 +01:00
lahm86
a627ff2beb tr1/savegame: set save game info on save
This allows strategies to set any values in savegame info during saving
that would normally be set during initial fill_info reads. This
resolves the restart level option not being available until the saves
are re-scanned.
2025-04-05 19:33:57 +01:00
lahm86
9e0e36c3c7 tr1/option_passport: fix restart level escape check
This ensures the menu back input is respected when using save crystals
and there are no saves present.
2025-04-05 19:33:57 +01:00
lahm86
1717158094 objects: assign default sprite lighting if not set
This restores default shading on sprites that have values below zero
(i.e. TombEditor default) in the level file.

Resolves #2701.
2025-04-05 17:26:02 +01:00
Marcin Kurczewski
d1986f82d7
tr1/docs: update changelog
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-04-05 13:13:16 +02:00
Marcin Kurczewski
8a6a852af3 tr1/output: disable object clipping
Tackles #2005 for TR1.
2025-04-04 23:11:09 +02:00
Marcin Kurczewski
effabcfb9c
docs/tr1: update changelog 2025-04-04 17:11:18 +02:00
Marcin Kurczewski
273a63bafe tr1/output: rewrite room drawing 2025-04-04 09:49:15 +02:00
Marcin Kurczewski
85235ce6a3
docs/tr1: release 4.9 2025-03-31 14:10:17 +02:00
Marcin Kurczewski
12661fe6e6
docs: fix wording 2025-03-31 12:44:25 +02:00
lahm86
e2bcd1aeb7 docs: update docs 2025-03-30 12:34:54 +01:00
walkawayy
2adaf2ac0f
controls: fix console opening when remapping its key (#2683)
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 #2641.
2025-03-26 09:30:47 -04: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
9424083dd8 tr1/stats: move Deaths stat to last in non-detailed stats mode 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
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