mirror of https://github.com/OpenRCT2/OpenRCT2.git
Include AlternativeTrackTypes
This commit is contained in:
parent
0e42554f73
commit
dd2178c7cf
|
@ -30179,3 +30179,263 @@ const rct_vehicle_info_list **gTrackVehicleInfo[17] = {
|
||||||
TrackVehicleInfoList_8B9F98,
|
TrackVehicleInfoList_8B9F98,
|
||||||
TrackVehicleInfoList_8BAD28,
|
TrackVehicleInfoList_8BAD28,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** rct2: 0x00993D1C */
|
||||||
|
const sint16 AlternativeTrackTypes[256] = {
|
||||||
|
TRACK_ELEM_FLAT_COVERED, // TRACK_ELEM_FLAT
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
TRACK_ELEM_25_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP
|
||||||
|
TRACK_ELEM_60_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP
|
||||||
|
TRACK_ELEM_FLAT_TO_25_DEG_UP_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_UP
|
||||||
|
TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP_COVERED, // TRACK_ELEM_25_DEG_UP_TO_60_DEG_UP
|
||||||
|
TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP_COVERED, // TRACK_ELEM_60_DEG_UP_TO_25_DEG_UP
|
||||||
|
TRACK_ELEM_25_DEG_UP_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_UP_TO_FLAT
|
||||||
|
TRACK_ELEM_25_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN
|
||||||
|
TRACK_ELEM_60_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN
|
||||||
|
TRACK_ELEM_FLAT_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_FLAT_TO_25_DEG_DOWN
|
||||||
|
TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_60_DEG_DOWN
|
||||||
|
TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN_COVERED, // TRACK_ELEM_60_DEG_DOWN_TO_25_DEG_DOWN
|
||||||
|
TRACK_ELEM_25_DEG_DOWN_TO_FLAT_COVERED, // TRACK_ELEM_25_DEG_DOWN_TO_FLAT
|
||||||
|
TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES
|
||||||
|
TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
TRACK_ELEM_S_BEND_LEFT_COVERED, // TRACK_ELEM_S_BEND_LEFT
|
||||||
|
TRACK_ELEM_S_BEND_RIGHT_COVERED, // TRACK_ELEM_S_BEND_RIGHT
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_LEFT_QUARTER_TURN_3_TILES
|
||||||
|
TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES_COVERED, // TRACK_ELEM_RIGHT_QUARTER_TURN_3_TILES
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
-1,
|
||||||
|
};
|
||||||
|
|
|
@ -58,3 +58,5 @@ typedef struct {
|
||||||
} rct_vehicle_info_list;
|
} rct_vehicle_info_list;
|
||||||
|
|
||||||
extern const rct_vehicle_info_list **gTrackVehicleInfo[17];
|
extern const rct_vehicle_info_list **gTrackVehicleInfo[17];
|
||||||
|
|
||||||
|
extern const sint16 AlternativeTrackTypes[256];
|
||||||
|
|
|
@ -2589,7 +2589,10 @@ static bool sub_6CA2DF(int *_trackType, int *_trackDirection, int *_rideIndex, i
|
||||||
|
|
||||||
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES) && _currentTrackCovered & 1) {
|
if (ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_TRACK_ELEMENTS_HAVE_TWO_VARIETIES) && _currentTrackCovered & 1) {
|
||||||
if (ride->type != RIDE_TYPE_WATER_COASTER || trackType == TRACK_ELEM_FLAT || trackType == TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES || trackType == TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES) {
|
if (ride->type != RIDE_TYPE_WATER_COASTER || trackType == TRACK_ELEM_FLAT || trackType == TRACK_ELEM_LEFT_QUARTER_TURN_5_TILES || trackType == TRACK_ELEM_RIGHT_QUARTER_TURN_5_TILES) {
|
||||||
trackType = RCT2_GLOBAL(0x00993D1C + trackType, uint8);
|
sint16 alternativeType = AlternativeTrackTypes[trackType];
|
||||||
|
if (alternativeType > -1) {
|
||||||
|
trackType = (uint8) alternativeType;
|
||||||
|
}
|
||||||
edxRS16 &= 0xFFFE; // unsets 0x1
|
edxRS16 &= 0xFFFE; // unsets 0x1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue