Apply changes to Testpaint

This commit is contained in:
Michael Steenbeek 2017-11-14 13:27:30 +01:00
parent 953d6840f4
commit 5a7ace134f
3 changed files with 32 additions and 11 deletions

View File

@ -69,10 +69,13 @@ public:
rct_tile_element *tileElement, rct_tile_element *surfaceElement,
Ride *ride, rct_ride_entry *rideEntry
) override {
if (variant == 0) {
tileElement->properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT;
} else {
tileElement->properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT;
if (variant == 0)
{
track_element_clear_cable_lift(tileElement);
}
else
{
track_element_set_cable_lift(tileElement);
}
}
};
@ -127,10 +130,13 @@ public:
rct_tile_element *tileElement, rct_tile_element *surfaceElement,
Ride *ride, rct_ride_entry *rideEntry
) override {
if (variant == 0) {
tileElement->properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_INVERTED;
} else {
tileElement->properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_INVERTED;
if (variant == 0)
{
track_element_clear_cable_lift(tileElement);
}
else
{
track_element_set_cable_lift(tileElement);
}
}
};

View File

@ -247,3 +247,18 @@ uint8 track_element_get_colour_scheme(const rct_tile_element * tileElement)
{
return tileElement->properties.track.colour & 0x3;
}
uint16 track_element_get_maze_entry(const rct_tile_element * tileElement)
{
return tileElement->properties.track.maze_entry;
}
uint8 track_element_get_ride_index(const rct_tile_element * tileElement)
{
return tileElement->properties.track.ride_index;
}
void track_element_set_ride_index(rct_tile_element * tileElement, uint8 rideIndex)
{
tileElement->properties.track.ride_index = rideIndex;
}

View File

@ -411,7 +411,7 @@ private:
tileElement.base_height = 3;
if (_invertedTrack)
{
tileElement.properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_INVERTED;
track_element_set_inverted(tileElement, true);
}
g_currently_drawn_item = &tileElement;
@ -450,7 +450,7 @@ private:
if (_rideType == RIDE_TYPE_GIGA_COASTER)
{
tileElement.type = 0;
tileElement.properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT;
track_element_set_cable_lift(tileElement);
PaintIntercept::ClearCalls();
CallOriginal(trackType, direction, trackSequence, height, &tileElement);
numCalls = PaintIntercept::GetCalls(callBuffer);
@ -463,7 +463,7 @@ private:
RCT2_GLOBAL(0x009DE56A, sint16) = 64 + 32;
RCT2_GLOBAL(0x009DE56E, sint16) = 64;
tileElement.type = 0;
tileElement.properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT;
track_element_clear_cable_lift(tileElement);
PaintIntercept::ClearCalls();
CallOriginal(trackType, direction, trackSequence, height, &tileElement);
numCalls = PaintIntercept::GetCalls(callBuffer);