Commit graph

699 commits

Author SHA1 Message Date
Marcin Kurczewski
7895617006 anims: fix crash when an anim has no frames
Resolves #2746.
2025-04-12 23:27:28 +02:00
Marcin Kurczewski
a12e5f523c docs: link water color entries to the main table 2025-04-12 23:27:16 +02:00
Marcin Kurczewski
f258d6de05 tr2: add ability to skip cutscenes
Resolves #2127.
2025-04-12 22:34:57 +02:00
Marcin Kurczewski
72c67d7973 config: add/improve enable_legal option
Resolves #2740. Resolves #2741.
2025-04-12 22:33:59 +02:00
Marcin Kurczewski
fec09ad56b tr2: fix crashes when the images are missing
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
Also relaxes constraints around missing images.
2025-04-12 20:18:04 +02:00
lahm86
d57b2b9234 effects: raise TR2 effects limit
This raises the TR2 effects limits from 100 to 1000, like TR1. The
constant has been renamed for TR1 as well for consistency.

Resolves #1581.
2025-04-12 16:42:06 +01:00
lahm86
28fc94a89f pathing: raise TR2 creature slot limit
This brings TR2 into line with TR1 in terms of the maximum number of
enemies at a time.

Resolves #1624.
2025-04-12 16:42:06 +01:00
lahm86
941d525d37 items: raise TR2 item limit
This brings TR2 into line with TR1 in terms of the maximum number of
items per level. Because of how floor data is compiled, the maximum for
referencing items in triggers is 1024.

Resolves #1794.
2025-04-12 16:42:06 +01:00
Marcin Kurczewski
e93ed2b6ce tr2: make water color customizable like in TR1X
Tackles #1619. While does not offer a simple toggle for the PS1 style,
it is now possible to edit the game flow file by hand with those
settings.
2025-04-12 15:05:10 +02: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
adf2703305 tr2/objects/bird_guardian: remove hard-coded end level behaviour
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 hard-coded end level behaviour of the bird guardian in
TR2. For OG, an injection is provided to add a command to the death
animation to yield the same result; custom levels can modify the object
accordingly externally.

Resolves #1583.
2025-04-12 08:41:07 +01:00
lahm86
36ab43f0b3 tr2/option_passport: add new game options
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 adds NG+, Japanese, and Japanese NG+ options (as well as regular
NG) to the new game page in the passport.

Resolves #2731.
2025-04-11 21:30:11 +01:00
Marcin Kurczewski
26f290e2b7 tr2/config: update default fog distances 2025-04-11 08:25:16 +02:00
Marcin Kurczewski
98acd91c5a tr2/options: add graphic options dialog
Resolves #1615.
2025-04-11 08:25:16 +02:00
Marcin Kurczewski
0f5e54d714 tr2/output: make fog distances customizable
Resolves #1622.
2025-04-11 08:25:16 +02:00
Marcin Kurczewski
52ef286ab4 tr2/sound: fix not able to completely mute sounds
Resolves #2722.
2025-04-09 19:03:47 +02:00
lahm86
0d80ca8f8f tr2/savegame: implement BSON saves
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 implements BSON save games, similar to TR1, and opts for it to be
used in place of legacy for writing. Saves will also be stored in a
separate saves directory.
2025-04-06 20:56:25 +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
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
lahm86
0939b6b384 tr2/inventory: handle GF weapon removal and addition
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 responds to scenarios when the game flow removes all weapons but
also re-adds pistols, such that Lara's meshes can be drawn correctly.

Resolves #2677.
2025-03-24 14:46:21 +00:00
lahm86
f396ef4514 tr2: add support for The Golden Mask
This implements support for the Golden Mask by providing relevant game
flow files, command line handling, and object alias setup on launch.

Resolves #1554.
Resolves #1604.
Resolves #1621.
Resolves #2667.
2025-03-24 14:46:21 +00:00
lahm86
5727910c6e tr2/stats: allow two of each secret type
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 allows custom levels to define up to two of each secret type per
level, and continue to have statistics accurately captured.

Resolves #2674.
2025-03-23 08:07:26 +00:00
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
lahm86
fc4064582d tr2/stats: determine secret count automatically
This fixes the hardcoded check to skip secret counts in statistics for
the final two levels and allows to do away with the game flow's secret
count mechanic, by counting the number of secret pickups in the level
and storing in the stats.

Resolves #1582.
2025-03-21 18:16:38 +00:00
walkawayy
e7809774f4 stats: fix the distance travelled display when over 1000m
Resolves #2659.
2025-03-21 11:43:22 -04:00
Marcin Kurczewski
279594e0b9
docs/tr2: release 0.10 2025-03-18 22:36:46 +01: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
Marcin Kurczewski
28479fe0ce shell: add -s/--save argument support 2025-03-15 22:04:13 +01: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
Marcin Kurczewski
766c7270fa lara/state: merge LARA_STATE in trx 2025-03-14 20:43:06 +01:00
Marcin Kurczewski
bdbd4ce82c lara: use common LS_ constant names 2025-03-14 20:43:06 +01: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
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
888ffaee07 tr2: add quadrilateral interpolation 2025-03-12 22:43:20 +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
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