Commit graph

5169 commits

Author SHA1 Message Date
Marcin Kurczewski
7718406bbe creature: move Creature_CheckBaddieOverlap to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
c79f80486f creature: move Creature_Collision to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
4747121024 lara: make Lara_Push API common 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
b346f537a4 items: move Item_TestBoundsCollide to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
3dfb3085d9 creature: move Creature_Neck to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
f0104c568f creature: consolidate BITE 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
3d898a8844 creature: move Creature_Effect to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
751e5c4cb5 creature: move Creature_Head to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
a878739c40 creature: move Creature_Tilt to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
4e03c39ffd creature: move Creature_Turn to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
dbfb93cfd7 creature: move Creature_Mood to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
ec7e8e22bd creature: move Creature_EnsureHabitat to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
6b3999ab2c creature: move Creature_AIInfo to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
90494c1fc9 creature: move Creature_Initialise to trx 2025-04-09 19:03:28 +02:00
Marcin Kurczewski
74e6205e7e tools: move inspect_save to tools/ 2025-04-09 16:21:13 +02:00
Marcin Kurczewski
aba72f28a8 tr2/savegame/bson: mirror tr1's footer approach 2025-04-09 16:21:13 +02:00
Marcin Kurczewski
7613e0c806 tr1/output: reduce noise from OpenGL debug output 2025-04-09 14:23:58 +02:00
lahm86
d00c561a41 gun/const: move gun constants to TRX
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 and combines gun constants into TRX.
2025-04-09 07:14:50 +01:00
lahm86
bc31423029 objects: rename TR1 inventory objects
This updates TR1's inventory object names to match TR2.
2025-04-09 07:14:50 +01:00
lahm86
bf54cf9130 tr2/objects/harpoon_bolt: fix harpoon test on invalid 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 fixes testing harpoon colliding with invalid objects, such as
sprite pickups.

Resolves #2718.
2025-04-08 21:53:49 +01: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
ca56a3c68e lara: rename ammo properties
This renames Lara's ammo properties in TR1 to match TR2.
2025-04-08 20:47:40 +01:00
lahm86
e7c193a106 savegame: move common module 2025-04-08 20:47:40 +01:00
lahm86
962e87a9e6 savegame: move types to TRX
This moves the remaining savegame types, enums and consts to TRX. The
strategy has been updated so both games fully match.
2025-04-08 20:47:40 +01:00
lahm86
be337ffbe7 savegame/types: move resume info to TRX
This moves the resume info definition to TRX and updates both games to
use similarly named properties.
2025-04-08 20:47:40 +01:00
lahm86
4350fa2d10 stats/types: move statistic types to TRX
This moves the various statistic structs to TRX and updates naming and
types such that both games match as far as possible.
2025-04-08 20:47:40 +01:00
Marcin Kurczewski
989ba0ac6d tr1/output: improve scissor precision
Resolves #2713.
2025-04-08 21:02:01 +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
lahm86
6820532711 tr1/savegame_bson: append game version
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 the current TRX version to the BSON payload.
2025-04-08 07:40:34 +01:00
lahm86
12edeaee37 tr1/savegame: move misc properties to module
This moves the counter, total save count and initial version properties
to the main savegame module rather than using globals.
2025-04-08 07:40:34 +01:00
lahm86
fc09a0cf90 tr1/savegame: remove passing of game info
The savegame strategies no longer require to receive the game info
object so this updates all relevant function signatures.
2025-04-08 07:40:34 +01:00
lahm86
1127372135 misc: remove bonus level unlock storage
Storage of the bonus level unlock flag is redundant because the
gameflow overwrites it always when a level is completed (re-calculated
from the main level stats) and uses the value then to determine if the
next level can be played.
2025-04-08 07:40:34 +01:00
lahm86
8672505f56 tr1/savegame: move death count to resume info
This moves the death count from the global game info into the resume
info stats struct.
2025-04-08 07:40:34 +01:00
lahm86
ebd5331b31 tr1/savegame: move resume info storage
This moves storage of resume info into the savegame module rather than
in the global game info.
2025-04-08 07:40:34 +01:00
Marcin Kurczewski
9c708933bc tr1/option: add ui for changing the fog 2025-04-08 08:16:02 +02: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
264c18c1c8
build: fix Linux executable name
Resolves #2705.
2025-04-07 12:28:36 +02:00
Marcin Kurczewski
04437d02c4 tr1/output: remove pretty pixels option 2025-04-07 12:17:30 +02:00
Marcin Kurczewski
8bec5dc086 tr1/output: store all uvws in a common buffer 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
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
5b524faec9 savegame: move common types
This moves the savegame info and format types to TRX. More intricate
work will be needed in TR1 to allow moving more, so that is beyond
current scope.
2025-04-06 20:56:25 +01:00
lahm86
699c1d9873 tr2/savegame: introduce strategy concept
This introduces the concept of savegame strategies, like TR1X, with the
legacy strategy being the only one currently.
2025-04-06 20:56:25 +01:00
lahm86
49ad919de3 tr2/savegame: isolate legacy savegame module
This isolates TR2's legacy savegame logic into its own module, similar
to TR1, and updates related usage throughout.
2025-04-06 20:56:25 +01:00
lahm86
539763492d tr2/savegame: move pre/post processing logic
This moves the pre and post processing logic to the main savegame
module.
2025-04-06 20:56:25 +01:00
lahm86
2fbe0c582a tr2/savegame: encapsulate save IO
This removes the disjointed OG approach of saving and loading by
storing some variables globally before later interperting them, in
favour of using the same approach as TR1's legacy saves, where the
buffer is read/written in one move.
2025-04-06 20:56:25 +01:00