tr2/lara/misc: fix landing damage check

This brings TR2 into line with TR1 when Lara has landed bad, so that
later checks can make decisions on the goal anim state more accurately.

Resolves #2575.
This commit is contained in:
lahm86 2025-03-06 09:55:59 +00:00
parent 07e469b68a
commit 206b4d5cb5
3 changed files with 6 additions and 3 deletions

View file

@ -3,6 +3,7 @@
- added a `/wireframe` console command (#2500)
- fixed smashed windows blocking enemy pathing after loading a save (#2535)
- fixed several instances of the camera going out of bounds (#1034)
- fixed Lara getting stuck in a T-pose after jumping/falling and then dying before reaching fast fall speed (#2575)
- fixed a rare issue whereby Lara would be unable to move after disposing a flare (#2545, regression from 0.9)
- fixed flare pickups only adding one flare to Lara's inventory rather than six (#2551, regression from 0.9)
- fixed play any level causing the game to hang when no gym level is present (#2560, regression from 0.9)

View file

@ -79,6 +79,7 @@ game with new enhancements and features.
- **Floating Islands**: fixed door 72's position to resolve the invisible wall in front of it
- fixed the game crashing if a cinematic is triggered but the level contains no cinematic frames
- fixed smashed windows blocking enemy pathing after loading a save
- fixed Lara getting stuck in a T-pose after jumping/falling and then dying before reaching fast fall speed
- improved the animation of Lara's braid
#### Cheats

View file

@ -795,12 +795,13 @@ int32_t Lara_LandedBad(ITEM *item, COLL_INFO *coll)
return 0;
}
if (land_speed <= DAMAGE_LENGTH) {
item->hit_points += -LARA_MAX_HITPOINTS * land_speed * land_speed
/ (DAMAGE_LENGTH * DAMAGE_LENGTH);
Lara_TakeDamage(
LARA_MAX_HITPOINTS * SQUARE(land_speed) / SQUARE(DAMAGE_LENGTH),
false);
} else {
item->hit_points = -1;
}
return item->hit_points <= 0;
return item->hit_points < 0;
}
int32_t Lara_CheckForLetGo(ITEM *item, COLL_INFO *coll)