This resets the selected key item when the inventory is closed to avoid
it being pre-selected to a non-existent item when the inventory is
re-opened.
Resolves#1586.
This adds the ability to define descriptions for key, puzzle and
pickups items in the gameflow. Players can examine items that have a
description in the inventory. Indicators are shown to make this clear,
the idea being builders may want to use this feature to offer hints.
Description text is automatically wrapped to fit the screen, and very
long text will be paginated. New line and feed escape sequences are
supported in the text for manual layout.
This also removes the necessesity of having an empty strings object in
levels that don't have any key items.
Additionally, the update_gameflow tool has been adjusted to support the
use of curly braces inside strings (and indeed nested objects).
Resolves#1821.
This refactors the enforced config control from #1854 into the gameflow
and removes the legacy settings for enforcing game modes and save
crystals.
Resolves#1857.
This allows an enforced object to be defined in the config file, within
which any regular config setting can be defined, and the values from
here will be enforced in the game.
Enforced settings are not shown in the config tool, but will be
preserved on write.
Resolves#1846.
This injects additional state changes to the swimming animation to
allow Lara to enter the glide state on more frame ranges, similar to
TR2+.
Resolves#1004.
This merges responsive jumping with Lara's main enhances animations
injection. The state changes that were part of the jumping injection
are now present as well as the original state changes, so allowing the
engine to pick the correct ones based on the player's setting.
Resolves#1823.
This will save the current music track and a flag to indicate whether
or not it's looped, so that on load, the correct start-up for it is
applied. This also changes the related config option from a bool to an
enum with options for never, non-ambient, and always.
Resolves#1769.
This fixes the controls menu for text scales 0.8 and 0.9 such that the
menu doesn't extend to the bottom of the screen or overlap the
inventory "Controls" text.
Resolves#1783.
This allows item drops to be defined in the level data in the same
fashion as TR2, so any pickup item that is in the same position as an
enemy will be carried by that enemy. The gameflow approach is retained
for OG levels, and the provided gameflow setting will default to this.
Resolves#1713.
This injects the missing animation commands for pushblock types 2, 3
and 4 in Natla's Mines, so they play 4 scrapes on the pull animation in
line with every other pushblock in the game.
Resolves#1714.