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, rct_tile_element *tileElement, rct_tile_element *surfaceElement,
Ride *ride, rct_ride_entry *rideEntry Ride *ride, rct_ride_entry *rideEntry
) override { ) override {
if (variant == 0) { if (variant == 0)
tileElement->properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; {
} else { track_element_clear_cable_lift(tileElement);
tileElement->properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; }
else
{
track_element_set_cable_lift(tileElement);
} }
} }
}; };
@ -127,10 +130,13 @@ public:
rct_tile_element *tileElement, rct_tile_element *surfaceElement, rct_tile_element *tileElement, rct_tile_element *surfaceElement,
Ride *ride, rct_ride_entry *rideEntry Ride *ride, rct_ride_entry *rideEntry
) override { ) override {
if (variant == 0) { if (variant == 0)
tileElement->properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_INVERTED; {
} else { track_element_clear_cable_lift(tileElement);
tileElement->properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_INVERTED; }
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; 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; tileElement.base_height = 3;
if (_invertedTrack) if (_invertedTrack)
{ {
tileElement.properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_INVERTED; track_element_set_inverted(tileElement, true);
} }
g_currently_drawn_item = &tileElement; g_currently_drawn_item = &tileElement;
@ -450,7 +450,7 @@ private:
if (_rideType == RIDE_TYPE_GIGA_COASTER) if (_rideType == RIDE_TYPE_GIGA_COASTER)
{ {
tileElement.type = 0; tileElement.type = 0;
tileElement.properties.track.colour |= TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; track_element_set_cable_lift(tileElement);
PaintIntercept::ClearCalls(); PaintIntercept::ClearCalls();
CallOriginal(trackType, direction, trackSequence, height, &tileElement); CallOriginal(trackType, direction, trackSequence, height, &tileElement);
numCalls = PaintIntercept::GetCalls(callBuffer); numCalls = PaintIntercept::GetCalls(callBuffer);
@ -463,7 +463,7 @@ private:
RCT2_GLOBAL(0x009DE56A, sint16) = 64 + 32; RCT2_GLOBAL(0x009DE56A, sint16) = 64 + 32;
RCT2_GLOBAL(0x009DE56E, sint16) = 64; RCT2_GLOBAL(0x009DE56E, sint16) = 64;
tileElement.type = 0; tileElement.type = 0;
tileElement.properties.track.colour &= ~TRACK_ELEMENT_COLOUR_FLAG_CABLE_LIFT; track_element_clear_cable_lift(tileElement);
PaintIntercept::ClearCalls(); PaintIntercept::ClearCalls();
CallOriginal(trackType, direction, trackSequence, height, &tileElement); CallOriginal(trackType, direction, trackSequence, height, &tileElement);
numCalls = PaintIntercept::GetCalls(callBuffer); numCalls = PaintIntercept::GetCalls(callBuffer);