Remove rotation argument from sub_98197C

This commit is contained in:
Michał Janiszewski 2018-02-12 22:59:17 +01:00 committed by Michał Janiszewski
parent 77fb74d5b6
commit 3f92471ffb
62 changed files with 934 additions and 938 deletions

View File

@ -903,17 +903,20 @@ paint_struct * sub_98196C(
* @param bound_box_offset_x (0x009DEA52)
* @param bound_box_offset_y (0x009DEA54)
* @param bound_box_offset_z (0x009DEA56)
* @param rotation (ebp)
* @return (ebp) paint_struct on success (CF == 0), nullptr on failure (CF == 1)
*/
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_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)
{
session->UnkF1AD28 = nullptr;
session->UnkF1AD2C = nullptr;
@ -935,8 +938,8 @@ paint_struct * sub_98197C(
(sint16)ps->bounds.y
};
rotate_map_coordinates(&attach.x, &attach.y, rotation);
switch (rotation)
rotate_map_coordinates(&attach.x, &attach.y, session->CurrentRotation);
switch (session->CurrentRotation)
{
case 0:
break;
@ -1033,14 +1036,9 @@ paint_struct * sub_98199C(
if (session->UnkF1AD28 == nullptr)
{
return sub_98197C(session,
image_id,
x_offset, y_offset,
bound_box_length_x, bound_box_length_y, bound_box_length_z,
z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z,
rotation
);
return sub_98197C(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
LocationXYZ16 offset = { x_offset, y_offset, z_offset };

View File

@ -185,7 +185,18 @@ paint_struct * sub_98196C(
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);
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);

View File

@ -45,9 +45,13 @@ paint_struct * sub_98197C_rotated(
sint16 bound_box_offset_x, sint16 bound_box_offset_y, sint16 bound_box_offset_z)
{
if (direction & 1) {
return sub_98197C(session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, get_current_rotation());
return sub_98197C(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset,
bound_box_offset_y, bound_box_offset_x, bound_box_offset_z);
} else {
return sub_98197C(session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, get_current_rotation());
return sub_98197C(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
}

View File

@ -392,9 +392,9 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
} else {
imageId += word_97B3C4[slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
imageId |= imageColourFlags;
sub_98197C(session, imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2, rotation);
sub_98197C(session, imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2);
sub_98197C(session, imageId + 4, 0, 0, 32, 32, 11, z + 16, 0, 0, z + 16 + 2, rotation);
sub_98197C(session, imageId + 4, 0, 0, 32, 32, 11, z + 16, 0, 0, z + 16 + 2);
hasSupports = true;
}
@ -416,7 +416,7 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
imageId += word_97B3C4[slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
imageId |= imageColourFlags;
sub_98197C(session, imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2, rotation);
sub_98197C(session, imageId, 0, 0, 32, 32, 11, z, 0, 0, z + 2);
hasSupports = true;
}
z += 16;
@ -462,7 +462,9 @@ bool wooden_a_supports_paint_setup(paint_session * session, sint32 supportType,
unk_supports_desc_bound_box bBox = byte_97B23C[special].bounding_box;
if (byte_97B23C[special].var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) {
sub_98197C(session, imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, bBox.offset.z + z, rotation);
sub_98197C(
session, imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y,
bBox.offset.z + z);
hasSupports = true;
} else {
hasSupports = true;
@ -532,24 +534,10 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
} else {
imageId += word_97B3C4[session->Support.slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
sub_98197C(session,
imageId | imageColourFlags,
0, 0,
32, 32, 11,
baseHeight,
0, 0, baseHeight + 2,
get_current_rotation()
);
sub_98197C(session, imageId | imageColourFlags, 0, 0, 32, 32, 11, baseHeight, 0, 0, baseHeight + 2);
baseHeight += 16;
sub_98197C(session,
(imageId + 4) | imageColourFlags,
0, 0,
32, 32, 3,
baseHeight,
0, 0, baseHeight + 2,
get_current_rotation()
);
sub_98197C(session, (imageId + 4) | imageColourFlags, 0, 0, 32, 32, 3, baseHeight, 0, 0, baseHeight + 2);
baseHeight += 16;
_9E32B1 = true;
@ -568,14 +556,7 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
} else {
imageId += word_97B3C4[session->Support.slope & TILE_ELEMENT_SURFACE_SLOPE_MASK];
sub_98197C(session,
imageId | imageColourFlags,
0, 0,
32, 32, 3,
baseHeight,
0, 0, baseHeight + 2,
get_current_rotation()
);
sub_98197C(session, imageId | imageColourFlags, 0, 0, 32, 32, 3, baseHeight, 0, 0, baseHeight + 2);
baseHeight += 16;
_9E32B1 = true;
@ -624,14 +605,9 @@ bool wooden_b_supports_paint_setup(paint_session * session, sint32 supportType,
unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box;
if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) {
sub_98197C(session,
imageId | imageColourFlags,
0, 0,
boundBox.length.x, boundBox.length.y, boundBox.length.z,
baseHeight,
boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight,
get_current_rotation()
);
sub_98197C(
session, imageId | imageColourFlags, 0, 0, boundBox.length.x, boundBox.length.y, boundBox.length.z,
baseHeight, boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight);
_9E32B1 = true;
} else {
paint_struct * paintStruct = sub_98198C(session,
@ -829,7 +805,7 @@ bool metal_a_supports_paint_setup(paint_session * session, uint8 supportType, ui
image_id += z - 1;
image_id |= imageColourFlags;
sub_98197C(session, image_id, xOffset, yOffset, 0, 0, 0, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, rotation);
sub_98197C(session, image_id, xOffset, yOffset, 0, 0, 0, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
height += z;
}
@ -991,14 +967,9 @@ bool metal_b_supports_paint_setup(paint_session * session, uint8 supportType, ui
}
uint32 imageId = _97B15C[supportType].beam_id + (beamLength - 1);
sub_98197C(session,
imageId | imageColourFlags,
loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y,
0, 0, 0,
baseHeight,
loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, height,
get_current_rotation()
);
sub_98197C(
session, imageId | imageColourFlags, loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, 0, 0, 0,
baseHeight, loc_97AF20[originalSegment].x, loc_97AF20[originalSegment].y, height);
baseHeight += beamLength;
}
}
@ -1057,24 +1028,10 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
uint32 imageId = (supportType * 24) + word_97B3C4[session->Support.slope & TILE_ELEMENT_SURFACE_SLOPE_MASK] + pathEntry->bridge_image;
sub_98197C(session,
imageId | imageColourFlags,
0, 0,
32, 32, 11,
baseHeight,
0, 0, baseHeight + 2,
get_current_rotation()
);
sub_98197C(session, imageId | imageColourFlags, 0, 0, 32, 32, 11, baseHeight, 0, 0, baseHeight + 2);
baseHeight += 16;
sub_98197C(session,
(imageId + 4) | imageColourFlags,
0, 0,
32, 32, 11,
baseHeight,
0, 0, baseHeight + 2,
get_current_rotation()
);
sub_98197C(session, (imageId + 4) | imageColourFlags, 0, 0, 32, 32, 11, baseHeight, 0, 0, baseHeight + 2);
baseHeight += 16;
hasSupports = true;
@ -1088,14 +1045,7 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
uint32 ebx = (supportType * 24) + word_97B3C4[session->Support.slope & TILE_ELEMENT_SURFACE_SLOPE_MASK] + pathEntry->bridge_image;
sub_98197C(session,
ebx | imageColourFlags,
0, 0,
32, 32, 11,
baseHeight,
0, 0, baseHeight + 2,
get_current_rotation()
);
sub_98197C(session, ebx | imageColourFlags, 0, 0, 32, 32, 11, baseHeight, 0, 0, baseHeight + 2);
hasSupports = true;
baseHeight += 16;
@ -1129,14 +1079,9 @@ bool path_a_supports_paint_setup(paint_session * session, sint32 supportType, si
unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box;
if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) {
sub_98197C(session,
imageId | imageColourFlags,
0, 0,
boundBox.length.y, boundBox.length.x, boundBox.length.z,
baseHeight,
boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z,
get_current_rotation()
);
sub_98197C(
session, imageId | imageColourFlags, 0, 0, boundBox.length.y, boundBox.length.x, boundBox.length.z, baseHeight,
boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z);
hasSupports = true;
} else {
paint_struct * paintStruct = sub_98198C(session,
@ -1284,14 +1229,9 @@ bool path_b_supports_paint_setup(paint_session * session, sint32 segment, sint32
}
uint32 imageId = pathEntry->bridge_image + 20 + (z - 1);
sub_98197C(session,
imageId | imageColourFlags,
loc_97AF20[segment].x, loc_97AF20[segment].y,
0, 0, 0,
baseHeight,
loc_97AF20[segment].x, loc_97AF20[segment].y, baseHeight,
get_current_rotation()
);
sub_98197C(
session, imageId | imageColourFlags, loc_97AF20[segment].x, loc_97AF20[segment].y, 0, 0, 0, baseHeight,
loc_97AF20[segment].x, loc_97AF20[segment].y, baseHeight);
baseHeight += z;
}

View File

@ -176,28 +176,36 @@ void virtual_floor_paint(paint_session * session)
if (paintEdges & 0x1)
{
sub_98197C(session, SPR_G2_SELECTION_EDGE_NE | (!(occupiedEdges & 0x1)? ((litEdges & 0x1)? remap_lit : remap_base) : remap_edge),
0, 0, 0, 0, 1, gMapVirtualFloorHeight, 5, 5, gMapVirtualFloorHeight + ((dullEdges & 0x1)? -2 : 0), get_current_rotation());
sub_98197C(
session,
SPR_G2_SELECTION_EDGE_NE | (!(occupiedEdges & 0x1) ? ((litEdges & 0x1) ? remap_lit : remap_base) : remap_edge), 0,
0, 0, 0, 1, gMapVirtualFloorHeight, 5, 5, gMapVirtualFloorHeight + ((dullEdges & 0x1) ? -2 : 0));
}
if (paintEdges & 0x2)
{
sub_98197C(session, SPR_G2_SELECTION_EDGE_SE | (!(occupiedEdges & 0x2)? ((litEdges & 0x2)? remap_lit : remap_base) : remap_edge),
0, 0, 1, 1, 1, gMapVirtualFloorHeight, 16, 27, gMapVirtualFloorHeight + ((dullEdges & 0x2)? -2 : 0), get_current_rotation());
sub_98197C(
session,
SPR_G2_SELECTION_EDGE_SE | (!(occupiedEdges & 0x2) ? ((litEdges & 0x2) ? remap_lit : remap_base) : remap_edge), 0,
0, 1, 1, 1, gMapVirtualFloorHeight, 16, 27, gMapVirtualFloorHeight + ((dullEdges & 0x2) ? -2 : 0));
}
if (paintEdges & 0x4)
{
sub_98197C(session, SPR_G2_SELECTION_EDGE_SW | (!(occupiedEdges & 0x4)? ((litEdges & 0x4)? remap_lit : remap_base) : remap_edge),
0, 0, 1, 1, 1, gMapVirtualFloorHeight, 27, 16, gMapVirtualFloorHeight + ((dullEdges & 0x4)? -2 : 0), get_current_rotation());
sub_98197C(
session,
SPR_G2_SELECTION_EDGE_SW | (!(occupiedEdges & 0x4) ? ((litEdges & 0x4) ? remap_lit : remap_base) : remap_edge), 0,
0, 1, 1, 1, gMapVirtualFloorHeight, 27, 16, gMapVirtualFloorHeight + ((dullEdges & 0x4) ? -2 : 0));
}
if (paintEdges & 0x8)
{
sub_98197C(session, SPR_G2_SELECTION_EDGE_NW | (!(occupiedEdges & 0x8)? ((litEdges & 0x8)? remap_lit : remap_base) : remap_edge),
0, 0, 0, 0, 1, gMapVirtualFloorHeight, 5, 5, gMapVirtualFloorHeight + ((dullEdges & 0x8)? -2 : 0), get_current_rotation());
sub_98197C(
session,
SPR_G2_SELECTION_EDGE_NW | (!(occupiedEdges & 0x8) ? ((litEdges & 0x8) ? remap_lit : remap_base) : remap_edge), 0,
0, 0, 0, 1, gMapVirtualFloorHeight, 5, 5, gMapVirtualFloorHeight + ((dullEdges & 0x8) ? -2 : 0));
}
if (!weAreOccupied && !weAreLit)
{
sint32 imageColourFlats = SPR_G2_SURFACE_GLASSY_RECOLOURABLE | IMAGE_TYPE_REMAP | IMAGE_TYPE_TRANSPARENT | PALETTE_WATER << 19;
sub_98197C(session, imageColourFlats, 0, 0, 30, 30, 0, gMapVirtualFloorHeight, 2, 2, gMapVirtualFloorHeight - 3, get_current_rotation());
sub_98197C(session, imageColourFlats, 0, 0, 30, 30, 0, gMapVirtualFloorHeight, 2, 2, gMapVirtualFloorHeight - 3);
}
}

View File

@ -87,5 +87,5 @@ void litter_paint(paint_session * session, rct_litter *litter, sint32 imageDirec
// In the following call to sub_98197C, we add 4 (instead of 2) to the
// bound_box_offset_z to make sure litter is drawn on top of railways
sub_98197C(session, image_id, 0, 0, 4, 4, -1, litter->z, -4, -4, litter->z + 4, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 4, 4, -1, litter->z, -4, -4, litter->z + 4);
}

View File

@ -123,37 +123,37 @@ void misc_paint(paint_session * session, rct_sprite *misc, sint32 imageDirection
if (al & 1) {
switch (ebx) {
case 0:
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, -32, -3, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, -32, -3, height);
break;
case 1:
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, -3, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, -3, 0, height);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, -3, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, -3, height);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, -3, -32, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, -3, -32, height);
break;
}
} else {
switch (ebx) {
case 0:
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, -32, 3, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, -32, 3, height);
break;
case 1:
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 3, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 3, 0, height);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 3, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 3, height);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 3, -32, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 3, -32, height);
break;
}
}

View File

@ -82,7 +82,7 @@ void peep_paint(paint_session * session, rct_peep * peep, sint32 imageDirection)
// bound_box_offset_z to make sure peeps are drawn on top of railways
uint32 baseImageId = (imageDirection >> 3) + sprite.sprite_animation[spriteType].base_image + imageOffset * 4;
uint32 imageId = baseImageId | peep->tshirt_colour << 19 | peep->trousers_colour << 24 | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS;
sub_98197C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5);
if (baseImageId >= 10717 && baseImageId < 10749) {
imageId = (baseImageId + 32) | peep->hat_colour << 19 | IMAGE_TYPE_REMAP;

View File

@ -75,12 +75,12 @@ void banner_paint(paint_session * session, uint8 direction, sint32 height, const
IMAGE_TYPE_REMAP;
}
sub_98197C(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
boundBoxOffsetX = BannerBoundBoxes[direction][1].x;
boundBoxOffsetY = BannerBoundBoxes[direction][1].y;
image_id++;
sub_98197C(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
// Opposite direction
direction ^= 2;

View File

@ -109,7 +109,7 @@ static void ride_entrance_exit_paint(paint_session * session, uint8 direction, s
sint16 lengthY = (direction & 1) ? 28 : 2;
sint16 lengthX = (direction & 1) ? 2 : 28;
sub_98197C(session, image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height);
if (transparant_image_id){
if (is_exit){
@ -124,7 +124,8 @@ static void ride_entrance_exit_paint(paint_session * session, uint8 direction, s
image_id += 4;
sub_98197C(session, image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height, get_current_rotation());
sub_98197C(
session, image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height);
if (transparant_image_id){
transparant_image_id += 4;
@ -218,7 +219,7 @@ static void park_entrance_paint(paint_session * session, uint8 direction, sint32
case 0:
if (path_entry != nullptr) {
image_id = (path_entry->image + 5 * (1 + (direction & 1))) | ghost_id;
sub_98197C(session, image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height);
}
entrance = (rct_entrance_type *)object_entry_get_chunk(OBJECT_TYPE_PARK_ENTRANCE, 0);
@ -227,7 +228,7 @@ static void park_entrance_paint(paint_session * session, uint8 direction, sint32
return;
}
image_id = (entrance->image_id + direction * 3) | ghost_id;
sub_98197C(session, image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, 2, 2, height + 32, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, 2, 2, height + 32);
if ((direction + 1) & (1 << 1))
break;
@ -274,7 +275,7 @@ static void park_entrance_paint(paint_session * session, uint8 direction, sint32
return;
}
image_id = (entrance->image_id + part_index + direction * 3) | ghost_id;
sub_98197C(session, image_id, 0, 0, 0x1A, di, 0x4F, height, 3, 3, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 0x1A, di, 0x4F, height, 3, 3, height);
break;
}
@ -307,7 +308,7 @@ void entrance_paint(paint_session * session, uint8 direction, sint32 height, con
uint32 image_id = 0x20101689 + get_height_marker_offset() + (z / 16);
image_id -= gMapBaseZ;
sub_98197C(session, image_id, 16, 16, 1, 1, 0, height, 31, 31, z + 64, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 1, 1, 0, height, 31, 31, z + 64);
}
}

View File

@ -67,19 +67,25 @@ static void fence_paint_door(paint_session * session, uint32 imageId,
if (sceneryEntry->wall.flags & WALL_SCENERY_IS_BANNER) {
paint_struct * ps;
ps = sub_98197C(session, imageId, (sint8) offset.x, (sint8) offset.y, boundsR1.x, boundsR1.y, (sint8) boundsR1.z, offset.z, boundsR1_.x, boundsR1_.y, boundsR1_.z, get_current_rotation());
ps = sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsR1.x, boundsR1.y, (sint8)boundsR1.z, offset.z,
boundsR1_.x, boundsR1_.y, boundsR1_.z);
if (ps != nullptr) {
ps->tertiary_colour = tertiaryColour;
}
ps = sub_98197C(session, imageId + 1, (sint8) offset.x, (sint8) offset.y, boundsR2.x, boundsR2.y, (sint8) boundsR2.z, offset.z, boundsR2_.x, boundsR2_.y, boundsR2_.z, get_current_rotation());
ps = sub_98197C(
session, imageId + 1, (sint8)offset.x, (sint8)offset.y, boundsR2.x, boundsR2.y, (sint8)boundsR2.z, offset.z,
boundsR2_.x, boundsR2_.y, boundsR2_.z);
if (ps != nullptr) {
ps->tertiary_colour = tertiaryColour;
}
} else {
paint_struct * ps;
ps = sub_98197C(session, imageId, (sint8) offset.x, (sint8) offset.y, boundsL1.x, boundsL1.y, (sint8) boundsL1.z, offset.z, boundsL1_.x, boundsL1_.y, boundsL1_.z, get_current_rotation());
ps = sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsL1.x, boundsL1.y, (sint8)boundsL1.z, offset.z,
boundsL1_.x, boundsL1_.y, boundsL1_.z);
if (ps != nullptr) {
ps->tertiary_colour = tertiaryColour;
}
@ -106,7 +112,9 @@ static void fence_paint_wall(paint_session * session, uint32 frameNum, const rct
imageId = (imageId & 0x7FFFF) | dword_141F710;
}
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x,
boundsOffset.y, boundsOffset.z);
if (dword_141F710 == 0) {
imageId = baseImageId + dword_141F718;
sub_98199C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
@ -120,7 +128,9 @@ static void fence_paint_wall(paint_session * session, uint32 frameNum, const rct
imageId = (imageId & 0x7FFFF) | dword_141F710;
}
paint_struct * paint = sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
paint_struct * paint = sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x,
boundsOffset.y, boundsOffset.z);
if (paint != nullptr) {
paint->tertiary_colour = tertiaryColour;
}

View File

@ -242,7 +242,7 @@ void large_scenery_paint(paint_session * session, uint8 direction, uint16 height
boxlength.x = s98E3C4[esi].length.x;
boxlength.y = s98E3C4[esi].length.y;
boxlength.z = ah;
sub_98197C(session, image_id, 0, 0, boxlength.x, boxlength.y, ah, height, boxoffset.x, boxoffset.y, boxoffset.z, get_current_rotation());
sub_98197C(session, image_id, 0, 0, boxlength.x, boxlength.y, ah, height, boxoffset.x, boxoffset.y, boxoffset.z);
if (entry->large_scenery.scrolling_mode == 0xFF || direction == 1 || direction == 2) {
large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile);
return;

View File

@ -118,7 +118,7 @@ static void path_bit_lights_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 2, 16, 1, 1, 23, height, 3, 16, height + 2, get_current_rotation());
sub_98197C(session, imageId, 2, 16, 1, 1, 23, height, 3, 16, height + 2);
}
if (!(edges & EDGE_SE)) {
imageId = pathBitEntry->image + 2;
@ -128,7 +128,7 @@ static void path_bit_lights_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 16, 30, 1, 0, 23, height, 16, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 30, 1, 0, 23, height, 16, 29, height + 2);
}
if (!(edges & EDGE_SW)) {
@ -139,7 +139,7 @@ static void path_bit_lights_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 30, 16, 0, 1, 23, height, 29, 16, height + 2, get_current_rotation());
sub_98197C(session, imageId, 30, 16, 0, 1, 23, height, 29, 16, height + 2);
}
if (!(edges & EDGE_NW)) {
@ -150,7 +150,7 @@ static void path_bit_lights_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 16, 2, 1, 1, 23, height, 16, 3, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 2, 1, 1, 23, height, 16, 3, height + 2);
}
}
@ -186,7 +186,7 @@ static void path_bit_bins_paint(
}
if (!(gCurrentViewportFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES) || binIsFull || binsAreVandalised)
sub_98197C(session, imageId, 7, 16, 1, 1, 7, height, 7, 16, height + 2, get_current_rotation());
sub_98197C(session, imageId, 7, 16, 1, 1, 7, height, 7, 16, height + 2);
}
if (!(edges & EDGE_SE)) {
imageId = pathBitEntry->image + 6;
@ -205,7 +205,7 @@ static void path_bit_bins_paint(
}
if (!(gCurrentViewportFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES) || binIsFull || binsAreVandalised)
sub_98197C(session, imageId, 16, 25, 1, 1, 7, height, 16, 25, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 25, 1, 1, 7, height, 16, 25, height + 2);
}
if (!(edges & EDGE_SW)) {
@ -225,7 +225,7 @@ static void path_bit_bins_paint(
}
if (!(gCurrentViewportFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES) || binIsFull || binsAreVandalised)
sub_98197C(session, imageId, 25, 16, 1, 1, 7, height, 25, 16, height + 2, get_current_rotation());
sub_98197C(session, imageId, 25, 16, 1, 1, 7, height, 25, 16, height + 2);
}
if (!(edges & EDGE_NW)) {
@ -245,7 +245,7 @@ static void path_bit_bins_paint(
}
if (!(gCurrentViewportFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES) || binIsFull || binsAreVandalised)
sub_98197C(session, imageId, 16, 7, 1, 1, 7, height, 16, 7, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 7, 1, 1, 7, height, 16, 7, height + 2);
}
}
@ -268,7 +268,7 @@ static void path_bit_benches_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 7, 16, 0, 16, 7, height, 6, 8, height + 2, get_current_rotation());
sub_98197C(session, imageId, 7, 16, 0, 16, 7, height, 6, 8, height + 2);
}
if (!(edges & EDGE_SE)) {
imageId = pathBitEntry->image + 2;
@ -278,7 +278,7 @@ static void path_bit_benches_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 16, 25, 16, 0, 7, height, 8, 23, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 25, 16, 0, 7, height, 8, 23, height + 2);
}
if (!(edges & EDGE_SW)) {
@ -289,7 +289,7 @@ static void path_bit_benches_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 25, 16, 0, 16, 7, height, 23, 8, height + 2, get_current_rotation());
sub_98197C(session, imageId, 25, 16, 0, 16, 7, height, 23, 8, height + 2);
}
if (!(edges & EDGE_NW)) {
@ -300,7 +300,7 @@ static void path_bit_benches_paint(
imageId |= pathBitImageFlags;
sub_98197C(session, imageId, 16, 7, 16, 0, 7, height, 8, 6, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 7, 16, 0, 7, height, 8, 6, height + 2);
}
}
@ -320,10 +320,10 @@ static void path_bit_jumping_fountains_paint(
uint32 imageId = pathBitEntry->image;
imageId |= pathBitImageFlags;
sub_98197C(session, imageId + 1, 0, 0, 1, 1, 2, height, 3, 3, height + 2, get_current_rotation());
sub_98197C(session, imageId + 2, 0, 0, 1, 1, 2, height, 3, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId + 3, 0, 0, 1, 1, 2, height, 29, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId + 4, 0, 0, 1, 1, 2, height, 29, 3, height + 2, get_current_rotation());
sub_98197C(session, imageId + 1, 0, 0, 1, 1, 2, height, 3, 3, height + 2);
sub_98197C(session, imageId + 2, 0, 0, 1, 1, 2, height, 3, 29, height + 2);
sub_98197C(session, imageId + 3, 0, 0, 1, 1, 2, height, 29, 29, height + 2);
sub_98197C(session, imageId + 4, 0, 0, 1, 1, 2, height, 29, 3, height + 2);
}
/**
@ -349,67 +349,71 @@ static void sub_6A4101(
switch ((footpath_element_get_slope_direction(tile_element) + get_current_rotation()) & FOOTPATH_PROPERTIES_SLOPE_DIRECTION_MASK)
{
case 0:
sub_98197C(session, 95 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 95 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 95 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2);
sub_98197C(session, 95 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2);
break;
case 1:
sub_98197C(session, 94 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 94 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 94 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2);
sub_98197C(session, 94 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2);
break;
case 2:
sub_98197C(session, 96 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 96 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 96 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2);
sub_98197C(session, 96 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2);
break;
case 3:
sub_98197C(session, 93 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 93 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 93 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2);
sub_98197C(session, 93 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2);
break;
}
} else {
switch (local_ebp) {
case 1:
sub_98197C(session, 90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2);
break;
case 2:
sub_98197C(session, 91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(session, 91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2);
break;
case 3:
sub_98197C(session, 90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, height + 2, get_current_rotation()); // bound_box_offset_y seems to be a bug
sub_98197C(session, 98 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 90 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(
session, 91 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4,
height + 2); // bound_box_offset_y seems to be a bug
sub_98197C(session, 98 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2);
break;
case 4:
sub_98197C(session, 92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 92 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 92 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2);
break;
case 5:
sub_98197C(session, 88 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 88 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 88 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 88 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2);
break;
case 6:
sub_98197C(session, 91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 99 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, 91 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(session, 92 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 99 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2);
break;
case 8:
sub_98197C(session, 89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(session, 89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2);
break;
case 9:
sub_98197C(session, 89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 97 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, 89 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2);
sub_98197C(session, 90 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2);
sub_98197C(session, 97 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2);
break;
case 10:
sub_98197C(session, 87 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 87 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 87 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2);
sub_98197C(session, 87 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2);
break;
case 12:
sub_98197C(session, 89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 92 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, height + 2, get_current_rotation()); // bound_box_offset_x seems to be a bug
sub_98197C(session, 100 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 89 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(
session, 92 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28,
height + 2); // bound_box_offset_x seems to be a bug
sub_98197C(session, 100 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2);
break;
default:
// purposely left empty
@ -440,13 +444,13 @@ static void sub_6A4101(
uint32 imageId = (direction << 1) + base_image_id + 101;
// Draw pole in the back
sub_98197C(session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z);
// Draw pole in the front and banner
boundBoxOffsets.x = BannerBoundBoxes[direction][1].x;
boundBoxOffsets.y = BannerBoundBoxes[direction][1].y;
imageId++;
sub_98197C(session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z);
direction--;
// If text shown
@ -496,20 +500,20 @@ static void sub_6A4101(
switch ((footpath_element_get_slope_direction(tile_element) + get_current_rotation()) & FOOTPATH_PROPERTIES_SLOPE_DIRECTION_MASK)
{
case 0:
sub_98197C(session, 81 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 81 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 81 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2);
sub_98197C(session, 81 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2);
break;
case 1:
sub_98197C(session, 80 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 80 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 80 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2);
sub_98197C(session, 80 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2);
break;
case 2:
sub_98197C(session, 82 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 82 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 82 + base_image_id, 0, 4, 32, 1, 23, height, 0, 4, height + 2);
sub_98197C(session, 82 + base_image_id, 0, 28, 32, 1, 23, height, 0, 28, height + 2);
break;
case 3:
sub_98197C(session, 79 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 79 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 79 + base_image_id, 4, 0, 1, 32, 23, height, 4, 0, height + 2);
sub_98197C(session, 79 + base_image_id, 28, 0, 1, 32, 23, height, 28, 0, height + 2);
break;
}
} else {
@ -523,108 +527,112 @@ static void sub_6A4101(
// purposely left empty
break;
case 1:
sub_98197C(session, 76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2);
break;
case 2:
sub_98197C(session, 77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(session, 77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2);
break;
case 4:
sub_98197C(session, 78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 78 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 78 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2);
break;
case 5:
sub_98197C(session, 74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2);
sub_98197C(session, 74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2);
break;
case 8:
sub_98197C(session, 75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(session, 75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2);
break;
case 10:
sub_98197C(session, 73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2);
sub_98197C(session, 73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2);
break;
case 3:
sub_98197C(session, 76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, height + 2, get_current_rotation()); // bound_box_offset_y seems to be a bug
sub_98197C(session, 76 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
sub_98197C(
session, 77 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4,
height + 2); // bound_box_offset_y seems to be a bug
if (!(dword_F3EF80 & 0x10)) {
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2);
}
break;
case 6:
sub_98197C(session, 77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 77 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(session, 78 + base_image_id, 0, 4, 28, 1, 7, height, 0, 4, height + 2);
if (!(dword_F3EF80 & 0x20)) {
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2);
}
break;
case 9:
sub_98197C(session, 75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 75 + base_image_id, 28, 0, 1, 28, 7, height, 28, 0, height + 2);
sub_98197C(session, 76 + base_image_id, 0, 28, 28, 1, 7, height, 0, 28, height + 2);
if (!(dword_F3EF80 & 0x80)) {
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2);
}
break;
case 12:
sub_98197C(session, 75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 78 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, height + 2, get_current_rotation()); // bound_box_offset_x seems to be a bug
sub_98197C(session, 75 + base_image_id, 4, 0, 1, 28, 7, height, 4, 0, height + 2);
sub_98197C(
session, 78 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28,
height + 2); // bound_box_offset_x seems to be a bug
if (!(dword_F3EF80 & 0x40)) {
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2);
}
break;
case 7:
sub_98197C(session, 74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2, get_current_rotation());
sub_98197C(session, 74 + base_image_id, 0, 4, 32, 1, 7, height, 0, 4, height + 2);
if (!(dword_F3EF80 & 0x10)) {
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2);
}
if (!(dword_F3EF80 & 0x20)) {
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2);
}
break;
case 13:
sub_98197C(session, 74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 74 + base_image_id, 0, 28, 32, 1, 7, height, 0, 28, height + 2);
if (!(dword_F3EF80 & 0x40)) {
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2);
}
if (!(dword_F3EF80 & 0x80)) {
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2);
}
break;
case 14:
sub_98197C(session, 73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2, get_current_rotation());
sub_98197C(session, 73 + base_image_id, 4, 0, 1, 32, 7, height, 4, 0, height + 2);
if (!(dword_F3EF80 & 0x20)) {
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2);
}
if (!(dword_F3EF80 & 0x40)) {
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2);
}
break;
case 11:
sub_98197C(session, 73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 73 + base_image_id, 28, 0, 1, 32, 7, height, 28, 0, height + 2);
if (!(dword_F3EF80 & 0x10)) {
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2);
}
if (!(dword_F3EF80 & 0x80)) {
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2);
}
break;
case 15:
if (!(dword_F3EF80 & 0x10)) {
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2, get_current_rotation());
sub_98197C(session, 84 + base_image_id, 0, 0, 4, 4, 7, height, 0, 28, height + 2);
}
if (!(dword_F3EF80 & 0x20)) {
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, 85 + base_image_id, 0, 0, 4, 4, 7, height, 28, 28, height + 2);
}
if (!(dword_F3EF80 & 0x40)) {
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2, get_current_rotation());
sub_98197C(session, 86 + base_image_id, 0, 0, 4, 4, 7, height, 28, 0, height + 2);
}
if (!(dword_F3EF80 & 0x80)) {
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, 83 + base_image_id, 0, 0, 4, 4, 7, height, 0, 0, height + 2);
}
break;
@ -939,7 +947,9 @@ void path_paint_box_support(
}
if (!hasFences || !session->DidPassSurface) {
sub_98197C(session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());
sub_98197C(
session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y,
height + boundingBoxZOffset);
} else {
uint32 image_id;
if (footpath_element_is_sloped(tileElement)) {
@ -948,7 +958,9 @@ void path_paint_box_support(
image_id = byte_98D8A4[edges] + footpathEntry->bridge_image + 49;
}
sub_98197C(session, image_id | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());
sub_98197C(
session, image_id | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y,
height + boundingBoxZOffset);
if (!footpath_element_is_queue(tileElement) && !(footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) {
// don't draw
@ -1073,7 +1085,9 @@ void path_paint_pole_support(
}
if (!hasFences || !session->DidPassSurface) {
sub_98197C(session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());
sub_98197C(
session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y,
height + boundingBoxZOffset);
}
else {
uint32 bridgeImage;
@ -1085,7 +1099,9 @@ void path_paint_pole_support(
bridgeImage |= imageFlags;
}
sub_98197C(session, bridgeImage | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());
sub_98197C(
session, bridgeImage | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x,
boundBoxOffset.y, height + boundingBoxZOffset);
if (footpath_element_is_queue(tileElement) || (footpathEntry->flags & FOOTPATH_ENTRY_FLAG_HAS_PATH_BASE_SPRITE)) {
sub_98199C(session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset, get_current_rotation());

View File

@ -147,7 +147,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
baseImageid = (baseImageid & 0x7FFFF) | dword_F64EB0;
}
if (!(scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED))) {
sub_98197C(session, baseImageid, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98197C(
session, baseImageid, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
}
if (scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_HAS_GLASS)) {
@ -270,7 +272,9 @@ void scenery_paint(paint_session * session, uint8 direction, sint32 height, cons
image_id = (image_id & 0x7FFFF) | dword_F64EB0;
}
if (scenery_small_entry_has_flag(entry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED)) {
sub_98197C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);
sub_98197C(
session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x,
boxoffset.y, boxoffset.z);
}
else {
sub_98199C(session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, boxoffset.y, boxoffset.z, rotation);

View File

@ -645,7 +645,6 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
base_image_id += 5;
}
const uint8 rotation = get_current_rotation();
uint8 curHeight = Math::Min(regs.ah, regs.ch);
if (regs.ch != regs.ah)
{
@ -727,7 +726,9 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
}
uint32 image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0);
sub_98197C(session, image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, zOffset, 0, 0, boundBoxOffsetZ, rotation);
sub_98197C(
session, image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, zOffset, 0, 0,
boundBoxOffsetZ);
boundBoxOffsetZ = curHeight * 16;
boundBoxLength = stru_97B570[tunnelType][1] * 16;
@ -739,7 +740,9 @@ static void viewport_surface_draw_tile_side_bottom(paint_session * session, enum
}
image_id = _terrainEdgeTunnelSpriteIds[edgeStyle][tunnelType] + (edge == EDGE_BOTTOMRIGHT ? 2 : 0) + 1;
sub_98197C(session, image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, curHeight * 16, tunnelTopBoundBoxOffset.x, tunnelTopBoundBoxOffset.y, boundBoxOffsetZ, rotation);
sub_98197C(
session, image_id, offset.x, offset.y, tunnelBounds.x, tunnelBounds.y, boundBoxLength - 1, curHeight * 16,
tunnelTopBoundBoxOffset.x, tunnelTopBoundBoxOffset.y, boundBoxOffsetZ);
curHeight += stru_97B570[tunnelType][0];
tunnelIndex++;
@ -1009,10 +1012,10 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
if (session->VerticalTunnelHeight * 16 == height)
{
// Vertical tunnels
sub_98197C(session, 1575, 0, 0, 1, 30, 39, height, -2, 1, height - 40, rotation);
sub_98197C(session, 1576, 0, 0, 30, 1, 0, height, 1, 31, height, rotation);
sub_98197C(session, 1577, 0, 0, 1, 30, 0, height, 31, 1, height, rotation);
sub_98197C(session, 1578, 0, 0, 30, 1, 39, height, 1, -2, height - 40, rotation);
sub_98197C(session, 1575, 0, 0, 1, 30, 39, height, -2, 1, height - 40);
sub_98197C(session, 1576, 0, 0, 30, 1, 0, height, 1, 31, height);
sub_98197C(session, 1577, 0, 0, 1, 30, 0, height, 31, 1, height);
sub_98197C(session, 1578, 0, 0, 30, 1, 39, height, 1, -2, height - 40);
}
else
{
@ -1436,18 +1439,9 @@ void surface_paint(paint_session * session, uint8 direction, uint16 height, cons
}
}
sub_98197C(session,
image_id,
fenceData.offset.x,
fenceData.offset.y,
fenceData.box_size.x,
fenceData.box_size.y,
9,
local_height,
fenceData.box_offset.x,
fenceData.box_offset.y,
local_height + 1,
rotation);
sub_98197C(
session, image_id, fenceData.offset.x, fenceData.offset.y, fenceData.box_size.x, fenceData.box_size.y, 9,
local_height, fenceData.box_offset.x, fenceData.box_offset.y, local_height + 1);
}
}

View File

@ -207,7 +207,7 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y)
session->SpritePosition.y = y;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_NONE;
sub_98197C(session, imageId, 0, 0, 32, 32, -1, arrowZ, 0, 0, arrowZ + 18, rotation);
sub_98197C(session, imageId, 0, 0, 32, 32, -1, arrowZ, 0, 0, arrowZ + 18);
}
sint32 bx = dx + 52;
@ -370,7 +370,9 @@ static void sub_68B3FB(paint_session * session, sint32 x, sint32 y)
sint32 xOffset = sy * 10;
sint32 yOffset = -22 + sx * 10;
paint_struct * ps = sub_98197C(session, 5504 | imageColourFlats, xOffset, yOffset, 10, 10, 1, segmentHeight, xOffset + 1, yOffset + 16, segmentHeight, get_current_rotation());
paint_struct * ps = sub_98197C(
session, 5504 | imageColourFlats, xOffset, yOffset, 10, 10, 1, segmentHeight, xOffset + 1, yOffset + 16,
segmentHeight);
if (ps != nullptr) {
ps->flags &= PAINT_STRUCT_FLAG_IS_MASKED;
ps->colour_image_id = COLOUR_BORDEAUX_RED;

View File

@ -254,7 +254,7 @@ void track_paint_util_paint_floor(paint_session * session, uint8 edges, uint32 c
imageId = floorSprites[3];
}
sub_98197C(session, imageId | colourFlags, 0, 0, 32, 32, 1, height, 0, 0, height, rotation);
sub_98197C(session, imageId | colourFlags, 0, 0, 32, 32, 1, height, 0, 0, height);
}
void track_paint_util_paint_fences(
@ -283,12 +283,12 @@ void track_paint_util_paint_fences(
if (edges & EDGE_SE && track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, rotation))
{
imageId = fenceSprites[1] | colourFlags;
sub_98197C(session, imageId, 0, 0, 32, 1, 7, height, 0, 30, height + 2, rotation);
sub_98197C(session, imageId, 0, 0, 32, 1, 7, height, 0, 30, height + 2);
}
if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, rotation))
{
imageId = fenceSprites[2] | colourFlags;
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2, rotation);
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2);
}
}
@ -844,8 +844,9 @@ bool track_paint_util_draw_station_covers_2(paint_session * session, enum edge_t
if (baseImageId & IMAGE_TYPE_TRANSPARENT)
{
imageId = (baseImageId & 0xBFFFFFFF) + imageOffset;
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z,
boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x,
boundsOffset.y, boundsOffset.z);
uint32 edi = session->TrackColours[SCHEME_TRACK] & (0b11111 << 19);
@ -857,8 +858,9 @@ bool track_paint_util_draw_station_covers_2(paint_session * session, enum edge_t
}
imageId = (baseImageId + imageOffset) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z,
boundsOffset.x, boundsOffset.y, boundsOffset.z, get_current_rotation());
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bounds.x, bounds.y, (sint8)bounds.z, offset.z, boundsOffset.x,
boundsOffset.y, boundsOffset.z);
return true;
}
@ -925,7 +927,7 @@ void track_paint_util_draw_pier(
hasFence = track_paint_util_has_fence(EDGE_NE, position, tileElement, ride, get_current_rotation());
imageId =
(hasFence ? SPR_STATION_PIER_EDGE_NE_FENCED : SPR_STATION_PIER_EDGE_NE) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 6, 32, 1, height, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 1, height, 2, 0, height);
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
imageId = SPR_STATION_PIER_EDGE_SW | session->TrackColours[SCHEME_SUPPORTS];
@ -944,7 +946,7 @@ void track_paint_util_draw_pier(
hasFence = track_paint_util_has_fence(EDGE_NW, position, tileElement, ride, rotation);
imageId =
(hasFence ? SPR_STATION_PIER_EDGE_NW_FENCED : SPR_STATION_PIER_EDGE_NW) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 6, 1, height, 0, 2, height, rotation);
sub_98197C(session, imageId, 0, 0, 32, 6, 1, height, 0, 2, height);
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
imageId = SPR_STATION_PIER_EDGE_SE | session->TrackColours[SCHEME_SUPPORTS];
@ -1051,8 +1053,9 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint(paint_session * s
LocationXYZ16 boundsOffset = (boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 }
: boundsOffsets[direction][index][0]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z);
}
if (sprites[direction][index][1] != 0)
{
@ -1062,8 +1065,9 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint(paint_session * s
LocationXYZ16 boundsOffset = (boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 }
: boundsOffsets[direction][index][1]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[1], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[1], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z);
}
}
@ -1153,8 +1157,9 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint(paint_session * s
LocationXYZ16 boundsOffset = (boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 }
: boundsOffsets[direction][index][0]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[0], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z);
}
if (sprites[direction][index][1] != 0)
{
@ -1164,8 +1169,9 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint(paint_session * s
LocationXYZ16 boundsOffset = (boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 }
: boundsOffsets[direction][index][1]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[1], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[1], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z);
}
}
@ -1327,8 +1333,9 @@ void track_paint_util_eighth_to_diag_tiles_paint(paint_session * session, const
LocationXYZ16 boundsOffset =
(boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 } : boundsOffsets[direction][index]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[direction][index],
height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness[direction][index], height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z);
}
const LocationXY16 defaultDiagTileOffsets[4] = {
@ -1369,8 +1376,9 @@ void track_paint_util_diag_tiles_paint(paint_session * session, sint8 thickness,
LocationXYZ16 boundsOffset =
(boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 } : boundsOffsets[direction]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x,
boundsOffset.y, height + boundsOffset.z);
}
const uint8 mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = { 6, 4, 5, 3, 1, 2, 0 };
@ -1489,8 +1497,9 @@ void track_paint_util_right_quarter_turn_5_tiles_paint(paint_sessi
LocationXYZ16 boundsOffset =
(boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 } : boundsOffsets[direction][index]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x,
boundsOffset.y, height + boundsOffset.z);
}
void track_paint_util_right_quarter_turn_5_tiles_paint_2(paint_session * session, sint16 height, sint32 direction,
@ -1505,9 +1514,10 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_2(paint_session * session
const sprite_bb * spriteBB = &sprites[direction][sprite];
uint32 imageId = spriteBB->sprite_id | colourFlags;
sub_98197C(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, spriteBB->bb_offset.x, spriteBB->bb_offset.y,
height + spriteBB->bb_offset.z, rotation);
sub_98197C(
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, spriteBB->bb_offset.x, spriteBB->bb_offset.y,
height + spriteBB->bb_offset.z);
}
void track_paint_util_right_quarter_turn_5_tiles_paint_3(paint_session * session, sint16 height, sint32 direction,
@ -1656,8 +1666,9 @@ void track_paint_util_right_quarter_turn_3_tiles_paint(paint_sessi
LocationXYZ16 boundsOffset =
(boundsOffsets == nullptr ? LocationXYZ16{ offset.x, offset.y, 0 } : boundsOffsets[direction][index]);
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height,
boundsOffset.x, boundsOffset.y, height + boundsOffset.z, rotation);
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, thickness, height, boundsOffset.x,
boundsOffset.y, height + boundsOffset.z);
}
void track_paint_util_right_quarter_turn_3_tiles_paint_2(paint_session * session, sint8 thickness, sint16 height,
@ -1688,13 +1699,13 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(pain
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
}
break;
@ -1703,13 +1714,13 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(pain
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
}
break;
@ -1718,13 +1729,13 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(pain
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
}
break;
@ -1733,13 +1744,13 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_2_with_height_offset(pain
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
}
break;
@ -1756,9 +1767,10 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_3(paint_session * session
return;
}
const sprite_bb * spriteBB = &sprites[direction][sprite];
sub_98197C(session, spriteBB->sprite_id | colourFlags, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y,
spriteBB->bb_size.x, spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, spriteBB->offset.z + height,
spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z, rotation);
sub_98197C(
session, spriteBB->sprite_id | colourFlags, (sint8)spriteBB->offset.x, (sint8)spriteBB->offset.y, spriteBB->bb_size.x,
spriteBB->bb_size.y, (sint8)spriteBB->bb_size.z, spriteBB->offset.z + height, spriteBB->bb_offset.x,
spriteBB->bb_offset.y, height + spriteBB->bb_offset.z);
}
void track_paint_util_right_quarter_turn_3_tiles_paint_4(paint_session * session, sint16 height, sint32 direction,
@ -1872,13 +1884,13 @@ void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(paint_s
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 0, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
}
break;
@ -1887,13 +1899,13 @@ void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(paint_s
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 0, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
}
break;
@ -1902,13 +1914,13 @@ void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(paint_s
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 0, 16, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
}
break;
@ -1917,13 +1929,13 @@ void track_paint_util_left_quarter_turn_3_tiles_paint_with_height_offset(paint_s
switch (trackSequence)
{
case 0:
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 20, 32, thickness, height, 6, 0, height + heightOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 16, 16, thickness, height, 16, 16, height + heightOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset, rotation);
sub_98197C(session, imageId, 0, 0, 32, 20, thickness, height, 0, 6, height + heightOffset);
break;
}
break;
@ -1981,16 +1993,16 @@ void track_paint_util_left_quarter_turn_1_tile_paint(paint_session * session, si
switch (direction)
{
case 0:
sub_98197C(session, imageId, 0, 0, 26, 24, thickness, height, 6, 2, height + boundBoxZOffset, rotation);
sub_98197C(session, imageId, 0, 0, 26, 24, thickness, height, 6, 2, height + boundBoxZOffset);
break;
case 1:
sub_98197C(session, imageId, 0, 0, 26, 26, thickness, height, 0, 0, height + boundBoxZOffset, rotation);
sub_98197C(session, imageId, 0, 0, 26, 26, thickness, height, 0, 0, height + boundBoxZOffset);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 24, 26, thickness, height, 2, 6, height + boundBoxZOffset, rotation);
sub_98197C(session, imageId, 0, 0, 24, 26, thickness, height, 2, 6, height + boundBoxZOffset);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 24, 24, thickness, height, 6, 6, height + boundBoxZOffset, rotation);
sub_98197C(session, imageId, 0, 0, 24, 24, thickness, height, 6, 6, height + boundBoxZOffset);
break;
}
}
@ -2046,11 +2058,11 @@ void track_paint_util_spinning_tunnel_paint(paint_session * session, sint8 thick
imageId = trackSpritesGhostTrainSpinningTunnel[direction & 1][1][frame] | colourFlags;
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 26, 1, 23, height, 4, 28, height, rotation);
sub_98197C(session, imageId, 0, 0, 26, 1, 23, height, 4, 28, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 26, 23, height, 28, 4, height, rotation);
sub_98197C(session, imageId, 0, 0, 1, 26, 23, height, 28, 4, height);
}
}
@ -2213,7 +2225,7 @@ void track_paint(paint_session * session, uint8 direction, sint32 height, const
uint32 ebx = 0x20381689 + (height + 8) / 16;
ebx += get_height_marker_offset();
ebx -= gMapBaseZ;
sub_98197C(session, ebx, 16, 16, 1, 1, 0, height + ax + 3, 1000, 1000, 2047, get_current_rotation());
sub_98197C(session, ebx, 16, 16, 1, 1, 0, height + ax + 3, 1000, 1000, 2047);
}
}

View File

@ -915,8 +915,8 @@ static void vehicle_sprite_paint(paint_session * session, rct_vehicle * vehicle,
uint32 rotation = get_current_rotation();
sint32 image_id =
baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | IMAGE_TYPE_REMAP_2_PLUS;
paint_struct * ps = sub_98197C(session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y,
bb.offset_z + z, rotation);
paint_struct * ps = sub_98197C(
session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z);
if (ps != nullptr)
{
ps->tertiary_colour = vehicle->colours_extended;
@ -3042,7 +3042,7 @@ void vehicle_paint(paint_session * session, rct_vehicle * vehicle, sint32 imageD
if (vehicle->flags & SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE)
{
uint32 ebx = 22965 + vehicle->animation_frame;
sub_98197C(session, ebx, 0, 0, 1, 1, 0, z, 0, 0, z + 2, get_current_rotation());
sub_98197C(session, ebx, 0, 0, 1, 1, 0, z, 0, 0, z + 2);
return;
}

View File

@ -471,13 +471,13 @@ static void air_powered_vertical_rc_track_banked_right_quarter_turn_5(
{
uint32 imageId =
SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_NW_SW_PART_4 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height);
}
else if (direction == 3 && trackSequence == 0)
{
uint32 imageId =
SPR_AIR_POWERED_VERTICAL_RC_BANKED_QUARTER_TURN_5_FRONT_SE_NE_PART_0 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height);
}
track_paint_util_right_quarter_turn_5_tiles_wooden_supports(session, height, direction, trackSequence);
@ -783,7 +783,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up(
{
floorImageId = SPR_FLOOR_PLANKS | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98197C(session, floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height, get_current_rotation());
sub_98197C(session, floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height);
sub_98199C_rotated(session, direction, supportsImageId, 0, 0, 26, 26, 126, height, 3, 3, height);
}
else

View File

@ -1665,7 +1665,7 @@ void junior_rc_paint_station(
{
// height -= 2 (height - 2)
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
// height += 2 (height)
if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER)
@ -1687,7 +1687,7 @@ void junior_rc_paint_station(
{
// height -= 2 (height - 2)
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
// height += 2 (height)
if (track_element_get_type(tileElement) == TRACK_ELEM_END_STATION && rideType == RIDE_TYPE_JUNIOR_ROLLER_COASTER)
@ -1932,13 +1932,13 @@ static void junior_rc_flat_to_left_bank_paint_setup(
image_id = junior_rc_track_pieces_flat_to_left_bank[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, 0);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, 0);
}
@ -1949,11 +1949,11 @@ static void junior_rc_flat_to_left_bank_paint_setup(
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 32, 26, height, 27, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 1, 26, height, 0, 27, height);
}
}
@ -1985,13 +1985,13 @@ static void junior_rc_flat_to_right_bank_paint_setup(
image_id = junior_rc_track_pieces_flat_to_right_bank[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, 0);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, 0);
}
@ -2002,11 +2002,11 @@ static void junior_rc_flat_to_right_bank_paint_setup(
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 32, 26, height, 27, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 1, 26, height, 0, 27, height);
}
}
@ -2124,12 +2124,12 @@ static void junior_rc_banked_right_quarter_turn_5_tiles_paint_setup(
if (direction == 1 && trackSequence == 6)
{
uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_NW_SW_PART_4_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height);
}
else if (direction == 3 && trackSequence == 0)
{
uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_5_TILES_SE_NE_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height);
}
sint32 supportHeight = height;
@ -2226,11 +2226,11 @@ static void junior_rc_left_bank_to_25_deg_up_paint_setup(
image_id = junior_rc_track_pieces_left_banked_to_25_deg_up[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height);
}
if (junior_rc_track_pieces_left_banked_to_25_deg_up[direction][1] != 0)
@ -2239,11 +2239,11 @@ static void junior_rc_left_bank_to_25_deg_up_paint_setup(
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height);
}
}
@ -2291,11 +2291,11 @@ static void junior_rc_right_bank_to_25_deg_up_paint_setup(
image_id = junior_rc_track_pieces_right_banked_to_25_deg_up[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height);
}
if (junior_rc_track_pieces_right_banked_to_25_deg_up[direction][1] != 0)
@ -2304,11 +2304,11 @@ static void junior_rc_right_bank_to_25_deg_up_paint_setup(
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height);
}
}
@ -2369,13 +2369,13 @@ static void junior_rc_25_deg_up_to_left_bank_paint_setup(
image_id = junior_rc_track_pieces_25_deg_up_to_left_bank[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height);
paint_util_push_tunnel_right(session, tunnelHeight, tunnelType);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height);
paint_util_push_tunnel_left(session, tunnelHeight, tunnelType);
}
@ -2386,11 +2386,11 @@ static void junior_rc_25_deg_up_to_left_bank_paint_setup(
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height);
}
}
@ -2435,13 +2435,13 @@ static void junior_rc_25_deg_up_to_right_bank_paint_setup(
image_id = junior_rc_track_pieces_25_deg_up_to_right_bank[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 20, 32, 1, height, 6, 0, height);
paint_util_push_tunnel_right(session, tunnelHeight, tunnelType);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 20, 1, height, 0, 6, height);
paint_util_push_tunnel_left(session, tunnelHeight, tunnelType);
}
@ -2452,11 +2452,11 @@ static void junior_rc_25_deg_up_to_right_bank_paint_setup(
if (direction & 1)
{
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 32, 34, height, 27, 0, height);
}
else
{
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 32, 1, 34, height, 0, 27, height);
}
}
@ -2556,10 +2556,10 @@ static void junior_rc_left_bank_paint_setup(
uint32 image_id;
image_id = junior_rc_track_pieces_left_bank[direction] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 0, 0, junior_rc_left_bank_bound_lengths[direction].x,
junior_rc_left_bank_bound_lengths[direction].y, (sint8)junior_rc_left_bank_bound_lengths[direction].z, height,
junior_rc_left_bank_bound_offsets[direction].x, junior_rc_left_bank_bound_offsets[direction].y, height,
get_current_rotation());
sub_98197C(
session, image_id, 0, 0, junior_rc_left_bank_bound_lengths[direction].x, junior_rc_left_bank_bound_lengths[direction].y,
(sint8)junior_rc_left_bank_bound_lengths[direction].z, height, junior_rc_left_bank_bound_offsets[direction].x,
junior_rc_left_bank_bound_offsets[direction].y, height);
if (direction & 1)
{
@ -3147,12 +3147,12 @@ static void junior_rc_right_quarter_turn_3_tiles_bank_paint_setup(
if (direction == 1 && trackSequence == 3)
{
uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_NW_SW_PART_2_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height);
}
else if (direction == 3 && trackSequence == 0)
{
uint32 imageId = SPR_JUNIOR_RC_BANKED_QUARTER_TURN_3_TILES_SE_NE_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height);
}
uint8 supportType[2][4] = { { 1, 0, 0, 2 }, { 2, 0, 0, 1 } };
@ -3215,8 +3215,9 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up(
break;
}
if (imageId != 0)
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height,
boundsOffset.x, boundsOffset.y, height, get_current_rotation());
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height, boundsOffset.x,
boundsOffset.y, height);
if (direction == 0 && trackSequence == 0)
{
@ -3298,8 +3299,9 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down(
break;
}
if (imageId != 0)
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height,
boundsOffset.x, boundsOffset.y, height, get_current_rotation());
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, boundsLength.x, boundsLength.y, 1, height, boundsOffset.x,
boundsOffset.y, height);
if (direction == 0 && trackSequence == 0)
{
@ -4835,7 +4837,7 @@ static void junior_rc_diag_flat_to_left_bank_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27);
}
if (trackSequence == 3)
{
@ -4866,7 +4868,7 @@ static void junior_rc_diag_flat_to_right_bank_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27);
}
if (trackSequence == 3)
{
@ -4897,7 +4899,7 @@ static void junior_rc_diag_left_bank_to_flat_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_RIGHT_BANK_E_W_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27);
}
if (trackSequence == 3)
{
@ -4928,7 +4930,7 @@ static void junior_rc_diag_right_bank_to_flat_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_FLAT_TO_LEFT_BANK_W_E_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 27);
}
if (trackSequence == 3)
{
@ -4959,7 +4961,7 @@ static void junior_rc_diag_left_bank_to_25_deg_up_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -4989,7 +4991,7 @@ static void junior_rc_diag_right_bank_to_25_deg_up_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5019,7 +5021,7 @@ static void junior_rc_diag_25_deg_up_to_left_bank_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5049,7 +5051,7 @@ static void junior_rc_diag_25_deg_up_to_right_bank_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5079,7 +5081,7 @@ static void junior_rc_diag_left_bank_to_25_deg_down_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_RIGHT_BANK_E_W_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5109,7 +5111,7 @@ static void junior_rc_diag_right_bank_to_25_deg_down_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_25_DEG_UP_TO_LEFT_BANK_W_E_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5139,7 +5141,7 @@ static void junior_rc_diag_25_deg_down_to_left_bank_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_RIGHT_BANK_TO_25_DEG_UP_E_W_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5169,7 +5171,7 @@ static void junior_rc_diag_25_deg_down_to_right_bank_paint_setup(
{
uint32 imageId = SPR_JUNIOR_RC_DIAG_LEFT_BANK_TO_25_DEG_UP_W_E_PART_0_2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 0, height, -16, -16, height + 35);
}
if (trackSequence == 3)
{
@ -5284,11 +5286,11 @@ void junior_rc_paint_track_60_deg_up(
image_id |= junior_rc_track_pieces_60_deg_up[chainType][direction];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y, junior_rc_60_deg_up_bound_lengths[direction].x,
junior_rc_60_deg_up_bound_lengths[direction].y, junior_rc_60_deg_up_bound_thickness[direction], height,
junior_rc_60_deg_up_bound_offsets[direction].x, junior_rc_60_deg_up_bound_offsets[direction].y, height,
get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y, junior_rc_60_deg_up_bound_lengths[direction].x,
junior_rc_60_deg_up_bound_lengths[direction].y, junior_rc_60_deg_up_bound_thickness[direction], height,
junior_rc_60_deg_up_bound_offsets[direction].x, junior_rc_60_deg_up_bound_offsets[direction].y, height);
switch (direction)
{
@ -5373,13 +5375,13 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up(
image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][0];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y, junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, height);
if (junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][1] != 0)
{
@ -5387,13 +5389,14 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up(
image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[chainType][direction][1];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, height);
}
switch (direction)
@ -5463,13 +5466,13 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up(
image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][0];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y, junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, height);
if (junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][1] != 0)
{
@ -5477,13 +5480,14 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up(
image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[chainType][direction][1];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_tile_offsets[direction].x,
(sint8)junior_rc_60_deg_up_tile_offsets[direction].y,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y,
junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, height);
}
switch (direction)
@ -5622,10 +5626,10 @@ void junior_rc_paint_track_diag_60_deg_up_to_25_deg_up(
{
if (direction == 1 && trackSequence == 3)
{
sub_98197C(session,
junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[chainType][direction] |
session->TrackColours[SCHEME_TRACK],
-16, -16, 16, 16, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(
session,
junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[chainType][direction] | session->TrackColours[SCHEME_TRACK], -16,
-16, 16, 16, 1, height, 0, 0, height);
}
else
{
@ -5656,10 +5660,10 @@ void junior_rc_paint_track_diag_25_deg_down_to_60_deg_down(
{
if (direction == 3 && trackSequence == 0)
{
sub_98197C(session,
junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[chainType][direction] |
session->TrackColours[SCHEME_TRACK],
-16, -16, 16, 16, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(
session,
junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[chainType][direction] | session->TrackColours[SCHEME_TRACK],
-16, -16, 16, 16, 1, height, 0, 0, height);
}
else
{
@ -5819,13 +5823,13 @@ static void junior_rc_flat_to_60_deg_up_paint_setup(
image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][0];
sub_98197C(session, image_id, (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x,
(sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_thickness[direction], height + 24,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x,
(sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_thickness[direction], height + 24,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y,
height);
if (junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1] != 0)
{
@ -5833,13 +5837,13 @@ static void junior_rc_flat_to_60_deg_up_paint_setup(
image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1];
sub_98197C(session, image_id, (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x,
(sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y,
junior_rc_flat_to_60_deg_up_bound_thickness[direction], height,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x,
(sint8)junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, junior_rc_flat_to_60_deg_up_bound_thickness[direction],
height, junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, height);
}
switch (direction)
@ -5898,13 +5902,13 @@ static void junior_rc_60_deg_up_to_flat_paint_setup(
image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][0];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x,
(sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_thickness[direction], height + 24,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x,
(sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y,
junior_rc_flat_to_60_deg_up_bound_thickness[direction], height + 24,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y,
height);
if (junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1] != 0)
{
@ -5912,13 +5916,13 @@ static void junior_rc_60_deg_up_to_flat_paint_setup(
image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1];
sub_98197C(session, image_id, (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x,
(sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y,
junior_rc_flat_to_60_deg_up_bound_thickness[direction], height,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, height, get_current_rotation());
sub_98197C(
session, image_id, (sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x,
(sint8)junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, junior_rc_flat_to_60_deg_up_bound_thickness[direction],
height, junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x,
junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, height);
}
switch (direction)

View File

@ -211,13 +211,13 @@ static void paint_reverse_freefall_rc_flat(
if (direction & 1)
{
uint32 imageId = SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
else
{
uint32 imageId = SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
@ -241,7 +241,7 @@ static void paint_reverse_freefall_rc_station(
{
// height -= 2 (height - 2)
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
// height += 2 (height)
imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK];
@ -255,7 +255,7 @@ static void paint_reverse_freefall_rc_station(
{
// height -= 2 (height - 2)
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
// height += 2 (height)
imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK];
@ -339,7 +339,7 @@ static void paint_reverse_freefall_rc_slope(
{
floorImageId = SPR_FLOOR_PLANKS | session->TrackColours[SCHEME_SUPPORTS];
}
sub_98197C(session, floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height, get_current_rotation());
sub_98197C(session, floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height);
sub_98199C_rotated(session, direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height,
isDirection03 ? 3 : 11, 3, height);
}
@ -383,7 +383,7 @@ static void paint_reverse_freefall_rc_vertical(
case 0:
supportsImageId =
reverse_freefall_rc_track_pieces_vertical_supports[direction] | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, supportsImageId, 0, 0, 26, 26, 79, height, 3, 3, height, get_current_rotation());
sub_98197C(session, supportsImageId, 0, 0, 26, 26, 79, height, 3, 3, height);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
paint_util_set_general_support_height(session, height + 80, 0x20);
break;

View File

@ -203,8 +203,8 @@ void vehicle_visual_virginia_reel(paint_session * session, sint32 x, sint32 imag
const vehicle_boundbox * bb = &_virginiaReelBoundbox[j];
image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98197C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z);
if (session->Unk140E9A8->zoom_level < 2 && vehicle->num_peeps > 0)
{
@ -247,12 +247,12 @@ static void paint_virginia_reel_track_flat(
uint32 imageId = sprites[direction] | session->TrackColours[SCHEME_TRACK];
if (direction & 1)
{
sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
else
{
sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
@ -282,11 +282,11 @@ static void paint_virginia_reel_track_25_deg_up(
if (direction & 1)
{
ps = sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height);
}
else
{
ps = sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height);
}
if (direction == 1 || direction == 2)
@ -338,27 +338,27 @@ static void paint_virginia_reel_track_flat_to_25_deg_up(
switch (direction)
{
case 0:
sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height);
wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
case 1:
ps = sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height);
session->WoodenSupportsPrependTo = ps;
wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height, TUNNEL_8);
break;
case 2:
ps = sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height);
session->WoodenSupportsPrependTo = ps;
wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height, TUNNEL_8);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height);
wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
@ -389,11 +389,11 @@ static void paint_virginia_reel_track_25_deg_up_to_flat(
if (direction & 1)
{
ps = sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height);
}
else
{
ps = sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height);
}
if (direction == 1 || direction == 2)
@ -475,7 +475,7 @@ static void paint_virginia_reel_station(
if (direction == 0 || direction == 2)
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height);
imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 2, height, 0, 0, height, get_current_rotation());
@ -485,7 +485,7 @@ static void paint_virginia_reel_station(
else if (direction == 1 || direction == 3)
{
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height);
imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 2, height, 0, 0, height, get_current_rotation());

View File

@ -817,16 +817,16 @@ static void wild_mouse_track_left_quarter_turn_1(
switch (direction)
{
case 0:
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);
break;
case 1:
sub_98196C(session, imageId, 0, 0, 26, 26, 2, height);
break;
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);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 24, 24, 2, height, 6, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 24, 2, height, 6, 6, height);
break;
}
metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 4, -1, height, session->TrackColours[SCHEME_SUPPORTS]);

View File

@ -429,8 +429,9 @@ static void wooden_rc_track_paint_bb(paint_session * session, const sprite_bb_2
uint32 imageId = bb->sprite_id_a | wooden_rc_get_track_colour(session);
uint32 railsImageId = bb->sprite_id_b | wooden_rc_get_rails_colour(session);
sub_98197C(session, imageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z,
height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z, get_current_rotation());
sub_98197C(
session, imageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y, (sint8)bb->bb_size.z,
height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z);
sub_98199C(session, railsImageId, (sint8)bb->offset.x, (sint8)bb->offset.y, bb->bb_size.x, bb->bb_size.y,
(sint8)bb->bb_size.z, height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z,
get_current_rotation());

View File

@ -637,13 +637,13 @@ static void wooden_wild_mouse_track_left_quarter_turn_1(
switch (direction)
{
case 0:
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);
break;
case 1:
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height);
break;
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);
break;
case 3:
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height);

View File

@ -198,11 +198,11 @@ static void paint_car_ride_track_25_deg_up(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 2, 32, 20, 1, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 2, 0, 20, 32, 1, height, 6, 0, height);
}
switch (direction)
@ -240,11 +240,11 @@ static void paint_car_ride_track_flat_to_25_deg_up(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 2, 32, 20, 1, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 2, 0, 20, 32, 1, height, 6, 0, height);
}
switch (direction)
@ -282,11 +282,11 @@ static void paint_car_ride_track_25_deg_up_to_flat(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 2, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 2, 32, 20, 1, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 2, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 2, 0, 20, 32, 1, height, 6, 0, height);
}
switch (direction)
@ -361,12 +361,12 @@ static void paint_car_ride_station(
if (direction == 0 || direction == 2)
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
}
else if (direction == 1 || direction == 3)
{
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
}
imageId = car_ride_track_pieces_flat[direction] | session->TrackColours[SCHEME_TRACK];
@ -473,13 +473,13 @@ static void paint_car_ride_track_left_quarter_turn_1_tile(
switch (direction)
{
case 0:
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);
break;
case 1:
sub_98196C(session, imageId, 0, 0, 26, 26, 1, height);
break;
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);
break;
case 3:
sub_98196C(session, imageId, 6, 6, 24, 24, 1, height);
@ -559,16 +559,16 @@ static void paint_car_ride_track_60_deg_up(
switch (direction)
{
case 0:
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height);
break;
case 1:
sub_98197C(session, imageId, 0, 0, 1, 32, 98, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 98, height, 27, 0, height);
break;
case 2:
sub_98197C(session, imageId, 0, 0, 32, 1, 98, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 98, height, 0, 27, height);
break;
case 3:
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height);
break;
}
@ -613,11 +613,11 @@ static void paint_car_ride_track_25_deg_up_to_60_deg_up(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height);
}
if (car_ride_track_pieces_25_deg_up_to_60_deg_up[direction][1] != 0)
@ -626,11 +626,11 @@ static void paint_car_ride_track_25_deg_up_to_60_deg_up(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 66, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 66, height, 0, 27, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 66, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 66, height, 27, 0, height);
}
}
@ -675,11 +675,11 @@ static void paint_car_ride_track_60_deg_up_to_25_deg_up(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height);
}
if (car_ride_track_pieces_60_deg_up_to_25_deg_up[direction][1] != 0)
@ -688,11 +688,11 @@ static void paint_car_ride_track_60_deg_up_to_25_deg_up(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 66, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 66, height, 0, 27, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 66, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 66, height, 27, 0, height);
}
}

View File

@ -45,8 +45,7 @@ static void paint_circus_show_tent(paint_session * session, uint8 rideIndex, uin
imageId += direction;
}
sub_98197C(session, imageId | imageColourFlags, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3,
get_current_rotation());
sub_98197C(session, imageId | imageColourFlags, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3);
session->CurrentlyDrawnItem = savedTileElement;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;

View File

@ -64,8 +64,9 @@ static void paint_crooked_house_structure(paint_session * session, uint8 directi
uint32 image_id = (direction + rideEntry->vehicles[0].base_image_id) | session->TrackColours[SCHEME_MISC];
rct_crooked_house_bound_box boundBox = crooked_house_data[segment];
sub_98197C(session, image_id, x_offset, y_offset, boundBox.length_x, boundBox.length_y, 127, height + 3, boundBox.offset_x,
boundBox.offset_y, height + 3, get_current_rotation());
sub_98197C(
session, image_id, x_offset, y_offset, boundBox.length_x, boundBox.length_y, 127, height + 3, boundBox.offset_x,
boundBox.offset_y, height + 3);
}
static void paint_crooked_house(

View File

@ -60,7 +60,7 @@ static void paint_dodgems(
wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr);
uint32 imageId = SPR_DODGEMS_FLOOR | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 30, 30, 1, height, 1, 1, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 30, 30, 1, height, 1, 1, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_SUPPORTS], height,
dodgems_fence_sprites, get_current_rotation());

View File

@ -95,8 +95,9 @@ static void paint_ferris_wheel_structure(paint_session * session, uint8 rideInde
ferris_wheel_bound_box boundBox = ferris_wheel_data[direction];
imageId = (22150 + (direction & 1) * 2) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height, get_current_rotation());
sub_98197C(
session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
@ -182,12 +183,12 @@ static void paint_ferris_wheel(
{
// Bound box is slightly different from track_paint_util_paint_fences
imageId = SPR_FENCE_ROPE_SE | colourFlags;
sub_98197C(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3, rotation);
sub_98197C(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3);
}
if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, rotation))
{
imageId = SPR_FENCE_ROPE_SW | colourFlags;
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2, rotation);
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2);
}
switch (relativeTrackSequence)

View File

@ -56,7 +56,7 @@ static void paint_flying_saucers(
wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr);
uint32 imageId = SPR_FLYING_SAUCERS_FLOOR | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 30, 30, 1, height, 1, 1, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 30, 30, 1, height, 1, 1, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_TRACK], height,
flying_saucers_fence_sprites, get_current_rotation());

View File

@ -149,11 +149,11 @@ static void paint_ghost_train_track_flat(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
}
if (direction == 0 || direction == 2)
@ -189,21 +189,21 @@ static void paint_ghost_train_track_25_deg_up(
uint32 imageId = ghost_train_track_pieces_25_deg_up[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
}
imageId = ghost_train_track_pieces_25_deg_up[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 23, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 23, height, 0, 27, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 23, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 23, height, 27, 0, height);
}
if (track_paint_util_should_paint_supports(position))
@ -246,21 +246,21 @@ static void paint_ghost_train_track_flat_to_25_deg_up(
uint32 imageId = ghost_train_track_pieces_flat_to_25_deg_up[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
}
imageId = ghost_train_track_pieces_flat_to_25_deg_up[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 15, height, 0, 27, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 15, height, 27, 0, height);
}
if (track_paint_util_should_paint_supports(position))
@ -302,21 +302,21 @@ static void paint_ghost_train_track_25_deg_up_to_flat_shared(
uint32 imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
}
imageId = ghost_train_track_pieces_25_deg_up_to_flat[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 15, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 15, height, 0, 27, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 15, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 15, height, 27, 0, height);
}
if (track_paint_util_should_paint_supports(position))
@ -424,12 +424,12 @@ static void paint_ghost_train_station(
if (direction == 0 || direction == 2)
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 3, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 3, height - 2, 0, 2, height);
}
else if (direction == 1 || direction == 3)
{
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 3, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 3, height - 2, 2, 0, height);
}
imageId = ghost_train_track_pieces_flat[direction] | session->TrackColours[SCHEME_TRACK];
@ -567,11 +567,11 @@ static void paint_ghost_train_track_spinning_tunnel(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 28, 20, 3, height, 2, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 20, 3, height, 2, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 28, 3, height, 6, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 28, 3, height, 6, 2, height);
}
track_paint_util_spinning_tunnel_paint(session, 3, height, direction, get_current_rotation());
@ -606,11 +606,11 @@ static void paint_ghost_train_track_brakes(
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
}
if (direction == 0 || direction == 2)

View File

@ -57,8 +57,9 @@ static void paint_haunted_house_structure(paint_session * session, uint8 rideInd
uint32 imageId = (baseImageId + direction) | session->TrackColours[SCHEME_MISC];
haunted_house_bound_box boundBox = haunted_house_data[part];
sub_98197C(session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height, get_current_rotation());
sub_98197C(
session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
rct_drawpixelinfo * dpi = session->Unk140E9A8;
if (dpi->zoom_level == 0 && frameNum != 0)

View File

@ -92,91 +92,86 @@ static void maze_paint_setup(
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_CENTRE;
if (maze_entry & MAZE_ENTRY_FLAG_3)
sub_98197C(session, image_id, 2, 2, 10, 10, 9, height, 3, 3, height + 2, rotation);
sub_98197C(session, image_id, 2, 2, 10, 10, 9, height, 3, 3, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_7)
sub_98197C(session, image_id, 2, 18, 10, 10, 9, height, 3, 19, height + 2, rotation);
sub_98197C(session, image_id, 2, 18, 10, 10, 9, height, 3, 19, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_11)
sub_98197C(session, image_id, 18, 18, 10, 10, 9, height, 19, 19, height + 2, rotation);
sub_98197C(session, image_id, 18, 18, 10, 10, 9, height, 19, 19, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_15)
sub_98197C(session, image_id, 18, 2, 10, 10, 9, height, 19, 3, height + 2, rotation);
sub_98197C(session, image_id, 18, 2, 10, 10, 9, height, 19, 3, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_LEFT;
if (maze_entry & MAZE_ENTRY_FLAG_0)
sub_98197C(session, image_id, 2, 0, 10, 1, 9, height, 3, 1, height + 2, rotation);
sub_98197C(session, image_id, 2, 0, 10, 1, 9, height, 3, 1, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_13)
sub_98197C(session, image_id, 18, 0, 10, 1, 9, height, 19, 1, height + 2, rotation);
sub_98197C(session, image_id, 18, 0, 10, 1, 9, height, 19, 1, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_RIGHT;
if (maze_entry & MAZE_ENTRY_FLAG_5)
sub_98197C(session, image_id, 2, 30, 10, 1, 9, height, 3, 30, height + 2, rotation);
sub_98197C(session, image_id, 2, 30, 10, 1, 9, height, 3, 30, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_8)
sub_98197C(session, image_id, 18, 30, 10, 1, 9, height, 19, 30, height + 2, rotation);
sub_98197C(session, image_id, 18, 30, 10, 1, 9, height, 19, 30, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_RIGHT;
if (maze_entry & MAZE_ENTRY_FLAG_1)
sub_98197C(session, image_id, 0, 2, 1, 10, 9, height, 1, 3, height + 2, rotation);
sub_98197C(session, image_id, 0, 2, 1, 10, 9, height, 1, 3, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_4)
sub_98197C(session, image_id, 0, 18, 1, 10, 9, height, 1, 19, height + 2, rotation);
sub_98197C(session, image_id, 0, 18, 1, 10, 9, height, 1, 19, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_LEFT;
if (maze_entry & MAZE_ENTRY_FLAG_12)
sub_98197C(session, image_id, 30, 2, 1, 10, 9, height, 30, 3, height + 2, rotation);
sub_98197C(session, image_id, 30, 2, 1, 10, 9, height, 30, 3, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_9)
sub_98197C(session, image_id, 30, 18, 1, 10, 9, height, 30, 19, height + 2, rotation);
sub_98197C(session, image_id, 30, 18, 1, 10, 9, height, 30, 19, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NE_SW;
if (maze_entry & MAZE_ENTRY_FLAG_2)
sub_98197C(session, image_id, 2, 14, 10, 4, 9, height, 3, 14, height + 2, rotation);
sub_98197C(session, image_id, 2, 14, 10, 4, 9, height, 3, 14, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_10)
sub_98197C(session, image_id, 18, 14, 10, 4, 9, height, 19, 14, height + 2, rotation);
sub_98197C(session, image_id, 18, 14, 10, 4, 9, height, 19, 14, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NW_SE;
if (maze_entry & MAZE_ENTRY_FLAG_14)
sub_98197C(session, image_id, 14, 2, 4, 10, 9, height, 14, 3, height + 2, rotation);
sub_98197C(session, image_id, 14, 2, 4, 10, 9, height, 14, 3, height + 2);
if (maze_entry & MAZE_ENTRY_FLAG_6)
sub_98197C(session, image_id, 14, 18, 4, 10, 9, height, 14, 19, height + 2, rotation);
sub_98197C(session, image_id, 14, 18, 4, 10, 9, height, 14, 19, height + 2);
image_id = base_image_id + SPR_MAZE_OFFSET_COLUMN_CORNER;
if (maze_entry & (MAZE_ENTRY_FLAG_0 | MAZE_ENTRY_FLAG_1))
sub_98197C(session, image_id, 0, 0, 1, 1, 9, height, 1, 1, height + 2, rotation);
sub_98197C(session, image_id, 0, 0, 1, 1, 9, height, 1, 1, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_4 | MAZE_ENTRY_FLAG_5))
sub_98197C(session, image_id, 0, 30, 1, 1, 9, height, 1, 30, height + 2, rotation);
sub_98197C(session, image_id, 0, 30, 1, 1, 9, height, 1, 30, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_8 | MAZE_ENTRY_FLAG_9))
sub_98197C(session, image_id, 30, 30, 1, 1, 9, height, 30, 30, height + 2, rotation);
sub_98197C(session, image_id, 30, 30, 1, 1, 9, height, 30, 30, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_12 | MAZE_ENTRY_FLAG_13))
sub_98197C(session, image_id, 30, 0, 1, 1, 9, height, 30, 1, height + 2, rotation);
sub_98197C(session, image_id, 30, 0, 1, 1, 9, height, 30, 1, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_0 | MAZE_ENTRY_FLAG_13 | MAZE_ENTRY_FLAG_14))
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, 14, 0, 2, 1, 9, height, 15, 1, height + 2, rotation);
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, 14, 0, 2, 1, 9, height, 15, 1, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_5 | MAZE_ENTRY_FLAG_6 | MAZE_ENTRY_FLAG_8))
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, 14, 30, 2, 1, 9, height, 15, 30, height + 2, rotation);
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, 14, 30, 2, 1, 9, height, 15, 30, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_1 | MAZE_ENTRY_FLAG_2 | MAZE_ENTRY_FLAG_4))
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, 0, 14, 1, 2, 9, height, 1, 15, height + 2, rotation);
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, 0, 14, 1, 2, 9, height, 1, 15, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_9 | MAZE_ENTRY_FLAG_10 | MAZE_ENTRY_FLAG_12))
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, 30, 14, 1, 2, 9, height, 30, 15, height + 2, rotation);
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, 30, 14, 1, 2, 9, height, 30, 15, height + 2);
if (maze_entry & (MAZE_ENTRY_FLAG_2 | MAZE_ENTRY_FLAG_6 | MAZE_ENTRY_FLAG_10 | MAZE_ENTRY_FLAG_14)) {
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_CENTRE, 14, 14, 2, 2, 8, height, 15, 15, height + 2, rotation);
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_CENTRE, 14, 14, 2, 2, 8, height, 15, 15, height + 2);
paint_util_set_segment_support_height(session, SEGMENT_C4, height + 12, 0x20);
}

View File

@ -76,8 +76,7 @@ static void paint_merry_go_round_structure(paint_session * session, uint8 rideIn
}
uint32 imageId = (baseImageId + imageOffset) | imageColourFlags;
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height,
get_current_rotation());
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height);
rct_drawpixelinfo * dpi = session->Unk140E9A8;
if (dpi->zoom_level == 0 && ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK && vehicle != nullptr)

View File

@ -382,12 +382,14 @@ static paint_struct * mini_golf_paint_util_7c(paint_session * session, uint8 dir
{
if (direction & 1)
{
return sub_98197C(session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z,
z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, rotation);
return sub_98197C(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset,
bound_box_offset_y, bound_box_offset_x, bound_box_offset_z);
}
return sub_98197C(session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z,
z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, rotation);
return sub_98197C(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
static bool mini_golf_paint_util_should_draw_fence(paint_session * session, const rct_tile_element * tileElement)
@ -426,13 +428,13 @@ static void paint_mini_golf_track_flat(
if (direction & 1)
{
imageId = SPR_MINI_GOLF_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_10);
}
else
{
imageId = SPR_MINI_GOLF_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, TUNNEL_10);
}
@ -445,18 +447,18 @@ static void paint_mini_golf_track_flat(
if (direction & 1)
{
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 10, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 10, 0, height + 2);
imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 22, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 7, height, 22, 0, height + 2);
}
else
{
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 1, 7, height, 0, 10, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 7, height, 0, 10, height + 2);
imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 1, 7, height, 0, 22, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 7, height, 0, 22, height + 2);
}
}
@ -652,14 +654,14 @@ static void paint_mini_golf_station(
if (hasFence)
{
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, -10, 0, 1, 32, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, -10, 0, 1, 32, 7, height, 0, 0, height + 2);
}
bool hasSWFence = track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation());
if (hasFence)
{
imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 10, 0, 1, 32, 7, height, 31, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 10, 0, 1, 32, 7, height, 31, 0, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_NE, hasFence, entranceStyle, direction, height);
@ -674,14 +676,14 @@ static void paint_mini_golf_station(
if (hasFence)
{
imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, -10, 32, 1, 7, height, 0, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, -10, 32, 1, 7, height, 0, 0, height + 2);
}
bool hasSEFence = track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation());
if (hasFence)
{
imageId = SPR_MINI_GOLF_FLAT_FENCE_FRONT_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 10, 32, 1, 7, height, 0, 31, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 10, 32, 1, 7, height, 0, 31, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_NW, hasFence, entranceStyle, direction, height);
@ -768,11 +770,11 @@ static void paint_mini_golf_track_left_quarter_turn_1_tile(
{
case 0:
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_SW_NW | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 5, 5, 5, height, 24, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 5, 5, 5, height, 24, 0, height + 2);
break;
case 2:
imageId = SPR_MINI_GOLF_QUARTER_TURN_1_TILE_FENCE_INSIDE_NE_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 5, 5, 5, height, 0, 24, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 5, 5, 5, height, 0, 24, height + 2);
break;
}
}
@ -825,14 +827,12 @@ static void paint_mini_golf_hole_ab(paint_session * session, uint8 trackSequence
}
imageId = sprites[direction][trackSequence][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24);
if (drewSupports)
{
imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
@ -841,8 +841,7 @@ static void paint_mini_golf_hole_ab(paint_session * session, uint8 trackSequence
else
{
imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
}
@ -914,23 +913,21 @@ static void paint_mini_golf_hole_c(
{
case 0x01:
case 0x20:
sub_98197C(session, imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4);
break;
case 0x10:
case 0x31:
sub_98197C(session, imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4);
break;
default:
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24);
break;
}
if (drewSupports)
{
imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
@ -939,8 +936,7 @@ static void paint_mini_golf_hole_c(
else
{
imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
}
@ -995,21 +991,20 @@ static void paint_mini_golf_hole_d(
{
case 0x01:
case 0x32:
sub_98197C(session, imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4);
break;
case 0x02:
sub_98197C(session, imageId, 0, 0, 23, 2, 3, height, 3, 30, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 23, 2, 3, height, 3, 30, height + 4);
break;
case 0x10:
sub_98197C(session, imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4);
break;
case 0x20:
case 0x31:
sub_98197C(session, imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4);
break;
default:
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24);
break;
}
@ -1026,8 +1021,7 @@ static void paint_mini_golf_hole_d(
if (drewSupports)
{
imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
@ -1036,8 +1030,7 @@ static void paint_mini_golf_hole_d(
else
{
imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
}
@ -1091,22 +1084,21 @@ static void paint_mini_golf_hole_e(
switch ((direction << 4) | trackSequence)
{
case 0x01:
sub_98197C(session, imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 26, 3, height, 30, 3, height + 4);
break;
case 0x02:
case 0x20:
case 0x31:
sub_98197C(session, imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 26, 2, 3, height, 3, 30, height + 4);
break;
case 0x10:
sub_98197C(session, imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 24, 3, height, 30, 3, height + 4);
break;
case 0x32:
sub_98197C(session, imageId, 0, 0, 2, 23, 3, height, 30, 3, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 23, 3, height, 30, 3, height + 4);
break;
default:
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24);
break;
}
@ -1123,8 +1115,7 @@ static void paint_mini_golf_hole_e(
if (drewSupports)
{
imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
@ -1133,8 +1124,7 @@ static void paint_mini_golf_hole_e(
else
{
imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height);
}
}
@ -1217,7 +1207,7 @@ void vehicle_visual_mini_golf_player(paint_session * session, sint32 x, sint32 i
uint32 image_id = rideEntry->vehicles[0].base_image_id + 1 + ebx;
uint32 peep_palette = sprite->peep.tshirt_colour << 19 | sprite->peep.trousers_colour << 24 | 0x0A0000000;
sub_98197C(session, image_id | peep_palette, 0, 0, 1, 1, 11, z, 0, 0, z + 5, get_current_rotation());
sub_98197C(session, image_id | peep_palette, 0, 0, 1, 1, 11, z, 0, 0, z + 5);
}
/**
@ -1246,5 +1236,5 @@ void vehicle_visual_mini_golf_ball(paint_session * session, sint32 x, sint32 ima
rct_ride_entry * rideEntry = get_ride_entry(ride->subtype);
uint32 image_id = rideEntry->vehicles[0].base_image_id;
sub_98197C(session, image_id, 0, 0, 1, 1, 0, z, 0, 0, z + 3, get_current_rotation());
sub_98197C(session, image_id, 0, 0, 1, 1, 0, z, 0, 0, z + 3);
}

View File

@ -37,7 +37,7 @@ static void paint_mini_helicopters_track_station(
if (direction == 0 || direction == 2)
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation());
@ -49,7 +49,7 @@ static void paint_mini_helicopters_track_station(
else if (direction == 1 || direction == 3)
{
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());
@ -80,13 +80,13 @@ static void paint_mini_helicopters_track_flat(
if (direction & 1)
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_0);
}
else
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, TUNNEL_0);
}
@ -117,22 +117,22 @@ static void paint_mini_helicopters_track_flat_to_25_deg_up(
{
case 0:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, TUNNEL_0);
break;
case 1:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_2);
break;
case 2:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height, TUNNEL_2);
break;
case 3:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height, TUNNEL_0);
break;
}
@ -163,22 +163,22 @@ static void paint_mini_helicopters_track_25_deg_up(
{
case 0:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height - 8, TUNNEL_1);
break;
case 1:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height + 8, TUNNEL_2);
break;
case 2:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height + 8, TUNNEL_2);
break;
case 3:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height - 8, TUNNEL_1);
break;
}
@ -209,22 +209,22 @@ static void paint_mini_helicopters_track_25_deg_up_to_flat(
{
case 0:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height - 8, TUNNEL_0);
break;
case 1:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height + 8, TUNNEL_12);
break;
case 2:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height);
paint_util_push_tunnel_left(session, height + 8, TUNNEL_12);
break;
case 3:
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height);
paint_util_push_tunnel_right(session, height - 8, TUNNEL_0);
break;
}

View File

@ -154,12 +154,14 @@ static paint_struct * paint_monorail_cycles_util_7c(paint_session * session, boo
{
if (flip)
{
return sub_98197C(session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z,
z_offset, bound_box_offset_y, bound_box_offset_x, bound_box_offset_z, rotation);
return sub_98197C(
session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset,
bound_box_offset_y, bound_box_offset_x, bound_box_offset_z);
}
return sub_98197C(session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z,
z_offset, bound_box_offset_x, bound_box_offset_y, bound_box_offset_z, rotation);
return sub_98197C(
session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset,
bound_box_offset_x, bound_box_offset_y, bound_box_offset_z);
}
/** rct2: 0x0088AD48 */
@ -206,7 +208,7 @@ static void paint_monorail_cycles_station(
if (direction == 0 || direction == 2)
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height);
imageId = SPR_MONORAIL_CYCLES_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height, get_current_rotation());
@ -218,7 +220,7 @@ static void paint_monorail_cycles_station(
else if (direction == 1 || direction == 3)
{
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height);
imageId = SPR_MONORAIL_CYCLES_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height, get_current_rotation());

View File

@ -62,7 +62,7 @@ void vehicle_visual_observation_tower(paint_session * session, sint32 x, sint32
image_id =
baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | IMAGE_TYPE_REMAP_2_PLUS;
paint_struct * ps = sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, get_current_rotation());
paint_struct * ps = sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1);
if (ps != nullptr)
{
ps->tertiary_colour = vehicle->colours_extended;
@ -70,7 +70,7 @@ void vehicle_visual_observation_tower(paint_session * session, sint32 x, sint32
image_id++;
ps = sub_98197C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, get_current_rotation());
ps = sub_98197C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
if (ps != nullptr)
{
ps->tertiary_colour = vehicle->colours_extended;
@ -97,7 +97,7 @@ static void paint_observation_tower_base(
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr);
uint32 imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_TRACK], height,
fenceSpritesMetalB, get_current_rotation());
@ -105,13 +105,13 @@ static void paint_observation_tower_base(
if (trackSequence == 0)
{
imageId = SPR_OBSERVATION_TOWER_SEGMENT_BASE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3);
imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32);
imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64);
paint_util_set_vertical_tunnel(session, height + 96);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -172,7 +172,7 @@ static void paint_observation_tower_section(
}
uint32 imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
const rct_tile_element * nextTileElement = tileElement + 1;
if (tile_element_is_last_for_tile(tileElement) || tileElement->clearance_height != nextTileElement->base_height)

View File

@ -73,7 +73,7 @@ static void paint_space_rings_structure(paint_session * session, Ride * ride, ui
}
uint32 imageId = (baseImageId + frameNum) | imageColourFlags;
sub_98197C(session, imageId, 0, 0, 20, 20, 23, height, -10, -10, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 20, 23, height, -10, -10, height);
if (vehicle != nullptr && vehicle->num_peeps > 0)
{
@ -116,12 +116,12 @@ static void paint_space_rings(
if (track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation()))
{
imageId = SPR_SPACE_RINGS_FENCE_SW | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 2);
}
if (track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation()))
{
imageId = SPR_SPACE_RINGS_FENCE_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 2);
}
break;
default:

View File

@ -71,7 +71,7 @@ static void spiral_slide_paint_tile_right(
if (direction == 3)
image_id = SPIRAL_SLIDE_RIGHT_R3 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 16, 16, 108, height, 16, 0, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 16, 16, 108, height, 16, 0, height + 3);
}
static void spiral_slide_paint_tile_left(
@ -93,7 +93,7 @@ static void spiral_slide_paint_tile_left(
if (direction == 3)
image_id = SPIRAL_SLIDE_LEFT_R3 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 16, 16, 108, height, 0, 16, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 16, 16, 108, height, 0, 16, height + 3);
}
static void spiral_slide_paint_tile_front(
@ -111,33 +111,33 @@ static void spiral_slide_paint_tile_front(
if (direction == 1)
{
image_id = SPIRAL_SLIDE_INSIDE_R1 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 2, 16, 108, height, -12, 0, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 2, 16, 108, height, -12, 0, height + 3);
}
else if (direction == 2)
{
image_id = SPIRAL_SLIDE_INSIDE_R2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 16, 2, 108, height, 0, -12, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 16, 2, 108, height, 0, -12, height + 3);
}
if (direction == 0)
{
image_id = SPIRAL_SLIDE_CENTRE_R0 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 16, 8, 108, height, 0, 8, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 16, 8, 108, height, 0, 8, height + 3);
}
else if (direction == 1)
{
image_id = SPIRAL_SLIDE_CENTRE_R1 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 2, 16, 108, height, 14, 0, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 2, 16, 108, height, 14, 0, height + 3);
}
else if (direction == 2)
{
image_id = SPIRAL_SLIDE_CENTRE_R2 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 16, 2, 108, height, 0, 14, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 16, 2, 108, height, 0, 14, height + 3);
}
else if (direction == 3)
{
image_id = SPIRAL_SLIDE_CENTRE_R3 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, image_id, 16, 16, 8, 16, 108, height, 8, 0, height + 3, get_current_rotation());
sub_98197C(session, image_id, 16, 16, 8, 16, 108, height, 8, 0, height + 3);
}
rct_drawpixelinfo * dpi = session->Unk140E9A8;
@ -226,7 +226,7 @@ static void paint_spiral_slide(
// Base
uint32 imageId = ((direction & 1) ? SPIRAL_SLIDE_BASE_B : SPIRAL_SLIDE_BASE_A) | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_TRACK], height,
spiral_slide_fence_sprites, get_current_rotation());

View File

@ -66,8 +66,9 @@ static void facility_paint_setup(
{
uint32 foundationImageId =
((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3];
sub_98197C(session, foundationImageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2,
direction == 0 ? 28 : 2, height, rotation);
sub_98197C(
session, foundationImageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2,
height);
// Door image or base
sub_98199C(session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2,
@ -76,20 +77,20 @@ static void facility_paint_setup(
else
{
// Door image or base
sub_98197C(session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2,
height, rotation);
sub_98197C(
session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height);
}
// Base image if door was drawn
if (direction == 1)
{
imageId += 2;
sub_98197C(session, imageId, 0, 0, 2, 28, 29, height, 28, 2, height, rotation);
sub_98197C(session, imageId, 0, 0, 2, 28, 29, height, 28, 2, height);
}
else if (direction == 2)
{
imageId += 4;
sub_98197C(session, imageId, 0, 0, 28, 2, 29, height, 2, 28, height, rotation);
sub_98197C(session, imageId, 0, 0, 28, 2, 29, height, 2, 28, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);

View File

@ -61,13 +61,13 @@ static void shop_paint_setup(
{
uint32 foundationImageId =
((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3];
sub_98197C(session, foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation());
sub_98197C(session, foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height);
sub_98199C(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation());
}
else
{
sub_98197C(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);

View File

@ -50,8 +50,7 @@ static void paint_3d_cinema_structure(paint_session * session, uint8 rideIndex,
}
uint32 imageId = (rideEntry->vehicles[0].base_image_id + direction) | imageColourFlags;
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3,
get_current_rotation());
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3);
session->CurrentlyDrawnItem = savedTileElement;
session->InteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;

View File

@ -59,7 +59,7 @@ static void paint_enterprise_structure(
}
uint32 imageId = (baseImageId + imageOffset) | imageColourFlags;
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height);
rct_drawpixelinfo * dpi = session->Unk140E9A8;

View File

@ -143,20 +143,20 @@ static void paint_go_karts_track_flat(
if (direction == 0 || direction == 2)
{
imageId = SPR_GO_KARTS_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height);
imageId = SPR_GO_KARTS_FLAT_FRONT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
else
{
imageId = SPR_GO_KARTS_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height);
imageId = SPR_GO_KARTS_FLAT_FRONT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
@ -182,21 +182,21 @@ static void paint_go_karts_track_25_deg_up(
imageId = go_karts_track_pieces_25_deg_up[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
ps = sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height);
}
else
{
ps = sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height);
}
imageId = go_karts_track_pieces_25_deg_up[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2);
}
session->WoodenSupportsPrependTo = ps;
@ -240,21 +240,21 @@ static void paint_go_karts_track_flat_to_25_deg_up(
imageId = go_karts_track_pieces_flat_to_25_deg_up[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
ps = sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height);
}
else
{
ps = sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height);
}
imageId = go_karts_track_pieces_flat_to_25_deg_up[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2);
}
session->WoodenSupportsPrependTo = ps;
@ -298,21 +298,21 @@ static void paint_go_karts_track_25_deg_up_to_flat(
imageId = go_karts_track_pieces_25_deg_up_to_flat[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
ps = sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height);
}
else
{
ps = sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height);
}
imageId = go_karts_track_pieces_25_deg_up_to_flat[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 29, height + 2);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 29, 0, height + 2);
}
session->WoodenSupportsPrependTo = ps;
@ -402,11 +402,11 @@ static void paint_go_karts_station(
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height);
}
else
{
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height);
}
if (direction == 0 || direction == 2)
@ -423,13 +423,13 @@ static void paint_go_karts_station(
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
if (direction == 0 || direction == 2)
{
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 29, height + 2);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
else
{
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 29, 0, height + 2);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
@ -454,34 +454,34 @@ static void paint_go_karts_station(
case 0:
imageId = (hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SW_NE : SPR_GO_KARTS_START_POLE_RED_SW_NE) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4);
imageId = (hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SW_NE : SPR_GO_KARTS_START_LIGHTS_RED_SW_NE) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4);
break;
case 1:
imageId = SPR_GO_KARTS_START_POLE_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 28, height + 4);
imageId = SPR_GO_KARTS_START_LIGHTS_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4);
break;
case 2:
imageId = SPR_GO_KARTS_START_POLE_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4);
imageId = SPR_GO_KARTS_START_LIGHTS_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 28, height + 4);
break;
case 3:
imageId = (hasGreenLight ? SPR_GO_KARTS_START_POLE_GREEN_SE_NW : SPR_GO_KARTS_START_POLE_RED_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 1, 1, height + 4);
imageId = (hasGreenLight ? SPR_GO_KARTS_START_LIGHTS_GREEN_SE_NW : SPR_GO_KARTS_START_LIGHTS_RED_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 13, height, 28, 1, height + 4);
break;
}
}
@ -507,40 +507,40 @@ static void paint_go_karts_track_left_quarter_turn_1_tile(
{
case 0:
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 1, height, 0, 2, height);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 1, 3, height, 29, 2, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 3, height, 29, 2, height + 2);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 16, 1, 3, height, 14, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 16, 1, 3, height, 14, 29, height + 2);
break;
case 1:
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 30, 30, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 30, 30, 1, height, 0, 0, height);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 16, 1, 3, height, 2, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 16, 1, 3, height, 2, 29, height + 2);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 16, 3, height, 29, 2, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 16, 3, height, 29, 2, height + 2);
break;
case 2:
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 1, height, 2, 0, height);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 1, 3, height, 2, 2, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 3, height, 2, 2, height + 2);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_B_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 16, 3, height, 29, 14, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 16, 3, height, 29, 14, height + 2);
break;
case 3:
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_SW_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
imageId = SPR_GO_KARTS_FLAT_QUARTER_TURN_1_TILE_EDGE_A_SW_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 1, 3, height, 29, 29, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 3, height, 29, 29, height + 2);
// The empty sprite isn't drawn
break;

View File

@ -47,11 +47,11 @@ void vehicle_visual_launched_freefall(paint_session * session, sint32 x, sint32
const uint8 rotation = get_current_rotation();
// Draw back:
image_id = (baseImage_id + 2) | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, rotation);
sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1);
// Draw front:
image_id = (baseImage_id + 1) | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98197C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
// Draw peeps:
if (session->Unk140E9A8->zoom_level < 2)
@ -108,7 +108,7 @@ static void paint_launched_freefall_base(
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr);
uint32 imageId = SPR_FLOOR_METAL | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_TRACK], height,
launched_freefall_fence_sprites, get_current_rotation());
@ -116,15 +116,15 @@ static void paint_launched_freefall_base(
if (trackSequence == 0)
{
imageId = SPR_LAUNCHED_FREEFALL_TOWER_BASE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3);
height += 32;
imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
height += 32;
imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
paint_util_set_vertical_tunnel(session, height + 32);
@ -182,7 +182,7 @@ static void paint_launched_freefall_tower_section(
}
uint32 imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
const rct_tile_element * nextTileElement = tileElement + 1;
if (tile_element_is_last_for_tile(tileElement) || tileElement->clearance_height != nextTileElement->base_height)

View File

@ -85,8 +85,9 @@ static void paint_magic_carpet_frame(paint_session * session, uint8 plane, uint8
imageId |= session->TrackColours[SCHEME_TRACK];
if (plane == PLANE_BACK)
{
sub_98197C(session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x,
bbOffset.y, bbOffset.z, get_current_rotation());
sub_98197C(
session, imageId, (sint8)offset.x, (sint8)offset.y, bbSize.x, bbSize.y, 127, offset.z, bbOffset.x, bbOffset.y,
bbOffset.z);
}
else
{

View File

@ -85,32 +85,32 @@ static void paint_motionsimulator_vehicle(
case 0:
// Simulator
imageId = simulatorImageId;
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ);
// Stairs
imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation);
// Stairs (rail)
imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ);
break;
case 1:
// Simulator
imageId = simulatorImageId;
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ);
// Stairs
imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ, currentRotation);
// Stairs (rail)
imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ);
break;
case 2:
// Stairs (rail)
imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY - 10, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY - 10, offsetZ);
// Stairs
imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ);
// Simulator
imageId = simulatorImageId;
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ, currentRotation);
@ -118,10 +118,10 @@ static void paint_motionsimulator_vehicle(
case 3:
// Stairs (rail)
imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX - 10, offsetY, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX - 10, offsetY, offsetZ);
// Stairs
imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation);
sub_98197C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ);
// Simulator
imageId = simulatorImageId;
sub_98199C(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ, currentRotation);

View File

@ -112,8 +112,9 @@ static void paint_pirate_ship_structure(paint_session * session, Ride * ride, ui
pirate_ship_bound_box bounds = pirate_ship_data[direction];
imageId = pirate_ship_frame_sprites[(direction & 1)][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,
bounds.offset_y, height, get_current_rotation());
sub_98197C(
session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y,
height);
imageId = baseImageId | imageColourFlags;
sub_98199C(session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x,

View File

@ -50,11 +50,11 @@ void vehicle_visual_roto_drop(paint_session * session, sint32 x, sint32 imageDir
const uint8 rotation = get_current_rotation();
// Draw back:
image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1, rotation);
sub_98197C(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1);
// Draw front:
image_id = (baseImage_id + 4) | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation);
sub_98197C(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1);
uint8 riding_peep_sprites[64];
memset(riding_peep_sprites, 0xFF, sizeof(riding_peep_sprites));
@ -108,7 +108,7 @@ static void paint_roto_drop_base(
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr);
uint32 imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_TRACK], height,
fenceSpritesMetalB, get_current_rotation());
@ -117,15 +117,15 @@ static void paint_roto_drop_base(
{
imageId =
(direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3);
imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32);
imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64);
paint_util_set_vertical_tunnel(session, height + 96);
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -187,7 +187,7 @@ static void paint_roto_drop_tower_section(
}
uint32 imageId = SPR_ROTO_DROP_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height);
const rct_tile_element * nextTileElement = tileElement + 1;
if (tile_element_is_last_for_tile(tileElement) || tileElement->clearance_height != nextTileElement->base_height)

View File

@ -105,15 +105,17 @@ static void paint_swinging_inverter_ship_structure(paint_session * session, Ride
if (direction & 2)
{
sub_98197C(session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height,
boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
sub_98197C(
session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
sub_98199C(session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height,
boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
}
else
{
sub_98197C(session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height,
boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
sub_98197C(
session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x,
boundBox.offset_y, height);
sub_98199C(session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height,
boundBox.offset_x, boundBox.offset_y, height, get_current_rotation());
}

View File

@ -101,8 +101,7 @@ static void top_spin_paint_vehicle(
image_id += rideEntry->vehicles[0].base_image_id;
// Left back bottom support
image_id += 572;
sub_98197C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ,
rotation);
sub_98197C(session, image_id, al, cl, lengthX, lengthY, 90, height, boundBoxOffsetX, boundBoxOffsetY, boundBoxOffsetZ);
image_id = session->TrackColours[SCHEME_MISC];
if (image_id == IMAGE_TYPE_REMAP)

View File

@ -63,8 +63,7 @@ static void paint_twist_structure(paint_session * session, Ride * ride, uint8 di
uint32 structureFrameNum = frameNum % 24;
uint32 imageId = (baseImageId + structureFrameNum) | imageColourFlags;
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height,
get_current_rotation());
sub_98197C(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height);
rct_drawpixelinfo * dpi = session->Unk140E9A8;
@ -114,12 +113,12 @@ static void paint_twist(
if (track_paint_util_has_fence(EDGE_SW, position, tileElement, ride, get_current_rotation()))
{
imageId = SPR_FENCE_ROPE_SW | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 3, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 3);
}
if (track_paint_util_has_fence(EDGE_SE, position, tileElement, ride, get_current_rotation()))
{
imageId = SPR_FENCE_ROPE_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3);
}
break;
default:

View File

@ -202,11 +202,11 @@ static void chairlift_paint_station_ne_sw(
if (!isStart && !isEnd)
{
imageId = ((direction == 0) ? SPR_20502 : SPR_20504) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
}
imageId = SPR_FLOOR_METAL | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
bool hasFence = track_paint_util_has_fence(EDGE_NW, pos, tileElement, ride, get_current_rotation());
if (hasFence)
@ -226,7 +226,7 @@ static void chairlift_paint_station_ne_sw(
if (hasFence)
{
imageId = SPR_FENCE_METAL_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 30, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 30, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_SE, hasFence, entranceStyle, direction, height);
@ -235,10 +235,10 @@ static void chairlift_paint_station_ne_sw(
if ((direction == 0 && isStart) || (direction == 2 && isEnd))
{
imageId = SPR_FENCE_METAL_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 28, 27, height, 30, 2, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 28, 27, height, 30, 2, height + 4);
imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_NE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
@ -248,7 +248,7 @@ static void chairlift_paint_station_ne_sw(
else if ((direction == 2 && isStart) || (direction == 0 && isEnd))
{
imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_SW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
@ -259,14 +259,13 @@ static void chairlift_paint_station_ne_sw(
if (drawBackColumn)
{
imageId = SPR_CHAIRLIFT_STATION_COLUMN_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 16, 1, 1, 7, height + 2, 1, 16, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 16, 1, 1, 7, height + 2, 1, 16, height + 2);
}
if (drawFrontColumn)
{
imageId = SPR_CHAIRLIFT_STATION_COLUMN_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 30, 16, 1, 1, 7, height + 2, 1, 16, height + 2,
get_current_rotation()); // bound offset x is wrong?
sub_98197C(session, imageId, 30, 16, 1, 1, 7, height + 2, 1, 16, height + 2); // bound offset x is wrong?
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -298,11 +297,11 @@ static void chairlift_paint_station_se_nw(
if (!isStart && !isEnd)
{
imageId = ((direction == 1) ? SPR_20503 : SPR_20505) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
}
imageId = SPR_FLOOR_METAL | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
bool hasFence = track_paint_util_has_fence(EDGE_NE, pos, tileElement, ride, get_current_rotation());
if (hasFence)
@ -322,7 +321,7 @@ static void chairlift_paint_station_se_nw(
if (hasFence)
{
imageId = SPR_FENCE_METAL_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 30, 0, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 30, 0, height + 2);
}
track_paint_util_draw_station_covers(session, EDGE_SW, hasFence, entranceStyle, direction, height);
@ -331,7 +330,7 @@ static void chairlift_paint_station_se_nw(
if ((direction == 1 && isStart) || (direction == 3 && isEnd))
{
imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_SE | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
@ -341,10 +340,10 @@ static void chairlift_paint_station_se_nw(
else if ((direction == 3 && isStart) || (direction == 1 && isEnd))
{
imageId = SPR_FENCE_METAL_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 1, 27, height, 2, 30, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 1, 27, height, 2, 30, height + 4);
imageId = chairlift_bullwheel_frames[ride->chairlift_bullwheel_rotation / 16384] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4);
imageId = SPR_CHAIRLIFT_STATION_END_CAP_NW | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 4, 4, 26, height, 14, 14, height + 4, get_current_rotation());
@ -355,14 +354,13 @@ static void chairlift_paint_station_se_nw(
if (drawLeftColumn)
{
imageId = SPR_CHAIRLIFT_STATION_COLUMN_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 16, 0, 1, 1, 7, height + 2, 16, 1, height + 2, get_current_rotation());
sub_98197C(session, imageId, 16, 0, 1, 1, 7, height + 2, 16, 1, height + 2);
}
if (drawRightColumn)
{
imageId = SPR_CHAIRLIFT_STATION_COLUMN_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 16, 30, 1, 1, 7, height + 2, 16, 1, height + 2,
get_current_rotation()); // bound offset x is wrong?
sub_98197C(session, imageId, 16, 30, 1, 1, 7, height + 2, 16, 1, height + 2); // bound offset x is wrong?
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
@ -402,13 +400,13 @@ static void chairlift_paint_flat(
if (direction & 1)
{
imageId = SPR_CHAIRLIFT_CABLE_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
}
else
{
imageId = SPR_CHAIRLIFT_CABLE_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
}
@ -431,25 +429,25 @@ static void chairlift_paint_25_deg_up(
{
case 0:
imageId = SPR_CHAIRLIFT_CABLE_UP_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
paint_util_push_tunnel_left(session, height - 8, TUNNEL_7);
break;
case 1:
imageId = SPR_CHAIRLIFT_CABLE_UP_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
paint_util_push_tunnel_right(session, height + 8, TUNNEL_8);
break;
case 2:
imageId = SPR_CHAIRLIFT_CABLE_UP_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
paint_util_push_tunnel_left(session, height + 8, TUNNEL_8);
break;
case 3:
imageId = SPR_CHAIRLIFT_CABLE_UP_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
paint_util_push_tunnel_right(session, height - 8, TUNNEL_7);
break;
}
@ -473,40 +471,40 @@ static void chairlift_paint_flat_to_25_deg_up(
{
case 0:
imageId = SPR_20508 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
imageId = SPR_20520 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
case 1:
imageId = SPR_20509 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
imageId = SPR_20521 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_right(session, height, TUNNEL_8);
break;
case 2:
imageId = SPR_20510 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
imageId = SPR_20522 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_left(session, height, TUNNEL_8);
break;
case 3:
imageId = SPR_20511 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
imageId = SPR_20523 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
break;
@ -532,40 +530,40 @@ static void chairlift_paint_25_deg_up_to_flat(
{
case 0:
imageId = SPR_20512 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
imageId = SPR_20524 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_left(session, height - 8, TUNNEL_6);
break;
case 1:
imageId = SPR_20513 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
imageId = SPR_20525 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_right(session, height + 8, TUNNEL_14);
break;
case 2:
imageId = SPR_20514 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 6, 2, height, 0, 13, height + 28);
imageId = SPR_20526 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_left(session, height + 8, TUNNEL_14);
break;
case 3:
imageId = SPR_20515 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 6, 32, 2, height, 13, 0, height + 28);
imageId = SPR_20527 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 4, 4, 25, height, 14, 14, height + 1);
paint_util_push_tunnel_right(session, height - 8, TUNNEL_6);
break;
@ -627,50 +625,50 @@ static void chairlift_paint_left_quarter_turn_1_tile(
{
case 0:
imageId = SPR_CHAIRLIFT_CORNER_NW_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 16, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 16, 0, height + 28);
imageId = SPR_20532 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 4, height);
imageId = SPR_20536 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 28, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 28, 4, height);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
case 1:
imageId = SPR_CHAIRLIFT_CORNER_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 0, 0, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 0, 0, height + 28);
imageId = SPR_20533 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 4, height);
imageId = SPR_20537 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 4, 16, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 4, 16, height);
break;
case 2:
imageId = SPR_CHAIRLIFT_CORNER_SE_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 0, 16, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 0, 16, height + 28);
imageId = SPR_20534 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 4, 16, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 4, 16, height);
imageId = SPR_20538 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 28, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 28, height);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
break;
case 3:
imageId = SPR_CHAIRLIFT_CORNER_SW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 16, 16, height + 28, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 16, 16, 2, height, 16, 16, height + 28);
imageId = SPR_20535 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 28, 16, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 28, 16, height);
imageId = SPR_20539 | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 28, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 27, height, 16, 28, height);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
paint_util_push_tunnel_right(session, height, TUNNEL_6);

View File

@ -46,10 +46,10 @@ static void paint_lift_cage(paint_session * session, sint8 index, uint32 colourF
uint32 imageId;
imageId = lift_cage_sprites[1 + index][0] | colourFlags;
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 2, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 2, 2, height);
imageId = lift_cage_sprites[1 + index][1] | colourFlags;
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 28, 28, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 2, 30, height, 28, 28, height);
}
/** rct2: 0x0076C6CC */
@ -88,7 +88,7 @@ static void paint_lift_base(
LocationXY16 position = session->MapPosition;
uint32 imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS];
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height);
track_paint_util_paint_fences(session, edges, position, tileElement, ride, session->TrackColours[SCHEME_TRACK], height,
fenceSpritesMetalB, get_current_rotation());

View File

@ -1312,7 +1312,7 @@ static void paint_miniature_railway_track_right_quarter_turn_3_tiles(
if (trackSequence == 1 && direction == 0)
{
uint32 imageId = SPR_G2_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_3 | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 8, 8, 2, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 8, 8, 2, height, 0, 0, height);
}
}
else
@ -1476,8 +1476,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag(
bounds = miniature_railway_track_pieces_right_eight_to_orthog_bounds[direction][index];
offset = miniature_railway_track_pieces_right_eight_to_orthog_offset[direction][index];
}
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height);
}
}
else
@ -1486,8 +1485,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag(
session->TrackColours[SCHEME_SUPPORTS];
LocationXY16 offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence];
LocationXYZ16 bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence];
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height);
sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence];
if (index >= 0)
@ -1621,8 +1619,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag(
bounds = miniature_railway_track_pieces_left_eight_to_orthog_bounds[direction][index];
offset = miniature_railway_track_pieces_left_eight_to_orthog_offset[direction][index];
}
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height);
}
}
else
@ -1631,8 +1628,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag(
session->TrackColours[SCHEME_SUPPORTS];
LocationXY16 offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence];
LocationXYZ16 bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence];
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height,
get_current_rotation());
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, (sint8)bounds.z, height, offset.x, offset.y, height);
sint8 index = paint_miniature_railway_eighth_to_diag_index[trackSequence];
if (index >= 0)
@ -1762,8 +1758,9 @@ static void miniature_railway_track_diag_flat(
if (isSupported)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height, get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
@ -1772,8 +1769,7 @@ static void miniature_railway_track_diag_flat(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
get_current_rotation());
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -1858,9 +1854,10 @@ static void miniature_railway_track_diag_25_deg_up(
static constexpr const sint8 offsetB[] = { +8, 0, +8, +8 };
if (hasSupports)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1], get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
@ -1869,8 +1866,9 @@ static void miniature_railway_track_diag_25_deg_up(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + offsetB[direction], get_current_rotation());
sub_98197C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + offsetB[direction]);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -1912,8 +1910,9 @@ static void miniature_railway_track_diag_flat_to_25_deg_up(
if (hasSupports)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height, get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
@ -1922,8 +1921,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
get_current_rotation());
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -1988,9 +1986,10 @@ static void miniature_railway_track_diag_25_deg_up_to_flat(
if (hasSupports)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1], get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
@ -1999,8 +1998,9 @@ static void miniature_railway_track_diag_25_deg_up_to_flat(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction], get_current_rotation());
sub_98197C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction]);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -2064,9 +2064,10 @@ static void miniature_railway_track_diag_25_deg_down(
if (hasSupports)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1], get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
@ -2075,8 +2076,9 @@ static void miniature_railway_track_diag_25_deg_down(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction], get_current_rotation());
sub_98197C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction]);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -2139,9 +2141,10 @@ static void miniature_railway_track_diag_flat_to_25_deg_down(
if (hasSupports)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1], get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y,
height + offsetsB[direction][trackSequence][1]);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
@ -2150,8 +2153,9 @@ static void miniature_railway_track_diag_flat_to_25_deg_down(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction], get_current_rotation());
sub_98197C(
session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16,
height + railOffsets[direction]);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);
@ -2191,8 +2195,9 @@ static void miniature_railway_track_diag_25_deg_down_to_flat(
if (hasSupports)
{
sub_98197C(session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height, get_current_rotation());
sub_98197C(
session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y,
(drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height);
if (drawRail)
{
sub_98199C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
@ -2201,8 +2206,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat(
}
else if (drawRail)
{
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height,
get_current_rotation());
sub_98197C(session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height);
}
paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0);

View File

@ -479,12 +479,12 @@ static void paint_monorail_station(
if (direction == 0 || direction == 2)
{
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height);
}
else if (direction == 1 || direction == 3)
{
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98197C(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height);
}
imageId = monorail_track_pieces_flat[direction] | session->TrackColours[SCHEME_TRACK];
@ -1058,7 +1058,7 @@ static void paint_monorail_track_left_eighth_to_diag(
uint32 imageId = ghost_train_track_pieces_left_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK];
const LocationXY16 offset = ghost_train_track_pieces_left_eight_to_diag_offset[direction][index];
const LocationXY16 bounds = ghost_train_track_pieces_left_eight_to_diag_bounds[direction][index];
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height);
}
switch (trackSequence)
@ -1126,7 +1126,7 @@ static void paint_monorail_track_right_eighth_to_diag(
uint32 imageId = ghost_train_track_pieces_right_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK];
const LocationXY16 offset = ghost_train_track_pieces_right_eight_to_diag_offset[direction][index];
const LocationXY16 bounds = ghost_train_track_pieces_right_eight_to_diag_bounds[direction][index];
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height);
}
switch (trackSequence)
@ -1234,7 +1234,7 @@ static void paint_monorail_track_diag_flat(
if (monorail_diag_image_segment[direction][trackSequence])
{
uint32 imageId = monorail_track_pieces_diag_flat[direction] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)
@ -1260,7 +1260,7 @@ static void paint_monorail_track_diag_25_deg_up(
if (monorail_diag_image_segment[direction][trackSequence])
{
uint32 imageId = monorail_track_pieces_diag_25_deg_up[direction] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)
@ -1286,7 +1286,7 @@ static void paint_monorail_track_diag_flat_to_25_deg_up(
if (monorail_diag_image_segment[direction][trackSequence])
{
uint32 imageId = monorail_track_pieces_diag_flat_to_25_deg_up[direction] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)
@ -1312,7 +1312,7 @@ static void paint_monorail_track_diag_25_deg_up_to_flat(
if (monorail_diag_image_segment[direction][trackSequence])
{
uint32 imageId = monorail_track_pieces_diag_25_deg_up_to_flat[direction] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)
@ -1338,7 +1338,7 @@ static void paint_monorail_track_diag_25_deg_down(
if (monorail_diag_image_segment[direction][trackSequence])
{
uint32 imageId = monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)
@ -1365,7 +1365,7 @@ static void paint_monorail_track_diag_flat_to_25_deg_down(
{
uint32 imageId =
monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)
@ -1392,7 +1392,7 @@ static void paint_monorail_track_diag_25_deg_down_to_flat(
{
uint32 imageId =
monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height, get_current_rotation());
sub_98197C(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height);
}
if (trackSequence == 3)

View File

@ -50,18 +50,18 @@ static void paint_boat_hire_track_flat(
if (direction & 1)
{
imageId = SPR_BOAT_HIRE_FLAT_BACK_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 4, 0, height);
imageId = SPR_BOAT_HIRE_FLAT_FRONT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 28, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 28, 0, height);
}
else
{
imageId = SPR_BOAT_HIRE_FLAT_BACK_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 4, height);
imageId = SPR_BOAT_HIRE_FLAT_FRONT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 28, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 28, height);
}
paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENT_D0 | SEGMENT_C4 | SEGMENT_CC, direction),
@ -113,31 +113,31 @@ static void paint_boat_hire_track_left_quarter_turn_1_tile(
{
case 0:
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_SW_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height);
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_SW_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2);
break;
case 1:
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height);
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2);
break;
case 2:
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height);
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2);
break;
case 3:
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_FRONT_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 3, 3, 3, height, 28, 28, height + 2);
imageId = SPR_BOAT_HIRE_FLAT_QUARTER_TURN_1_TILE_BACK_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 32, 0, height, 0, 0, height);
break;
}

View File

@ -228,8 +228,8 @@ void vehicle_visual_river_rapids(paint_session * session, sint32 x, sint32 image
const vehicle_boundbox * bb = &_riverRapidsBoundbox[j];
image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour);
sub_98197C(session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y,
bb->offset_z + z, rotation);
sub_98197C(
session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z);
if (session->Unk140E9A8->zoom_level < 2 && vehicle->num_peeps > 0)
{
@ -285,21 +285,21 @@ static void paint_river_rapids_track_flat(
{
imageId =
(direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17);
}
else
{
imageId =
(direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
@ -342,10 +342,10 @@ static void paint_river_rapids_track_25_deg(paint_session * session, uint8 direc
{
case 0:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height);
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16);
wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height - 8, TUNNEL_7);
@ -353,11 +353,11 @@ static void paint_river_rapids_track_25_deg(paint_session * session, uint8 direc
case 1:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
ps = sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height);
session->WoodenSupportsPrependTo = ps;
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16);
wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height + 8, TUNNEL_8);
@ -365,11 +365,11 @@ static void paint_river_rapids_track_25_deg(paint_session * session, uint8 direc
case 2:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
ps = sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height);
session->WoodenSupportsPrependTo = ps;
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 34, height, 0, 27, height + 16);
wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height + 8, TUNNEL_8);
@ -377,10 +377,10 @@ static void paint_river_rapids_track_25_deg(paint_session * session, uint8 direc
case 3:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height);
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 34, height, 27, 0, height + 16);
wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height - 8, TUNNEL_7);
@ -401,10 +401,10 @@ static void paint_river_rapids_track_25_deg_to_flat_a(paint_session * session, u
{
case 0:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height);
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16);
wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height - 8, TUNNEL_6);
@ -412,11 +412,11 @@ static void paint_river_rapids_track_25_deg_to_flat_a(paint_session * session, u
case 1:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
ps = sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height);
session->WoodenSupportsPrependTo = ps;
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16);
wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height + 8, TUNNEL_14);
@ -424,11 +424,11 @@ static void paint_river_rapids_track_25_deg_to_flat_a(paint_session * session, u
case 2:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
ps = sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 24, 4, height, 0, 4, height);
session->WoodenSupportsPrependTo = ps;
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 18, height, 0, 27, height + 16);
wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height + 8, TUNNEL_14);
@ -436,10 +436,10 @@ static void paint_river_rapids_track_25_deg_to_flat_a(paint_session * session, u
case 3:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 4, height, 4, 0, height);
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 18, height, 27, 0, height + 16);
wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height - 8, TUNNEL_6);
@ -460,10 +460,10 @@ static void paint_river_rapids_track_25_deg_to_flat_b(paint_session * session, u
{
case 0:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16);
wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
@ -471,11 +471,11 @@ static void paint_river_rapids_track_25_deg_to_flat_b(paint_session * session, u
case 1:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
ps = sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
session->WoodenSupportsPrependTo = ps;
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16);
wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height, TUNNEL_8);
@ -483,11 +483,11 @@ static void paint_river_rapids_track_25_deg_to_flat_b(paint_session * session, u
case 2:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
ps = sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
ps = sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
session->WoodenSupportsPrependTo = ps;
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height + 16);
wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_left(session, height, TUNNEL_8);
@ -495,10 +495,10 @@ static void paint_river_rapids_track_25_deg_to_flat_b(paint_session * session, u
case 3:
imageId = sprites[direction][0] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height + 16);
wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
@ -597,41 +597,41 @@ static void paint_river_rapids_track_left_quarter_turn_1_tile(
{
case 0:
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SW_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 26, 11, height, 4, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 26, 11, height, 4, 2, height);
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SW_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
case 1:
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 0, 0, height);
imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13);
imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13);
break;
case 2:
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 26, 28, 11, height, 2, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 26, 28, 11, height, 2, 4, height);
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_NE_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 2, 7, height, 27, 28, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 2, 7, height, 27, 28, height + 13);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
break;
case 3:
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 4, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 4, 4, height);
imageId = SPR_RIVER_RAPIDS_LEFT_QUARTER_TURN_1_TILE_FRONT_SE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
@ -658,10 +658,10 @@ static void paint_river_rapids_track_right_quarter_turn_1_tile(
{
case 0:
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 4, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 4, 4, height);
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 1, 7, height, 28, 28, height + 13);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
@ -669,31 +669,31 @@ static void paint_river_rapids_track_right_quarter_turn_1_tile(
case 1:
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_SE_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 26, 11, height, 4, 2, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 26, 11, height, 4, 2, height);
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_SE_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 2, 1, 7, height, 28, 27, height + 13);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
break;
case 2:
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 0, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 28, 28, 11, height, 0, 0, height);
imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_LEFT_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 30, 7, height, 27, 1, height + 13);
imageId = SPR_RIVER_RAPIDS_QUARTER_TURN_1_TILE_FRONT_RIGHT_NW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 30, 1, 7, height, 1, 27, height + 13);
break;
case 3:
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_NW_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 26, 28, 11, height, 2, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 26, 28, 11, height, 2, 4, height);
imageId = SPR_RIVER_RAPIDS_RIGHT_QUARTER_TURN_1_TILE_FRONT_NW_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 28, 7, height, 27, 2, height + 13, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 28, 7, height, 27, 2, height + 13);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
break;
@ -721,17 +721,17 @@ static void paint_river_rapids_track_waterfall(
{
imageId = (direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 4, 0, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 4, 0, height + 17);
imageId = (direction == 1 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_NW_SE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SW_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 1, 32, 27, height, 27, 0, height + 17, get_current_rotation());
@ -740,17 +740,17 @@ static void paint_river_rapids_track_waterfall(
{
imageId = (direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_NE_SW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_BASE_NW_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
imageId = (SPR_RIVER_RAPIDS_WATERFALL_TOP_NW_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 4, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 4, height + 17);
imageId = (direction == 0 ? SPR_RIVER_RAPIDS_WATERFALL_FRONT_SW_NE : SPR_RIVER_RAPIDS_WATERFALL_FRONT_NE_SW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17);
imageId = (SPR_RIVER_RAPIDS_WATERFALL_SIDE_SE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 1, 27, height, 0, 27, height + 17, get_current_rotation());
@ -787,18 +787,18 @@ static void paint_river_rapids_track_rapids(
if (direction & 1)
{
imageId = (SPR_RIVER_RAPIDS_RAPIDS_NW_SE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = SPR_RIVER_RAPIDS_RAPIDS_FRONT_NW_SE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 27, 0, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 11, height, 27, 0, height + 17);
}
else
{
imageId = (SPR_RIVER_RAPIDS_RAPIDS_SW_NE_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = SPR_RIVER_RAPIDS_RAPIDS_FRONT_SW_NE | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 27, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 11, height, 0, 27, height + 17);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
@ -847,27 +847,27 @@ static void paint_river_rapids_track_whirlpool(
{
imageId =
(direction == 1 ? SPR_RIVER_RAPIDS_FLAT_NW_SE : SPR_RIVER_RAPIDS_FLAT_SE_NW) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height);
imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 24, 32, 11, height, 4, 0, height, get_current_rotation());
imageId = (direction == 1 ? SPR_RIVER_RAPIDS_FLAT_FRONT_NW_SE : SPR_RIVER_RAPIDS_FLAT_FRONT_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 3, height, 27, 0, height + 17);
}
else
{
imageId =
(direction == 0 ? SPR_RIVER_RAPIDS_FLAT_SW_NE : SPR_RIVER_RAPIDS_FLAT_NE_SW) | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height);
imageId = (SPR_RIVER_RAPIDS_RAPIDS_WHIRLPOOL_FRAME_0 + frameNum) | session->TrackColours[SCHEME_TRACK];
sub_98199C(session, imageId, 0, 0, 32, 24, 11, height, 0, 4, height, get_current_rotation());
imageId = (direction == 0 ? SPR_RIVER_RAPIDS_FLAT_FRONT_SW_NE : SPR_RIVER_RAPIDS_FLAT_FRONT_NE_SW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 3, height, 0, 27, height + 17);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);

View File

@ -803,21 +803,21 @@ static void paint_splash_boats_track_flat(
{
imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 2, height, 6, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 2, height, 6, 0, height);
imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE : SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height);
}
else
{
imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 2, height, 0, 6, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 2, height, 0, 6, height);
imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE : SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW) |
session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height);
}
wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr);
@ -850,7 +850,7 @@ static void paint_splash_boats_station(
{
uint32 imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) |
session->TrackColours[SCHEME_TRACK];
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);
imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);
@ -859,7 +859,7 @@ static void paint_splash_boats_station(
{
uint32 imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) |
session->TrackColours[SCHEME_TRACK];
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);
imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC];
sub_98196C(session, imageId, 0, 0, 32, 32, 1, height);

View File

@ -61,8 +61,8 @@ void vehicle_visual_submarine(paint_session * session, sint32 x, sint32 imageDir
image_id =
baseImage_id | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) | IMAGE_TYPE_REMAP_2_PLUS;
paint_struct * ps = sub_98197C(session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y,
bb.offset_z + z, get_current_rotation());
paint_struct * ps = sub_98197C(
session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z);
if (ps != nullptr)
{
ps->tertiary_colour = vehicle->colours_extended;
@ -70,8 +70,7 @@ void vehicle_visual_submarine(paint_session * session, sint32 x, sint32 imageDir
image_id = (baseImage_id + 1) | (vehicle->colours.body_colour << 19) | (vehicle->colours.trim_colour << 24) |
IMAGE_TYPE_REMAP_2_PLUS;
ps = sub_98197C(session, image_id, 0, 0, bb.length_x, bb.length_y, 2, z, bb.offset_x, bb.offset_y, bb.offset_z + z - 10,
get_current_rotation());
ps = sub_98197C(session, image_id, 0, 0, bb.length_x, bb.length_y, 2, z, bb.offset_x, bb.offset_y, bb.offset_z + z - 10);
if (ps != nullptr)
{
ps->tertiary_colour = vehicle->colours_extended;
@ -98,7 +97,7 @@ static void submarine_ride_paint_track_station(
if (direction & 1)
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower);
paint_util_push_tunnel_right(session, height, TUNNEL_6);
track_paint_util_draw_pier(session, ride, entranceStyle, position, direction, height, tileElement,
@ -107,7 +106,7 @@ static void submarine_ride_paint_track_station(
else
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower);
paint_util_push_tunnel_left(session, height, TUNNEL_6);
track_paint_util_draw_pier(session, ride, entranceStyle, position, direction, height, tileElement,
@ -133,13 +132,13 @@ static void submarine_ride_paint_track_flat(
if (direction & 1)
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower);
paint_util_push_tunnel_right(session, heightLower, TUNNEL_0);
}
else
{
imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK];
sub_98197C(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower, get_current_rotation());
sub_98197C(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower);
paint_util_push_tunnel_left(session, heightLower, TUNNEL_0);
}