1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-26 08:14:38 +01:00

Create struct VAngleAndBank and simplify code

This commit is contained in:
hdpoliveira
2020-06-14 20:45:42 -03:00
parent d3d853b7d6
commit affa0dd30b
3 changed files with 58 additions and 36 deletions

View File

@@ -233,8 +233,7 @@ bool Vehicle::CableLiftUpdateTrackMotionForwards()
uint16_t trackTotalProgress = vehicle_get_move_info_size(TrackSubposition, track_type);
if (trackProgress >= trackTotalProgress)
{
_vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_end;
_vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_end;
_vehicleVAngleAndBank = VAngleAndBankEnd(trackType);
TileElement* trackElement = map_get_track_element_at_of_type_seq(TrackLocation, trackType, 0);
CoordsXYE output;
@@ -246,8 +245,7 @@ bool Vehicle::CableLiftUpdateTrackMotionForwards()
if (!track_block_get_next(&input, &output, &outputZ, &outputDirection))
return false;
if (TrackDefinitions[output.element->AsTrack()->GetTrackType()].vangle_start != _vehicleVAngleEndF64E36
|| TrackDefinitions[output.element->AsTrack()->GetTrackType()].bank_start != _vehicleBankEndF64E37)
if (_vehicleVAngleAndBank != VAngleAndBankStart(output.element->AsTrack()->GetTrackType()))
return false;
TrackLocation = { output, outputZ };
@@ -300,8 +298,7 @@ bool Vehicle::CableLiftUpdateTrackMotionBackwards()
if (static_cast<int16_t>(trackProgress) == -1)
{
uint8_t trackType = GetTrackType();
_vehicleVAngleEndF64E36 = TrackDefinitions[trackType].vangle_start;
_vehicleBankEndF64E37 = TrackDefinitions[trackType].bank_start;
_vehicleVAngleAndBank = VAngleAndBankStart(trackType);
TileElement* trackElement = map_get_track_element_at_of_type_seq(TrackLocation, trackType, 0);
@@ -311,8 +308,7 @@ bool Vehicle::CableLiftUpdateTrackMotionBackwards()
if (!track_block_get_previous(input, &output))
return false;
if (TrackDefinitions[output.begin_element->AsTrack()->GetTrackType()].vangle_end != _vehicleVAngleEndF64E36
|| TrackDefinitions[output.begin_element->AsTrack()->GetTrackType()].bank_end != _vehicleBankEndF64E37)
if (_vehicleVAngleAndBank != VAngleAndBankEnd(output.begin_element->AsTrack()->GetTrackType()))
return false;
TrackLocation = { output.begin_x, output.begin_y, output.begin_z };