mirror of https://github.com/OpenRCT2/OpenRCT2.git
Remove rotation argument from sub_98196C
This commit is contained in:
parent
0bf250d8b8
commit
c420fb56f5
|
@ -749,16 +749,17 @@ void paint_session_free(paint_session * session)
|
||||||
* @param bound_box_length_y (si)
|
* @param bound_box_length_y (si)
|
||||||
* @param bound_box_length_z (ah)
|
* @param bound_box_length_z (ah)
|
||||||
* @param z_offset (dx)
|
* @param z_offset (dx)
|
||||||
* @param rotation (ebp)
|
|
||||||
* @return (ebp) paint_struct on success (CF == 0), nullptr on failure (CF == 1)
|
* @return (ebp) paint_struct on success (CF == 0), nullptr on failure (CF == 1)
|
||||||
*/
|
*/
|
||||||
paint_struct * sub_98196C(
|
paint_struct * sub_98196C(
|
||||||
paint_session * session,
|
paint_session * session,
|
||||||
uint32 image_id,
|
uint32 image_id,
|
||||||
sint8 x_offset, sint8 y_offset,
|
sint8 x_offset,
|
||||||
sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z,
|
sint8 y_offset,
|
||||||
sint16 z_offset,
|
sint16 bound_box_length_x,
|
||||||
uint32 rotation)
|
sint16 bound_box_length_y,
|
||||||
|
sint8 bound_box_length_z,
|
||||||
|
sint16 z_offset)
|
||||||
{
|
{
|
||||||
assert((uint16)bound_box_length_x == (sint16)bound_box_length_x);
|
assert((uint16)bound_box_length_x == (sint16)bound_box_length_x);
|
||||||
assert((uint16)bound_box_length_y == (sint16)bound_box_length_y);
|
assert((uint16)bound_box_length_y == (sint16)bound_box_length_y);
|
||||||
|
@ -794,7 +795,7 @@ paint_struct * sub_98196C(
|
||||||
bound_box_length_z,
|
bound_box_length_z,
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (rotation)
|
switch (session->CurrentRotation)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
rotate_map_coordinates(&coord_3d.x, &coord_3d.y, TILE_ELEMENT_DIRECTION_WEST);
|
rotate_map_coordinates(&coord_3d.x, &coord_3d.y, TILE_ELEMENT_DIRECTION_WEST);
|
||||||
|
@ -834,7 +835,7 @@ paint_struct * sub_98196C(
|
||||||
ps->bounds.z = coord_3d.z;
|
ps->bounds.z = coord_3d.z;
|
||||||
ps->bounds.z_end = (boundBox.z + coord_3d.z);
|
ps->bounds.z_end = (boundBox.z + coord_3d.z);
|
||||||
|
|
||||||
LocationXY16 map = coordinate_3d_to_2d(&coord_3d, rotation);
|
LocationXY16 map = coordinate_3d_to_2d(&coord_3d, session->CurrentRotation);
|
||||||
|
|
||||||
ps->x = map.x;
|
ps->x = map.x;
|
||||||
ps->y = map.y;
|
ps->y = map.y;
|
||||||
|
@ -866,7 +867,7 @@ paint_struct * sub_98196C(
|
||||||
session->UnkF1AD28 = ps;
|
session->UnkF1AD28 = ps;
|
||||||
|
|
||||||
sint32 positionHash = 0;
|
sint32 positionHash = 0;
|
||||||
switch (rotation)
|
switch (session->CurrentRotation)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
positionHash = coord_3d.y + coord_3d.x;
|
positionHash = coord_3d.y + coord_3d.x;
|
||||||
|
|
|
@ -176,7 +176,15 @@ extern uint8 gClipHeight;
|
||||||
extern bool gShowDirtyVisuals;
|
extern bool gShowDirtyVisuals;
|
||||||
extern bool gPaintBoundingBoxes;
|
extern bool gPaintBoundingBoxes;
|
||||||
|
|
||||||
paint_struct * sub_98196C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, uint32 rotation);
|
paint_struct * sub_98196C(
|
||||||
|
paint_session * session,
|
||||||
|
uint32 image_id,
|
||||||
|
sint8 x_offset,
|
||||||
|
sint8 y_offset,
|
||||||
|
sint16 bound_box_length_x,
|
||||||
|
sint16 bound_box_length_y,
|
||||||
|
sint8 bound_box_length_z,
|
||||||
|
sint16 z_offset);
|
||||||
paint_struct * sub_98197C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
|
paint_struct * sub_98197C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
|
||||||
paint_struct * sub_98198C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
|
paint_struct * sub_98198C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
|
||||||
paint_struct * sub_98199C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
|
paint_struct * sub_98199C(paint_session * session, uint32 image_id, sint8 x_offset, sint8 y_offset, sint16 bound_box_length_x, sint16 bound_box_length_y, sint8 bound_box_length_z, sint16 z_offset, sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z, uint32 rotation);
|
||||||
|
|
|
@ -27,9 +27,11 @@ paint_struct * sub_98196C_rotated(
|
||||||
sint16 z_offset)
|
sint16 z_offset)
|
||||||
{
|
{
|
||||||
if (direction & 1) {
|
if (direction & 1) {
|
||||||
return sub_98196C(session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, get_current_rotation());
|
return sub_98196C(
|
||||||
|
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset);
|
||||||
} else {
|
} else {
|
||||||
return sub_98196C(session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, get_current_rotation());
|
return sub_98196C(
|
||||||
|
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -425,7 +425,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
|
||||||
// Draw flat base support
|
// Draw flat base support
|
||||||
if (drawFlatPiece) {
|
if (drawFlatPiece) {
|
||||||
sint32 imageId = WoodenSupportImageIds[supportType].flat | imageColourFlags;
|
sint32 imageId = WoodenSupportImageIds[supportType].flat | imageColourFlags;
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 0, z - 2, rotation);
|
sub_98196C(session, imageId, 0, 0, 32, 32, 0, z - 2);
|
||||||
hasSupports = true;
|
hasSupports = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -435,7 +435,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
|
||||||
// Full support
|
// Full support
|
||||||
sint32 imageId = WoodenSupportImageIds[supportType].full | imageColourFlags;
|
sint32 imageId = WoodenSupportImageIds[supportType].full | imageColourFlags;
|
||||||
uint8 ah = height == 2 ? 23 : 28;
|
uint8 ah = height == 2 ? 23 : 28;
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z, rotation);
|
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z);
|
||||||
hasSupports = true;
|
hasSupports = true;
|
||||||
z += 32;
|
z += 32;
|
||||||
height -= 2;
|
height -= 2;
|
||||||
|
@ -443,7 +443,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
|
||||||
// Half support
|
// Half support
|
||||||
sint32 imageId = WoodenSupportImageIds[supportType].half | imageColourFlags;
|
sint32 imageId = WoodenSupportImageIds[supportType].half | imageColourFlags;
|
||||||
uint8 ah = height == 1 ? 7 : 12;
|
uint8 ah = height == 1 ? 7 : 12;
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z, rotation);
|
sub_98196C(session, imageId, 0, 0, 32, 32, ah, z);
|
||||||
hasSupports = true;
|
hasSupports = true;
|
||||||
z += 16;
|
z += 16;
|
||||||
height -= 1;
|
height -= 1;
|
||||||
|
@ -587,13 +587,7 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
|
||||||
if (heightSteps == 0) {
|
if (heightSteps == 0) {
|
||||||
skipTo663004 = true;
|
skipTo663004 = true;
|
||||||
} else {
|
} else {
|
||||||
sub_98196C(session,
|
sub_98196C(session, WoodenSupportImageIds[supportType].flat | imageColourFlags, 0, 0, 32, 32, 0, baseHeight - 2);
|
||||||
WoodenSupportImageIds[supportType].flat | imageColourFlags,
|
|
||||||
0, 0,
|
|
||||||
32, 32, 0,
|
|
||||||
baseHeight - 2,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
_9E32B1 = true;
|
_9E32B1 = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -601,24 +595,16 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
|
||||||
if (!skipTo663004) {
|
if (!skipTo663004) {
|
||||||
while (heightSteps > 0) {
|
while (heightSteps > 0) {
|
||||||
if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == session->WaterHeight) {
|
if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == session->WaterHeight) {
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
WoodenSupportImageIds[supportType].half | imageColourFlags,
|
session, WoodenSupportImageIds[supportType].half | imageColourFlags, 0, 0, 32, 32,
|
||||||
0, 0,
|
((heightSteps == 1) ? 7 : 12), baseHeight);
|
||||||
32, 32, ((heightSteps == 1) ? 7 : 12),
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
heightSteps -= 1;
|
heightSteps -= 1;
|
||||||
baseHeight += 16;
|
baseHeight += 16;
|
||||||
_9E32B1 = true;
|
_9E32B1 = true;
|
||||||
} else {
|
} else {
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
WoodenSupportImageIds[supportType].full | imageColourFlags,
|
session, WoodenSupportImageIds[supportType].full | imageColourFlags, 0, 0, 32, 32,
|
||||||
0, 0,
|
((heightSteps == 2) ? 23 : 28), baseHeight);
|
||||||
32, 32, ((heightSteps == 2) ? 23 : 28),
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
heightSteps -= 2;
|
heightSteps -= 2;
|
||||||
baseHeight += 32;
|
baseHeight += 32;
|
||||||
_9E32B1 = true;
|
_9E32B1 = true;
|
||||||
|
@ -732,7 +718,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
|
|
||||||
uint32 image_id = _metalSupportTypeToCrossbeamImages[supportType][ebp];
|
uint32 image_id = _metalSupportTypeToCrossbeamImages[supportType][ebp];
|
||||||
image_id |= imageColourFlags;
|
image_id |= imageColourFlags;
|
||||||
sub_98196C(session, image_id, xOffset, yOffset, boundBoxLengthX, boundBoxLengthY, 1, height, rotation);
|
sub_98196C(session, image_id, xOffset, yOffset, boundBoxLengthX, boundBoxLengthY, 1, height);
|
||||||
|
|
||||||
segment = newSegment;
|
segment = newSegment;
|
||||||
}
|
}
|
||||||
|
@ -751,7 +737,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
image_id += metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
|
image_id += metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
|
||||||
image_id |= imageColourFlags;
|
image_id |= imageColourFlags;
|
||||||
|
|
||||||
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, 5, supportSegments[segment].height, rotation);
|
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, 5, supportSegments[segment].height);
|
||||||
|
|
||||||
height = supportSegments[segment].height + 6;
|
height = supportSegments[segment].height + 6;
|
||||||
}
|
}
|
||||||
|
@ -774,8 +760,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
image_id += heightDiff - 1;
|
image_id += heightDiff - 1;
|
||||||
image_id |= imageColourFlags;
|
image_id |= imageColourFlags;
|
||||||
|
|
||||||
|
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, heightDiff - 1, height);
|
||||||
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, heightDiff - 1, height, rotation);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
height += heightDiff;
|
height += heightDiff;
|
||||||
|
@ -804,7 +789,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
if (count == 3 && z == 0x10)
|
if (count == 3 && z == 0x10)
|
||||||
image_id++;
|
image_id++;
|
||||||
|
|
||||||
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, z - 1, height, rotation);
|
sub_98196C(session, image_id, xOffset, yOffset, 0, 0, z - 1, height);
|
||||||
|
|
||||||
height += z;
|
height += z;
|
||||||
}
|
}
|
||||||
|
@ -917,13 +902,10 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
return true; // STC
|
return true; // STC
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
_metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags,
|
session, _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags,
|
||||||
loc_97AF20[originalSegment].x + loc_97B052[ebp].x, loc_97AF20[originalSegment].y + loc_97B052[ebp].y,
|
loc_97AF20[originalSegment].x + loc_97B052[ebp].x, loc_97AF20[originalSegment].y + loc_97B052[ebp].y,
|
||||||
_97B062[ebp].x, _97B062[ebp].y, 1,
|
_97B062[ebp].x, _97B062[ebp].y, 1, baseHeight);
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sint32 si = baseHeight;
|
sint32 si = baseHeight;
|
||||||
|
@ -936,13 +918,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
uint32 imageOffset = metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
|
uint32 imageOffset = metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
|
||||||
uint32 imageId = _97B15C[supportType].base_id + imageOffset;
|
uint32 imageId = _97B15C[supportType].base_id + imageOffset;
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
imageId | imageColourFlags,
|
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, 5,
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
supportSegments[segment].height);
|
||||||
0, 0, 5,
|
|
||||||
supportSegments[segment].height,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
|
|
||||||
baseHeight = supportSegments[segment].height + 6;
|
baseHeight = supportSegments[segment].height + 6;
|
||||||
}
|
}
|
||||||
|
@ -954,13 +932,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
|
|
||||||
heightDiff -= baseHeight;
|
heightDiff -= baseHeight;
|
||||||
if (heightDiff > 0) {
|
if (heightDiff > 0) {
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
(_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags,
|
session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, loc_97AF20[segment].x,
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
loc_97AF20[segment].y, 0, 0, heightDiff - 1, baseHeight);
|
||||||
0, 0, heightDiff - 1,
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
baseHeight += heightDiff;
|
baseHeight += heightDiff;
|
||||||
|
@ -991,13 +965,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
imageId | imageColourFlags,
|
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, beamLength - 1,
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
baseHeight);
|
||||||
0, 0, beamLength - 1,
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
|
|
||||||
baseHeight += beamLength;
|
baseHeight += beamLength;
|
||||||
i++;
|
i++;
|
||||||
|
@ -1076,13 +1046,7 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
|
||||||
|
|
||||||
if (session->Support.slope & 0x20) {
|
if (session->Support.slope & 0x20) {
|
||||||
//save dx2
|
//save dx2
|
||||||
sub_98196C(session,
|
sub_98196C(session, (pathEntry->bridge_image + 48) | imageColourFlags, 0, 0, 32, 32, 0, baseHeight - 2);
|
||||||
(pathEntry->bridge_image + 48) | imageColourFlags,
|
|
||||||
0, 0,
|
|
||||||
32, 32, 0,
|
|
||||||
baseHeight - 2,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
hasSupports = true;
|
hasSupports = true;
|
||||||
} else if (session->Support.slope & 0x10) {
|
} else if (session->Support.slope & 0x10) {
|
||||||
heightSteps -= 2;
|
heightSteps -= 2;
|
||||||
|
@ -1142,26 +1106,14 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
|
||||||
|
|
||||||
uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 23;
|
uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 23;
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 1) ? 7 : 12), baseHeight);
|
||||||
imageId | imageColourFlags,
|
|
||||||
0, 0,
|
|
||||||
32, 32, ((heightSteps == 1) ? 7 : 12),
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
heightSteps -= 1;
|
heightSteps -= 1;
|
||||||
baseHeight += 16;
|
baseHeight += 16;
|
||||||
hasSupports = true;
|
hasSupports = true;
|
||||||
} else {
|
} else {
|
||||||
uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 22;
|
uint32 imageId = (supportType * 24) + pathEntry->bridge_image + 22;
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 2) ? 23 : 28), baseHeight);
|
||||||
imageId | imageColourFlags,
|
|
||||||
0, 0,
|
|
||||||
32, 32, ((heightSteps == 2) ? 23 : 28),
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
heightSteps -= 2;
|
heightSteps -= 2;
|
||||||
baseHeight += 32;
|
baseHeight += 32;
|
||||||
hasSupports = true;
|
hasSupports = true;
|
||||||
|
@ -1246,13 +1198,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
|
||||||
uint8 imageOffset = metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
|
uint8 imageOffset = metal_supports_slope_image_map[supportSegments[segment].slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
|
||||||
baseHeight = supportSegments[segment].height;
|
baseHeight = supportSegments[segment].height;
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
(pathEntry->bridge_image + 37 + imageOffset) | imageColourFlags,
|
session, (pathEntry->bridge_image + 37 + imageOffset) | imageColourFlags, loc_97AF20[segment].x,
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
loc_97AF20[segment].y, 0, 0, 5, baseHeight);
|
||||||
0, 0, 5,
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
baseHeight += 6;
|
baseHeight += 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1267,13 +1215,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
|
||||||
heightDiff -= baseHeight;
|
heightDiff -= baseHeight;
|
||||||
|
|
||||||
if (heightDiff > 0) {
|
if (heightDiff > 0) {
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
(pathEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags,
|
session, (pathEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, loc_97AF20[segment].x,
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
loc_97AF20[segment].y, 0, 0, heightDiff - 1, baseHeight);
|
||||||
0, 0, heightDiff - 1,
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
baseHeight += heightDiff;
|
baseHeight += heightDiff;
|
||||||
|
@ -1299,13 +1243,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
(pathEntry->bridge_image + 20 + (z - 1)) | imageColourFlags,
|
session, (pathEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, loc_97AF20[segment].x,
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
loc_97AF20[segment].y, 0, 0, (z - 1), baseHeight);
|
||||||
0, 0, (z - 1),
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
|
|
||||||
baseHeight += z;
|
baseHeight += z;
|
||||||
}
|
}
|
||||||
|
@ -1319,13 +1259,8 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
|
||||||
imageId += 1;
|
imageId += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_98196C(session,
|
sub_98196C(
|
||||||
imageId | imageColourFlags,
|
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, (z - 1), baseHeight);
|
||||||
loc_97AF20[segment].x, loc_97AF20[segment].y,
|
|
||||||
0, 0, (z - 1),
|
|
||||||
baseHeight,
|
|
||||||
get_current_rotation()
|
|
||||||
);
|
|
||||||
|
|
||||||
baseHeight += z;
|
baseHeight += z;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
|
||||||
case SPRITE_MISC_STEAM_PARTICLE: // 0
|
case SPRITE_MISC_STEAM_PARTICLE: // 0
|
||||||
{
|
{
|
||||||
uint32 imageId = 22637 + (misc->steam_particle.frame / 256);
|
uint32 imageId = 22637 + (misc->steam_particle.frame / 256);
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,14 +69,14 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
|
||||||
rct_crashed_vehicle_particle particle = misc->crashed_vehicle_particle;
|
rct_crashed_vehicle_particle particle = misc->crashed_vehicle_particle;
|
||||||
uint32 imageId = vehicle_particle_base_sprites[particle.crashed_sprite_base] + particle.frame / 256;
|
uint32 imageId = vehicle_particle_base_sprites[particle.crashed_sprite_base] + particle.frame / 256;
|
||||||
imageId = imageId | (particle.colour[0] << 19) | (particle.colour[1] << 24) | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS;
|
imageId = imageId | (particle.colour[0] << 19) | (particle.colour[1] << 24) | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS;
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case SPRITE_MISC_EXPLOSION_CLOUD: // 3
|
case SPRITE_MISC_EXPLOSION_CLOUD: // 3
|
||||||
{
|
{
|
||||||
uint32 imageId = 22878 + (misc->unknown.frame / 256);
|
uint32 imageId = 22878 + (misc->unknown.frame / 256);
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
|
||||||
{
|
{
|
||||||
rct_crash_splash crashSplash = misc->crash_splash;
|
rct_crash_splash crashSplash = misc->crash_splash;
|
||||||
uint32 imageId = 22927 + (crashSplash.frame / 256);
|
uint32 imageId = 22927 + (crashSplash.frame / 256);
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, crashSplash.z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, crashSplash.z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
|
||||||
{
|
{
|
||||||
// Like a flare
|
// Like a flare
|
||||||
uint32 imageId = 22896 + (misc->unknown.frame / 256);
|
uint32 imageId = 22896 + (misc->unknown.frame / 256);
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, misc->unknown.z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
|
||||||
}
|
}
|
||||||
|
|
||||||
imageId = imageId | (balloon.colour << 19) | IMAGE_TYPE_REMAP;
|
imageId = imageId | (balloon.colour << 19) | IMAGE_TYPE_REMAP;
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, balloon.z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, balloon.z);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
|
||||||
rct_duck * duck = &misc->duck;
|
rct_duck * duck = &misc->duck;
|
||||||
uint32 imageId = duck_get_frame_image(&misc->duck, imageDirection);
|
uint32 imageId = duck_get_frame_image(&misc->duck, imageDirection);
|
||||||
if (imageId != 0) {
|
if (imageId != 0) {
|
||||||
sub_98196C(session, imageId, 0, 0, 1, 1, 0, duck->z, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 1, 1, 0, duck->z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -833,7 +833,7 @@ void path_paint(paint_session * session, uint8 direction, uint16 height, const r
|
||||||
height2 += 16;
|
height2 += 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_98196C(session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, 16, 16, 1, 1, 0, height2 + 2, get_current_rotation());
|
sub_98196C(session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, 16, 16, 1, 1, 0, height2 + 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -846,7 +846,7 @@ void path_paint(paint_session * session, uint8 direction, uint16 height, const r
|
||||||
uint32 imageId = (SPR_HEIGHT_MARKER_BASE + height2 / 16) | COLOUR_GREY << 19 | IMAGE_TYPE_REMAP;
|
uint32 imageId = (SPR_HEIGHT_MARKER_BASE + height2 / 16) | COLOUR_GREY << 19 | IMAGE_TYPE_REMAP;
|
||||||
imageId += get_height_marker_offset();
|
imageId += get_height_marker_offset();
|
||||||
imageId -= gMapBaseZ;
|
imageId -= gMapBaseZ;
|
||||||
sub_98196C(session, imageId, 16, 16, 1, 1, 0, height2, get_current_rotation());
|
sub_98196C(session, imageId, 16, 16, 1, 1, 0, height2);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 pathType = footpath_element_get_type(tile_element);
|
uint8 pathType = footpath_element_get_type(tile_element);
|
||||||
|
|
|
@ -660,7 +660,7 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
|
||||||
if (curHeight != regs.al && curHeight != regs.cl)
|
if (curHeight != regs.al && curHeight != regs.cl)
|
||||||
{
|
{
|
||||||
uint32 image_id = base_image_id + image_offset;
|
uint32 image_id = base_image_id + image_offset;
|
||||||
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation);
|
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16);
|
||||||
curHeight++;
|
curHeight++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -684,7 +684,7 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint32 image_id = base_image_id + image_offset;
|
const uint32 image_id = base_image_id + image_offset;
|
||||||
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation);
|
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -699,7 +699,7 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
|
||||||
|
|
||||||
if (isWater == true || curHeight != tunnelArray[tunnelIndex].height)
|
if (isWater == true || curHeight != tunnelArray[tunnelIndex].height)
|
||||||
{
|
{
|
||||||
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16, rotation);
|
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, curHeight * 16);
|
||||||
|
|
||||||
curHeight++;
|
curHeight++;
|
||||||
continue;
|
continue;
|
||||||
|
@ -854,7 +854,6 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
|
||||||
base_image_id = _terrainEdgeSpriteIds[terrain][1] + (edge == EDGE_TOPLEFT ? 5 : 0); // var_04
|
base_image_id = _terrainEdgeSpriteIds[terrain][1] + (edge == EDGE_TOPLEFT ? 5 : 0); // var_04
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint8 rotation = get_current_rotation();
|
|
||||||
uint8 cur_height = Math::Min(regs.ch, regs.ah);
|
uint8 cur_height = Math::Min(regs.ch, regs.ah);
|
||||||
if (regs.ch != regs.ah)
|
if (regs.ch != regs.ah)
|
||||||
{
|
{
|
||||||
|
@ -868,7 +867,7 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
|
||||||
if (cur_height != regs.al && cur_height != regs.cl)
|
if (cur_height != regs.al && cur_height != regs.cl)
|
||||||
{
|
{
|
||||||
const uint32 image_id = base_image_id + image_offset;
|
const uint32 image_id = base_image_id + image_offset;
|
||||||
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation);
|
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16);
|
||||||
cur_height++;
|
cur_height++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -882,7 +881,7 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
|
||||||
|
|
||||||
while (cur_height < regs.al && cur_height < regs.ah)
|
while (cur_height < regs.al && cur_height < regs.ah)
|
||||||
{
|
{
|
||||||
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation);
|
sub_98196C(session, base_image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16);
|
||||||
cur_height++;
|
cur_height++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -898,7 +897,7 @@ static void viewport_surface_draw_tile_side_top(paint_session * session, enum ed
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint32 image_id = base_image_id + image_offset;
|
const uint32 image_id = base_image_id + image_offset;
|
||||||
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16, rotation);
|
sub_98196C(session, image_id, offset.x, offset.y, bounds.x, bounds.y, 15, cur_height * 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1003,7 +1002,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
image_id += get_height_marker_offset();
|
image_id += get_height_marker_offset();
|
||||||
image_id -= gMapBaseZ;
|
image_id -= gMapBaseZ;
|
||||||
|
|
||||||
sub_98196C(session, image_id, 16, 16, 1, 1, 0, height, rotation);
|
sub_98196C(session, image_id, 16, 16, 1, 1, 0, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool has_surface = false;
|
bool has_surface = false;
|
||||||
|
@ -1093,7 +1092,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_98196C(session, image_id, 0, 0, 32, 32, -1, height, rotation);
|
sub_98196C(session, image_id, 0, 0, 32, 32, -1, height);
|
||||||
has_surface = true;
|
has_surface = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1138,11 +1137,11 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
{
|
{
|
||||||
if ((spawn.x & 0xFFE0) == pos.x && (spawn.y & 0xFFE0) == pos.y)
|
if ((spawn.x & 0xFFE0) == pos.x && (spawn.y & 0xFFE0) == pos.y)
|
||||||
{
|
{
|
||||||
sub_98196C(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn.z * 16, rotation);
|
sub_98196C(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn.z * 16);
|
||||||
|
|
||||||
const sint32 offset = ((spawn.direction ^ 2) + rotation) & 3;
|
const sint32 offset = ((spawn.direction ^ 2) + rotation) & 3;
|
||||||
const uint32 image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000;
|
const uint32 image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000;
|
||||||
sub_98196C(session, image_id, 0, 0, 32, 32, 19, spawn.z * 16, rotation);
|
sub_98196C(session, image_id, 0, 0, 32, 32, 19, spawn.z * 16);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1160,7 +1159,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
const LocationXY16& pos = session->MapPosition;
|
const LocationXY16& pos = session->MapPosition;
|
||||||
const sint32 height2 = (tile_element_height(pos.x + 16, pos.y + 16) & 0xFFFF) + 3;
|
const sint32 height2 = (tile_element_height(pos.x + 16, pos.y + 16) & 0xFFFF) + 3;
|
||||||
paint_struct * backup = session->UnkF1AD28;
|
paint_struct * backup = session->UnkF1AD28;
|
||||||
sub_98196C(session, SPR_LAND_OWNERSHIP_AVAILABLE, 16, 16, 1, 1, 0, height2, rotation);
|
sub_98196C(session, SPR_LAND_OWNERSHIP_AVAILABLE, 16, 16, 1, 1, 0, height2);
|
||||||
session->UnkF1AD28 = backup;
|
session->UnkF1AD28 = backup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1178,7 +1177,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
const LocationXY16& pos = session->MapPosition;
|
const LocationXY16& pos = session->MapPosition;
|
||||||
const sint32 height2 = tile_element_height(pos.x + 16, pos.y + 16) & 0xFFFF;
|
const sint32 height2 = tile_element_height(pos.x + 16, pos.y + 16) & 0xFFFF;
|
||||||
paint_struct * backup = session->UnkF1AD28;
|
paint_struct * backup = session->UnkF1AD28;
|
||||||
sub_98196C(session, SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE, 16, 16, 1, 1, 0, height2 + 3, rotation);
|
sub_98196C(session, SPR_LAND_CONSTRUCTION_RIGHTS_AVAILABLE, 16, 16, 1, 1, 0, height2 + 3);
|
||||||
session->UnkF1AD28 = backup;
|
session->UnkF1AD28 = backup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1258,7 +1257,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
const sint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[local_surfaceShape]) | 0x21300000;
|
const sint32 image_id = (SPR_TERRAIN_SELECTION_CORNER + byte_97B444[local_surfaceShape]) | 0x21300000;
|
||||||
|
|
||||||
paint_struct * backup = session->UnkF1AD28;
|
paint_struct * backup = session->UnkF1AD28;
|
||||||
sub_98196C(session, image_id, 0, 0, 32, 32, 1, local_height, rotation);
|
sub_98196C(session, image_id, 0, 0, 32, 32, 1, local_height);
|
||||||
session->UnkF1AD28 = backup;
|
session->UnkF1AD28 = backup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1359,7 +1358,7 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
const sint32 image_id = (SPR_WATER_MASK + image_offset) | IMAGE_TYPE_REMAP | IMAGE_TYPE_TRANSPARENT | PALETTE_WATER << 19;
|
const sint32 image_id = (SPR_WATER_MASK + image_offset) | IMAGE_TYPE_REMAP | IMAGE_TYPE_TRANSPARENT | PALETTE_WATER << 19;
|
||||||
sub_98196C(session, image_id, 0, 0, 32, 32, -1, waterHeight, rotation);
|
sub_98196C(session, image_id, 0, 0, 32, 32, -1, waterHeight);
|
||||||
|
|
||||||
paint_attach_to_previous_ps(session, SPR_WATER_OVERLAY + image_offset, 0, 0);
|
paint_attach_to_previous_ps(session, SPR_WATER_OVERLAY + image_offset, 0, 0);
|
||||||
|
|
||||||
|
|
|
@ -129,7 +129,7 @@ static void blank_tiles_paint(paint_session * session, sint32 x, sint32 y)
|
||||||
session->SpritePosition.x = x;
|
session->SpritePosition.x = x;
|
||||||
session->SpritePosition.y = y;
|
session->SpritePosition.y = y;
|
||||||
session->InteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
|
session->InteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
|
||||||
sub_98196C(session, 3123, 0, 0, 32, 32, -1, 16, get_current_rotation());
|
sub_98196C(session, 3123, 0, 0, 32, 32, -1, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool gShowSupportSegmentHeights = false;
|
bool gShowSupportSegmentHeights = false;
|
||||||
|
|
|
@ -401,7 +401,7 @@ static void track_paint_util_draw_station_impl(
|
||||||
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
|
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
|
||||||
session->TrackColours[SCHEME_SUPPORTS];
|
session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + fenceOffsetA, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + fenceOffsetA);
|
||||||
// height -= 5 (height)
|
// height -= 5 (height)
|
||||||
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, coverHeight);
|
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, coverHeight);
|
||||||
// height += 5 (height + 5)
|
// height += 5 (height + 5)
|
||||||
|
@ -419,7 +419,7 @@ static void track_paint_util_draw_station_impl(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + fenceOffsetA, get_current_rotation());
|
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + fenceOffsetA);
|
||||||
// height += 2 (height + 7)
|
// height += 2 (height + 7)
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
||||||
|
@ -437,19 +437,19 @@ static void track_paint_util_draw_station_impl(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||||
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
// height -= 7 (height)
|
// height -= 7 (height)
|
||||||
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, coverHeight);
|
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, coverHeight);
|
||||||
|
@ -458,12 +458,12 @@ static void track_paint_util_draw_station_impl(
|
||||||
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (direction == 1 || direction == 3)
|
else if (direction == 1 || direction == 3)
|
||||||
|
@ -496,7 +496,7 @@ static void track_paint_util_draw_station_impl(
|
||||||
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
|
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
|
||||||
session->TrackColours[SCHEME_SUPPORTS];
|
session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + fenceOffsetA);
|
||||||
// height -= 5 (height)
|
// height -= 5 (height)
|
||||||
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, coverHeight);
|
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, coverHeight);
|
||||||
// height += 5 (height + 5)
|
// height += 5 (height + 5)
|
||||||
|
@ -514,7 +514,7 @@ static void track_paint_util_draw_station_impl(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + fenceOffsetA, get_current_rotation());
|
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + fenceOffsetA);
|
||||||
// height += 2 (height + 7)
|
// height += 2 (height + 7)
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
||||||
|
@ -532,19 +532,19 @@ static void track_paint_util_draw_station_impl(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||||
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
|
|
||||||
// height -= 7 (height)
|
// height -= 7 (height)
|
||||||
|
@ -554,12 +554,12 @@ static void track_paint_util_draw_station_impl(
|
||||||
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + fenceOffsetB);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -611,7 +611,7 @@ void track_paint_util_draw_station_inverted(
|
||||||
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
|
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
|
||||||
session->TrackColours[SCHEME_SUPPORTS];
|
session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + 6, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + 6);
|
||||||
// height -= 5 (height)
|
// height -= 5 (height)
|
||||||
track_paint_util_draw_station_covers_2(session, EDGE_NW, hasFence, entranceStyle, direction, height, stationVariant);
|
track_paint_util_draw_station_covers_2(session, EDGE_NW, hasFence, entranceStyle, direction, height, stationVariant);
|
||||||
// height += 5 (height + 5)
|
// height += 5 (height + 5)
|
||||||
|
@ -629,7 +629,7 @@ void track_paint_util_draw_station_inverted(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 6, get_current_rotation());
|
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 6);
|
||||||
// height += 2 (height + 7)
|
// height += 2 (height + 7)
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
||||||
|
@ -647,19 +647,19 @@ void track_paint_util_draw_station_inverted(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_INVERTED_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_INVERTED_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 8);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||||
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 8);
|
||||||
}
|
}
|
||||||
// height -= 7 (height)
|
// height -= 7 (height)
|
||||||
track_paint_util_draw_station_covers_2(session, EDGE_SE, hasFence, entranceStyle, direction, height, stationVariant);
|
track_paint_util_draw_station_covers_2(session, EDGE_SE, hasFence, entranceStyle, direction, height, stationVariant);
|
||||||
|
@ -668,12 +668,12 @@ void track_paint_util_draw_station_inverted(
|
||||||
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 0)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 2)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (direction == 1 || direction == 3)
|
else if (direction == 1 || direction == 3)
|
||||||
|
@ -706,7 +706,7 @@ void track_paint_util_draw_station_inverted(
|
||||||
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
|
imageId = (hasFence ? SPR_STATION_PLATFORM_FENCED_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
|
||||||
session->TrackColours[SCHEME_SUPPORTS];
|
session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + 6, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + 6);
|
||||||
// height -= 5 (height)
|
// height -= 5 (height)
|
||||||
track_paint_util_draw_station_covers_2(session, EDGE_NE, hasFence, entranceStyle, direction, height, stationVariant);
|
track_paint_util_draw_station_covers_2(session, EDGE_NE, hasFence, entranceStyle, direction, height, stationVariant);
|
||||||
// height += 5 (height + 5)
|
// height += 5 (height + 5)
|
||||||
|
@ -724,7 +724,7 @@ void track_paint_util_draw_station_inverted(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 6, get_current_rotation());
|
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 6);
|
||||||
// height += 2 (height + 7)
|
// height += 2 (height + 7)
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
||||||
|
@ -742,19 +742,19 @@ void track_paint_util_draw_station_inverted(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_INVERTED_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_INVERTED_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 8);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
// Addition: draw only small fence if there is an entrance/exit at the beginning
|
||||||
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
||||||
{
|
{
|
||||||
// Addition: draw only small fence if there is an entrance/exit at the end
|
// Addition: draw only small fence if there is an entrance/exit at the end
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
// height -= 7 (height)
|
// height -= 7 (height)
|
||||||
|
@ -764,12 +764,12 @@ void track_paint_util_draw_station_inverted(
|
||||||
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
if (track_element_get_type(tileElement) == TRACK_ELEM_BEGIN_STATION && direction == 3)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8);
|
||||||
}
|
}
|
||||||
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
else if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && direction == 1)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_LIGHT_BACK_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -872,17 +872,17 @@ void track_paint_util_draw_station_platform(
|
||||||
bool hasFence = track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, get_current_rotation());
|
bool hasFence = track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, get_current_rotation());
|
||||||
uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NE : SPR_STATION_NARROW_EDGE_NE) |
|
uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NE : SPR_STATION_NARROW_EDGE_NE) |
|
||||||
session->TrackColours[SCHEME_SUPPORTS];
|
session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + zOffset, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 8, 32, 1, height + zOffset);
|
||||||
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
|
||||||
|
|
||||||
imageId = SPR_STATION_NARROW_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_NARROW_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + zOffset, get_current_rotation());
|
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + zOffset);
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
||||||
if (hasFence)
|
if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + zOffset + 2, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + zOffset + 2);
|
||||||
}
|
}
|
||||||
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
|
||||||
}
|
}
|
||||||
|
@ -891,17 +891,17 @@ void track_paint_util_draw_station_platform(
|
||||||
bool hasFence = track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, get_current_rotation());
|
bool hasFence = track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, get_current_rotation());
|
||||||
uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NW : SPR_STATION_NARROW_EDGE_NW) |
|
uint32 imageId = (hasFence ? SPR_STATION_NARROW_EDGE_FENCED_NW : SPR_STATION_NARROW_EDGE_NW) |
|
||||||
session->TrackColours[SCHEME_SUPPORTS];
|
session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + zOffset, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 8, 1, height + zOffset);
|
||||||
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
|
||||||
|
|
||||||
imageId = SPR_STATION_NARROW_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_NARROW_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + zOffset, get_current_rotation());
|
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + zOffset);
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
||||||
if (hasFence)
|
if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + zOffset + 2, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + zOffset + 2);
|
||||||
}
|
}
|
||||||
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
|
||||||
}
|
}
|
||||||
|
@ -929,13 +929,13 @@ void track_paint_util_draw_pier(
|
||||||
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
|
||||||
|
|
||||||
imageId = SPR_STATION_PIER_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PIER_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height);
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
||||||
if (hasFence)
|
if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_PIER_FENCE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PIER_FENCE_SW | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 2, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 2);
|
||||||
}
|
}
|
||||||
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
|
||||||
}
|
}
|
||||||
|
@ -948,13 +948,13 @@ void track_paint_util_draw_pier(
|
||||||
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
|
||||||
|
|
||||||
imageId = SPR_STATION_PIER_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PIER_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height, rotation);
|
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height);
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, rotation);
|
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, rotation);
|
||||||
if (hasFence)
|
if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_PIER_FENCE_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_PIER_FENCE_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 2, rotation);
|
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 2);
|
||||||
}
|
}
|
||||||
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
|
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
|
||||||
}
|
}
|
||||||
|
@ -1522,8 +1522,9 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_3(paint_session * session
|
||||||
|
|
||||||
const sprite_bb * spriteBB = &sprites[direction][sprite];
|
const sprite_bb * spriteBB = &sprites[direction][sprite];
|
||||||
uint32 imageId = spriteBB->sprite_id | colourFlags;
|
uint32 imageId = spriteBB->sprite_id | colourFlags;
|
||||||
sub_98196C(session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
|
sub_98196C(
|
||||||
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z, rotation);
|
session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
|
||||||
|
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
void track_paint_util_right_quarter_turn_5_tiles_tunnel(paint_session * session, sint16 height, uint8 direction,
|
void track_paint_util_right_quarter_turn_5_tiles_tunnel(paint_session * session, sint16 height, uint8 direction,
|
||||||
|
@ -1772,8 +1773,9 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_4(paint_session * session
|
||||||
|
|
||||||
const sprite_bb * spriteBB = &sprites[direction][sprite];
|
const sprite_bb * spriteBB = &sprites[direction][sprite];
|
||||||
uint32 imageId = spriteBB->sprite_id | colourFlags;
|
uint32 imageId = spriteBB->sprite_id | colourFlags;
|
||||||
sub_98196C(session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
|
sub_98196C(
|
||||||
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z, rotation);
|
session, imageId, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x, spriteBB->bb_size.y,
|
||||||
|
(sint8)spriteBB->bb_size.z, height + spriteBB->offset.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
void track_paint_util_right_quarter_turn_3_tiles_tunnel(paint_session * session, sint16 height, uint8 direction,
|
void track_paint_util_right_quarter_turn_3_tiles_tunnel(paint_session * session, sint16 height, uint8 direction,
|
||||||
|
@ -2068,24 +2070,24 @@ void track_paint_util_onride_photo_small_paint(
|
||||||
switch (direction)
|
switch (direction)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2106,24 +2108,24 @@ void track_paint_util_onride_photo_paint(
|
||||||
switch (direction)
|
switch (direction)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 26, 0, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 26, 31, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 6, 0, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 31, 6, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 0, 26, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 31, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 26, 31, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 26, 1, 1, 19, height);
|
||||||
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, imageId, 31, 26, 1, 1, 19, height);
|
||||||
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation());
|
sub_98196C(session, flashImageId, 31, 6, 1, 1, 19, height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2851,11 +2851,11 @@ static void junior_rc_s_bend_left_paint_setup(
|
||||||
LocationXY16 bounds = boundsList[trackSequence];
|
LocationXY16 bounds = boundsList[trackSequence];
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
@ -2956,11 +2956,11 @@ static void junior_rc_s_bend_right_paint_setup(
|
||||||
LocationXY16 bounds = boundsList[trackSequence];
|
LocationXY16 bounds = boundsList[trackSequence];
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
@ -3831,13 +3831,13 @@ static void junior_rc_brake_paint_setup(
|
||||||
image_id = junior_rc_track_pieces_brake[direction] | session->TrackColours[SCHEME_TRACK];
|
image_id = junior_rc_track_pieces_brake[direction] | session->TrackColours[SCHEME_TRACK];
|
||||||
if (direction & 1)
|
if (direction & 1)
|
||||||
{
|
{
|
||||||
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height, get_current_rotation());
|
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height);
|
||||||
|
|
||||||
paint_util_push_tunnel_right(session, height, TUNNEL_0);
|
paint_util_push_tunnel_right(session, height, TUNNEL_0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height, get_current_rotation());
|
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height);
|
||||||
|
|
||||||
paint_util_push_tunnel_left(session, height, TUNNEL_0);
|
paint_util_push_tunnel_left(session, height, TUNNEL_0);
|
||||||
}
|
}
|
||||||
|
@ -3872,13 +3872,13 @@ static void junior_rc_block_brake_paint_setup(
|
||||||
image_id = junior_rc_track_pieces_block_brake[isBraked][direction] | session->TrackColours[SCHEME_TRACK];
|
image_id = junior_rc_track_pieces_block_brake[isBraked][direction] | session->TrackColours[SCHEME_TRACK];
|
||||||
if (direction & 1)
|
if (direction & 1)
|
||||||
{
|
{
|
||||||
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height, get_current_rotation());
|
sub_98196C(session, image_id, 6, 0, 20, 32, 1, height);
|
||||||
|
|
||||||
paint_util_push_tunnel_right(session, height, TUNNEL_0);
|
paint_util_push_tunnel_right(session, height, TUNNEL_0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height, get_current_rotation());
|
sub_98196C(session, image_id, 0, 6, 32, 20, 1, height);
|
||||||
|
|
||||||
paint_util_push_tunnel_left(session, height, TUNNEL_0);
|
paint_util_push_tunnel_left(session, height, TUNNEL_0);
|
||||||
}
|
}
|
||||||
|
@ -6083,15 +6083,17 @@ static void junior_rc_booster_paint_setup(
|
||||||
|
|
||||||
if (direction & 1)
|
if (direction & 1)
|
||||||
{
|
{
|
||||||
sub_98196C(session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], XoffsetNESW, YoffsetNESW, 20, 32,
|
sub_98196C(
|
||||||
1, height, get_current_rotation());
|
session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], XoffsetNESW, YoffsetNESW, 20, 32, 1,
|
||||||
|
height);
|
||||||
|
|
||||||
paint_util_push_tunnel_right(session, height, TUNNEL_0);
|
paint_util_push_tunnel_right(session, height, TUNNEL_0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], XoffsetNWSE, YoffsetNWSE, 32, 20,
|
sub_98196C(
|
||||||
1, height, get_current_rotation());
|
session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], XoffsetNWSE, YoffsetNWSE, 32, 20, 1,
|
||||||
|
height);
|
||||||
|
|
||||||
paint_util_push_tunnel_left(session, height, TUNNEL_0);
|
paint_util_push_tunnel_left(session, height, TUNNEL_0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -658,9 +658,9 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_down(
|
||||||
{
|
{
|
||||||
sint32 part = trackSequence == 0 ? 0 : 1;
|
sint32 part = trackSequence == 0 ? 0 : 1;
|
||||||
const sprite_bb * sbb = &imageIds[direction][part];
|
const sprite_bb * sbb = &imageIds[direction][part];
|
||||||
sub_98196C(session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
|
sub_98196C(
|
||||||
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z,
|
session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
|
||||||
get_current_rotation());
|
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(session, height, direction, trackSequence, TUNNEL_2,
|
track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel(session, height, direction, trackSequence, TUNNEL_2,
|
||||||
|
@ -734,9 +734,9 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_up(
|
||||||
{
|
{
|
||||||
sint32 part = trackSequence == 0 ? 0 : 1;
|
sint32 part = trackSequence == 0 ? 0 : 1;
|
||||||
const sprite_bb * sbb = &imageIds[direction][part];
|
const sprite_bb * sbb = &imageIds[direction][part];
|
||||||
sub_98196C(session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
|
sub_98196C(
|
||||||
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z,
|
session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], (sint8)sbb->offset.x, (sint8)sbb->offset.y,
|
||||||
get_current_rotation());
|
sbb->bb_size.x, sbb->bb_size.y, (sint8)sbb->bb_size.z, height + (sint8)sbb->offset.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(session, height, direction, trackSequence, TUNNEL_1, TUNNEL_2);
|
track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(session, height, direction, trackSequence, TUNNEL_1, TUNNEL_2);
|
||||||
|
@ -820,7 +820,7 @@ static void wild_mouse_track_left_quarter_turn_1(
|
||||||
sub_98197C(session, imageId, 0, 0, 26, 24, 2, height, 6, 2, height, get_current_rotation());
|
sub_98197C(session, imageId, 0, 0, 26, 24, 2, height, 6, 2, height, get_current_rotation());
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_98196C(session, imageId, 0, 0, 26, 26, 2, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 26, 26, 2, height);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sub_98197C(session, imageId, 0, 0, 24, 26, 2, height, 2, 6, height, get_current_rotation());
|
sub_98197C(session, imageId, 0, 0, 24, 26, 2, height, 2, 6, height, get_current_rotation());
|
||||||
|
|
|
@ -640,13 +640,13 @@ static void wooden_wild_mouse_track_left_quarter_turn_1(
|
||||||
sub_98197C(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
|
sub_98197C(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sub_98197C(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation());
|
sub_98197C(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation());
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
|
wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
|
||||||
|
|
|
@ -163,11 +163,11 @@ static void paint_car_ride_track_flat(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
@ -476,13 +476,13 @@ static void paint_car_ride_track_left_quarter_turn_1_tile(
|
||||||
sub_98197C(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
|
sub_98197C(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height, get_current_rotation());
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sub_98197C(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation());
|
sub_98197C(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height, get_current_rotation());
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -519,11 +519,11 @@ static void paint_car_ride_track_spinning_tunnel(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
track_paint_util_spinning_tunnel_paint(session, 1, height, direction, get_current_rotation());
|
track_paint_util_spinning_tunnel_paint(session, 1, height, direction, get_current_rotation());
|
||||||
|
@ -771,11 +771,11 @@ static void paint_car_ride_track_log_bumps(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
|
|
@ -37,7 +37,7 @@ static constexpr const uint32 dodgems_fence_sprites[] = { SPR_DODGEMS_FENCE_TOP_
|
||||||
static void paint_dodgems_roof(paint_session * session, sint32 height, sint32 offset)
|
static void paint_dodgems_roof(paint_session * session, sint32 height, sint32 offset)
|
||||||
{
|
{
|
||||||
uint32 image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | session->TrackColours[SCHEME_TRACK];
|
uint32 image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, image_id, 0, 0, 32, 32, 2, height, get_current_rotation());
|
sub_98196C(session, image_id, 0, 0, 32, 32, 2, height);
|
||||||
|
|
||||||
image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (PALETTE_DARKEN_3 << 19) | IMAGE_TYPE_TRANSPARENT;
|
image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (PALETTE_DARKEN_3 << 19) | IMAGE_TYPE_TRANSPARENT;
|
||||||
paint_attach_to_previous_ps(session, image_id, 0, 0);
|
paint_attach_to_previous_ps(session, image_id, 0, 0);
|
||||||
|
|
|
@ -65,7 +65,7 @@ static void maze_paint_setup(
|
||||||
uint32 rotation = get_current_rotation();
|
uint32 rotation = get_current_rotation();
|
||||||
// draw ground
|
// draw ground
|
||||||
sint32 image_id = SPR_TERRAIN_DIRT | session->TrackColours[SCHEME_MISC];
|
sint32 image_id = SPR_TERRAIN_DIRT | session->TrackColours[SCHEME_MISC];
|
||||||
sub_98196C(session, image_id, 0, 0, 32, 32, 0, height, rotation);
|
sub_98196C(session, image_id, 0, 0, 32, 32, 0, height);
|
||||||
|
|
||||||
wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3], nullptr);
|
wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3], nullptr);
|
||||||
|
|
||||||
|
|
|
@ -235,7 +235,7 @@ static void paint_magic_carpet(
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS];
|
uint32 imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,7 +192,7 @@ static void paint_pirate_ship(
|
||||||
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
|
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
|
||||||
imageId = SPR_STATION_BASE_A_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_BASE_A_NW_SE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -200,7 +200,7 @@ static void paint_pirate_ship(
|
||||||
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
|
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]);
|
||||||
|
|
||||||
imageId = SPR_STATION_BASE_A_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_BASE_A_SW_NE | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
|
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
|
||||||
|
@ -224,7 +224,7 @@ static void paint_pirate_ship(
|
||||||
|
|
||||||
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
|
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) |
|
||||||
session->TrackColours[SCHEME_TRACK];
|
session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation());
|
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9);
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
|
||||||
if (relativeTrackSequence == 3)
|
if (relativeTrackSequence == 3)
|
||||||
|
@ -232,21 +232,21 @@ static void paint_pirate_ship(
|
||||||
if (hasFence)
|
if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 23, 31, 8, 1, 7, height + 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 8, 1, 7, height + 11);
|
||||||
}
|
}
|
||||||
else if (hasFence)
|
else if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 32, 7, height + 11);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -269,7 +269,7 @@ static void paint_pirate_ship(
|
||||||
|
|
||||||
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
|
imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) |
|
||||||
session->TrackColours[SCHEME_TRACK];
|
session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation());
|
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9);
|
||||||
|
|
||||||
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
hasFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
|
||||||
if (relativeTrackSequence == 3)
|
if (relativeTrackSequence == 3)
|
||||||
|
@ -277,21 +277,21 @@ static void paint_pirate_ship(
|
||||||
if (hasFence)
|
if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 31, 23, 1, 8, 7, height + 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 31, 0, 1, 8, 7, height + 11);
|
||||||
}
|
}
|
||||||
else if (hasFence)
|
else if (hasFence)
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11, get_current_rotation());
|
sub_98196C(session, imageId, 0, 31, 32, 1, 7, height + 11);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,17 +151,17 @@ static void paint_swinging_inverter_ship(
|
||||||
}
|
}
|
||||||
|
|
||||||
imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS];
|
imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
|
|
||||||
switch (direction)
|
switch (direction)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9, get_current_rotation());
|
sub_98196C(session, imageId, 0, 24, 32, 8, 1, height + 9);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_TRACK];
|
||||||
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9, get_current_rotation());
|
sub_98196C(session, imageId, 24, 0, 8, 32, 1, height + 9);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];
|
imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK];
|
||||||
|
|
|
@ -439,11 +439,11 @@ static void paint_monorail_track_flat(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
@ -538,11 +538,11 @@ static void paint_monorail_track_25_deg_up(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (direction)
|
switch (direction)
|
||||||
|
@ -586,11 +586,11 @@ static void paint_monorail_track_flat_to_25_deg_up(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (direction)
|
switch (direction)
|
||||||
|
@ -634,11 +634,11 @@ static void paint_monorail_track_25_deg_up_to_flat(
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 6, 32, 20, 3, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, 6, 0, 20, 32, 3, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (direction)
|
switch (direction)
|
||||||
|
@ -816,11 +816,11 @@ static void paint_monorail_track_s_bend_left(
|
||||||
LocationXY16 bounds = boundsList[trackSequence];
|
LocationXY16 bounds = boundsList[trackSequence];
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
@ -918,11 +918,11 @@ static void paint_monorail_track_s_bend_right(
|
||||||
LocationXY16 bounds = boundsList[trackSequence];
|
LocationXY16 bounds = boundsList[trackSequence];
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, 3, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height, get_current_rotation());
|
sub_98196C(session, imageId, (sint8)offset.y, (sint8)offset.x, bounds.y, bounds.x, 3, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (direction == 0 || direction == 2)
|
if (direction == 0 || direction == 2)
|
||||||
|
|
|
@ -212,7 +212,7 @@ static void paint_log_flume_track_station(
|
||||||
{
|
{
|
||||||
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
|
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
|
||||||
}
|
}
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
|
|
||||||
if (direction & 1)
|
if (direction & 1)
|
||||||
{
|
{
|
||||||
|
@ -811,7 +811,7 @@ static void paint_log_flume_track_on_ride_photo(
|
||||||
const rct_tile_element * tileElement)
|
const rct_tile_element * tileElement)
|
||||||
{
|
{
|
||||||
uint32 imageId = SPR_STATION_BASE_D | IMAGE_TYPE_REMAP;
|
uint32 imageId = SPR_STATION_BASE_D | IMAGE_TYPE_REMAP;
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
|
|
||||||
if (direction & 1)
|
if (direction & 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -853,7 +853,7 @@ static void paint_splash_boats_station(
|
||||||
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3, get_current_rotation());
|
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3, get_current_rotation());
|
||||||
|
|
||||||
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
|
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -862,7 +862,7 @@ static void paint_splash_boats_station(
|
||||||
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3, get_current_rotation());
|
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3, get_current_rotation());
|
||||||
|
|
||||||
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
|
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
|
||||||
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height, get_current_rotation());
|
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
|
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
|
||||||
|
|
Loading…
Reference in New Issue