lahm86
8de5ab20dd
game: move game mode flag to game module
...
This makes the bonus flag common between both games, now accessible in
the game module. This paves the way for TR2 to offer alternate game
modes in the future (beyond current scope).
2025-04-06 20:56:25 +01:00
lahm86
f6d1cfe475
tr2/savegame: refactor savegame logic
...
This is a general refactor of the savegame logic, primarily to bring it
closer to TR1 in preparation for introducing strategies.
2025-04-06 20:56:25 +01:00
lahm86
5b932b38bb
tr2/savegame: move resume info to module storage
...
This moves the resume info array into the common savegame module.
2025-04-06 20:56:25 +01:00
lahm86
e4545e0d73
tr2/savegame: hide legacy functions
...
This updates callers to use the Savgame_Save and Savegame_Load
functions in order to hide the current legacy approach. TR1 also had
duplicated function declarations, so these are removed.
2025-04-06 20:56:25 +01:00
lahm86
efdd14aa8d
tr2/misc: eliminate current stats
...
This removes current_stats in favour of using the current info for
levels.
2025-04-06 20:56:25 +01:00
lahm86
fc4a22f79a
tr2/types: rename START_INFO to RESUME_INFO
...
This renames the START_INFO struct to RESUME_INFO, along with the
relevant variables that use it.
2025-04-06 20:56:25 +01:00
lahm86
0c8a9ecb95
input: ignore ALT-F4 on Windows
...
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
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
d647539581
tr1/output: move good functions to its own module
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-04 23:11:09 +02:00
Marcin Kurczewski
8a6a852af3
tr1/output: disable object clipping
...
Tackles #2005 for TR1.
2025-04-04 23:11:09 +02:00
Marcin Kurczewski
431436eea1
tr1/output: fix fog being applied twice to objects
2025-04-04 23:11:09 +02:00
Marcin Kurczewski
b90707805b
tr1/output: minor cleanups
2025-04-04 23:11:09 +02:00
Marcin Kurczewski
02c265683b
tr1/inventory: remove sprite objects
...
They never seem to be used in either OG or the custom levels.
2025-04-04 20:36:54 +02:00
Marcin Kurczewski
30c5d02344
tr1/output: draw trigger debug info using the new approach
2025-04-04 20:36:54 +02:00
Marcin Kurczewski
c874ec0669
tr1/output: draw portal debug info using the new approach
2025-04-04 20:36:54 +02:00
Marcin Kurczewski
530f7f7931
tr1/output: improve file hierarchy
2025-04-04 20:36:54 +02:00
Marcin Kurczewski
a02a8e1229
tr1/output: draw spheres using the new approach
2025-04-04 20:36:54 +02:00
Marcin Kurczewski
519783fafb
tr1/output: draw shadows using the new approach
2025-04-04 20:36:54 +02:00
Marcin Kurczewski
effabcfb9c
docs/tr1: update changelog
2025-04-04 17:11:18 +02:00
Marcin Kurczewski
767df0999d
tr1/output: merge s_output.c to output.c
2025-04-04 17:10:15 +02:00
Marcin Kurczewski
b797d9f75f
tr1/output/objects: rewrite object mesh drawing
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-04 12:29:34 +02:00
Marcin Kurczewski
a6c154d89a
tr1/output: fix the scissor test
2025-04-04 12:29:34 +02:00
Marcin Kurczewski
273a63bafe
tr1/output: rewrite room drawing
2025-04-04 09:49:15 +02:00
Marcin Kurczewski
01e18f2cf0
gfx/context: fix Mac builds
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-04 00:04:35 +02:00
lahm86
de1a63fc74
tools: clean-up config tool build messages
...
This fixes VS messages regarding namespaces, removes some redundant
usings and SDK parameters, and adds XAML design data contexts.
2025-04-03 17:09:56 +01:00
lahm86
494c2724fc
tools: merge config tool projects
...
This merges the three config tool projects into a single VS solution.
2025-04-03 17:09:56 +01:00
Marcin Kurczewski
6e27f24264
tr1/output/sprites: do not interpolate texture layer
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-01 23:48:39 +02:00
Marcin Kurczewski
c0ff49461c
tr1/output/sprites: fix small mistakes
2025-04-01 23:48:39 +02:00
Marcin Kurczewski
88870ef539
tr1/output/sprites: simplify projection matrix
2025-04-01 23:48:39 +02:00
Marcin Kurczewski
e88764f280
tr1: release 4.9
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-31 14:12:05 +02:00
Marcin Kurczewski
a52d1efc81
docs/tr1: release 4.9
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
2025-03-31 14:11:39 +02:00
Marcin Kurczewski
41155eed25
tr1: release 4.9
2025-03-31 14:10:31 +02:00
Marcin Kurczewski
85235ce6a3
docs/tr1: release 4.9
2025-03-31 14:10:17 +02:00
Marcin Kurczewski
3f76e74ed5
build: merge Docker images
2025-03-31 14:09:23 +02:00
Marcin Kurczewski
e048bad1b6
build: split justfile into smaller files; add groups
2025-03-31 14:09:23 +02:00
Marcin Kurczewski
12661fe6e6
docs: fix wording
2025-03-31 12:44:25 +02:00
Marcin Kurczewski
3e2206906e
build: add TR2 installer automatic builds
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-30 12:34:54 +01:00
lahm86
e2bcd1aeb7
docs: update docs
2025-03-30 12:34:54 +01:00
lahm86
0618baebc9
tools/installer: create TR2 installer
...
This creates a TR2 installer in similar fashion to TR1. The installers
themselves are basically directory tree copiers, rather than having to
extract from BIN/ISO like TR1.
2025-03-30 12:34:54 +01:00
lahm86
b670eaa16a
tr2/data: create images directory
...
This updates the game flows to look in a dedicated images directory in
order to tidy up the main data folder. Default images provided as PNG
to avoid users having to copy manually.
2025-03-30 12:34:54 +01:00
lahm86
5fb3f84fed
tools/installer: standardize output paths
...
This standardizes output paths to conform with shipped TRX data.
Folders and files created within the target folder will be in
lower-case; PCX files will be copied to a sub-directory within images
as TRX ships with custom images, and this as a result keeps the data
folder tidy.
2025-03-30 12:34:54 +01:00
lahm86
24fb920cd1
tools/installer: rename solution
2025-03-30 12:34:54 +01:00
lahm86
417e7486c8
tools/installer: decouple shortcut and expansion logic
...
This decouples the shortcut creation so it can be used generically in
either game. It also allows for the expansion pack zip names to be
defined externally rather than guessing from the selected type.
2025-03-30 12:34:54 +01:00
lahm86
cf8fc3d6bf
tools/installer: migrate TR1X installer
...
This migrates the TR1X installer to use the new common library.
2025-03-30 12:34:54 +01:00
lahm86
6142621274
tools/installer: hide expansion options unless enabled
2025-03-30 12:34:54 +01:00
lahm86
365cff79c1
tools/installer: move language to external file
...
This moves all language used in the installer to an embedded JSON file
to allow for customisation per game.
2025-03-30 12:34:54 +01:00
lahm86
e16fcda94b
tools/installer: create common installer library
...
This creates a generic common installer WPF library for both games.
2025-03-30 12:34:54 +01:00